C语言入门题10

合集下载

C语言基础题及答案

C语言基础题及答案

C语言基础题及答案1、一个C语言的源程序中[正确答案:A]。

A)必须有一个主函数B)可以有多个主函数C)必须有主函数和其他函数D)可以没有主函数2、关于C程序的主函数,以下描述中正确的是[正确答案:B]。

A)C程序的第一个函数称为主函数,程序从该函数开始运行。

B)C程序的主函数即是main函数,程序从该函数开始运行。

C)C程序可以有多个主函数,程序从第一个主函数开始运行。

D)C程序可以没有主函数,程序从第一个函数开始运行。

3、C程序中,return语句的作用是[正确答案:D]。

A)终止程序运行B)返回到上层循环C)返回到外层结构D)返回到上层函数4、C语言程序的3种基本结构是[正确答案:A]。

A)顺序结构,选择结构,循环结构B)递归结构,循环结构,转移结构C)嵌套结构,递归结构,顺序结构D)循环结构,转移结构,顺序结构5、以下对C程序的描述中正确的是[正确答案:A]。

A)C程序总是从main()函数开始执行。

B)C程序可以从程序中的任何函数开始执行。

C)C程序总是从第一个定义的函数开始执行。

D)C程序中的main()函数必须放在程序的开始部分。

6、关于C程序第1行的包含语句,以下写法中正确的是[正确答案:D]。

A)#include stdio.h B)#include'stdio.h'C)#include(stdio.h)D)#include<stdio.h>7、关于C语言程序,正确的编程流程应该是[正确答案:A]。

A)编辑→保存→编译→运行B)编译→编辑→运行→保存C)保存→运行→编辑→编译D)运行→编译→保存→编辑8、下列的哪个不是C语言的关键字[正确答案:D]。

A)while B)auto C)break D)printf9、下列的哪个不是C语言的算术运算符[正确答案:C]。

A)+B)%C)=D)-10、下列的哪个不是C语言的关系运算符[正确答案:C]。

A)>=B)<=C)=D)!=11、下列的哪个是错误的描述[正确答案:D]。

c语言初级考试题及答案

c语言初级考试题及答案

c语言初级考试题及答案1. 以下哪个选项是C语言中的关键字?A. intB. floatC. stringD. integer答案:A2. C语言中,用于定义一个整型变量的关键字是什么?A. varB. intC. integerD. float答案:B3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. =D. <=答案:A4. 在C语言中,如何定义一个名为“sum”的函数,该函数接收两个整型参数并返回它们的和?A. int sum(int a, int b) { return a + b; }B. int sum(int a, int b) { return a - b; }C. int sum(float a, float b) { return a + b; }D. float sum(int a, int b) { return a + b; }答案:A5. C语言中,以下哪个选项是正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. //* This is a single line commentD. /* This is a single line comment */答案:A6. 在C语言中,以下哪个选项是正确的字符串字面量表示方法?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World"D. 'Hello, World'答案:A7. 以下哪个选项是C语言中的正确数组声明?A. int numbers[5] = {1, 2, 3, 4, 5};B. int numbers[] = {1, 2, 3, 4, 5};C. int numbers[5] = {1, 2, 3};D. int numbers = {1, 2, 3, 4, 5};答案:A8. 在C语言中,以下哪个语句用于在循环中终止循环?A. break;B. continue;C. exit;D. return;答案:A9. C语言中,以下哪个函数用于将字符串连接到另一个字符串?A. strcatB. strcpyC. sprintfD. printf答案:A10. 在C语言中,以下哪个函数用于将一个整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:B。

C语言入门试题及答案

C语言入门试题及答案

C语言入门试题及答案1.int a;()A、声明一个整型变量a。

(正确答案)B、声明一个实型变量a。

2.float b;()A、声明一个实型变量b。

(正确答案)B、声明一个整型变量b。

3.char c;()A、声明一个字符型的变量c。

(正确答案)B、声明一个整型的变量c。

4.int a=66;()A、声明一个整型的变量a,并给它赋值为66。

(正确答案)B、声明a等于66。

5.float b=2.5;()A、声明一个实型的变量b并给它赋值2.5。

(正确答案)B、声明b等于2.56.char c='m';()A、上面一个字符型的变量,c给它赋值m。

(正确答案)B、声明c等于m7.int i,j,k;()A、声明三个整型的变量分别是ijk。

(正确答案)B、声明三个实型的变量分别是ijk。

8.scanf("%d",&a);()A、从键盘输入一个值,赋给整形变量a(正确答案)B、打印整型变量a的值9.printf("%d",a);()A、按整型的格式输出变量a。

(正确答案)B、从键盘输入一个值,赋值给a10.scanf("%d%d",&a,&b);()A、从键盘输入两个值,依次赋给整形变量a和b。

(正确答案)B、输出两个整形变量ab。

11.printf("%d,%d",a,b);()A、输出两个整形变量ab。

(正确答案)B、从键盘输入两个值,依次赋给整形变量a和b。

12.scanf("%d%f",&a,&b);()A、从键盘输入两个值,第一个赋给整型变量a,第二个赋给浮点型变量b。

(正确答案)B、输出两个变量,一个是整形变量,a一个是实型变量b。

13.printf("%d,%f",a,b);()A、输出两个变量,一个是整型变量,a一个是实型变量b。

C语言初学者练习题目10条

C语言初学者练习题目10条

C语言初学者练习题目10条1. 关于C语言初学者练习题目10条在学习编程语言的过程中,练习题目是一个重要的环节,可以帮助初学者巩固基本知识和提升解决问题的能力。

本文将介绍10个适合C语言初学者的练习题目,并分析每个题目的解题思路。

题目一:输出Hello, World!这是C语言中最基础的练习题目,通过编写一个简单的程序来输出"Hello, World!",帮助初学者熟悉C语言的基本语法和编译运行过程。

题目二:计算两个整数之和编写一个程序,接收用户输入的两个整数,并输出它们的和。

这个练习可以让初学者熟悉C语言的基本输入输出操作和基本的数学运算。

题目三:判断一个数是否为素数编写一个程序,接收用户输入的一个整数,并判断该数是否为素数。

这个练习可以让初学者熟悉使用循环和条件语句进行判断,并学习如何优化算法以提高判断效率。

题目四:计算数组元素的平均值编写一个程序,接收用户输入的一个整型数组,并计算出数组元素的平均值。

这个练习可以让初学者熟悉数组的基本使用和循环的结合运用。

题目五:查找数组中的最大值和最小值编写一个程序,接收用户输入的一个整型数组,并找出数组中的最大值和最小值。

这个练习可以让初学者学习如何定义和使用函数,并加深对数组的理解。

题目六:实现简单的字符串翻转编写一个程序,接收用户输入的一个字符串,并将其翻转输出。

这个练习可以让初学者学习如何处理字符串类型的数据,并锻炼对数组和循环的综合运用能力。

题目七:实现简单的冒泡排序编写一个程序,接收用户输入的一个整型数组,并使用冒泡排序算法对数组进行排序。

这个练习可以让初学者深入理解冒泡排序算法的原理,并学习如何进行数组的元素交换。

题目八:实现简单的查找算法编写一个程序,接收用户输入的一个整型数组和一个目标值,在数组中查找目标值并输出其下标。

这个练习可以让初学者学习不同查找算法的实现原理,并熟悉如何使用循环进行遍历操作。

题目九:实现简单的递归算法编写一个程序,使用递归算法计算斐波那契数列的第n项值,并将其输出。

计算机系C语言编程10题及答案

计算机系C语言编程10题及答案

计算机系C语言编程10题及答案1)/* 输入10个数,分别统计其中正数、负数、零的个数。

*/#include "stdio.h"#define N 10main(){int i,zsum=0,fsum=0,lsum=0;float x;for(i=1;i<=N;i++){printf("请输入第%d个数:",i);scanf("%f",&x);if(x>0)zsum++;else if(x==0)lsum++;elsefsum++;}printf("有%d个正数,%d个负数,%d个零",zsum,fsum,lsum);}2)/* 先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。

(设N为100)*/ #include "stdio.h"#include "stdlib.h"#include "time.h"#define N 100main(){int i,x;randomize();for(i=1;i<=N;i++){x=random(900)+100;printf("%d\t",x);if(x%3==0&&x%5==0&&x%7==0)printf("\n*%d*\n",x);}}3)/* 计算:1/2-2/3+3/4-4/5……,前100项和*/#include "stdio.h"main(){int i,t=1;float sum=0;for(i=1;i<=100;i++){sum=sum+(t*i*1.0)/(i+1);t=-t;}printf("%f",sum);}4)/* 打印出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其各位数字立方之和等于该数本身*/#include "stdio.h"#include "math.h"main(){int i,gw,sw,bw;for(i=100;i<=999;i++)gw=i%10;sw=i/10%10;bw=i/100%10;if(i==pow(gw,3)+pow(sw,3)+pow(bw,3))printf("%d\n",i);}}5)/* 把100~200之间的不能被3整除的数输出。

明解C语言入门篇第十章答案

明解C语言入门篇第十章答案

明解C语⾔⼊门篇第⼗章答案练习10-1#include <stdio.h>void adjust_point(int*n) {if (*n > 100)*n = 100;if (*n < 0)*n = 0;}int main() {int x;printf("请输⼊⼀个数:");scanf("%d", &x);adjust_point(&x);printf("修改后的值是%d",x);}练习10-2void decrement_date(int* y, int* m, int* d) {*d -= 1;if (*d == 0) {*m -= 1;if (*m == 1 || *m == 3 || *m == 5 || *m == 7 || *m == 10 || *m == 8 ||* m == 0) {*d = 31;}if (*m == 2) {*d = 28;if (*y % 4 == 0) {*d = 29;}}else*d = 30;if (*m == 0) {*m = 12;*y -= 1;}}}void increment_date(int* y, int* m, int* d) {*d += 1;if ((*m == 1 || *m == 3 || *m == 5 || *m == 7 || *m == 10 || *m == 8 || *m == 12) && (*d == 32)) {*d = 1;*m += 1;}if ((*m == 4 || *m == 6 || *m == 9 || *m == 11 ) && (*d == 31)) {*d = 1;*m += 1;}if (*m == 2) {if (*d == 29&& ((*y & 4) != 0)) {*d = 1;}if (*d == 30 && ((*y & 4) == 0)) {*d = 1;*m += 1;}}if (*m == 13) {*y += 1;*m = 1;}}练习10-3#include<stdio.h>void swap(int* px, int*py) {int temp = *px;*px = *py;*py = temp;}void sort3(int*n1, int*n2, int*n3) {if (*n1 > *n2) {swap(n1, n2);}if (*n1 > * n3) {swap(n1, n3);}if (*n2 > * n3) {swap(n2, n3);}}int main(void) {int n1, n2, n3;printf("n1=");scanf("%d", &n1);printf("n2=");scanf("%d", &n2);printf("n3=");scanf("%d", &n3);putchar('\n');sort3(&n1, &n2, &n3);printf("%d,%d,%d", n1, n2, n3); }练习10-4#include <stdio.h>#define number 5void set_idx(int*v, int n) {int i = 0;for (i = 0; i < n; i++) {*(v + i) = i;}}int main() {int i;set_idx(x, number);for (i = 0; i < number; i++) {printf("x[%d]=%d", i,x[i] );putchar('\n');}}练习10-5会报错数组中元素会溢出,因为直接从v【2】开始赋值。

c语言基础试题库及答案

c语言基础试题库及答案

c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。

答案:int2. 在C语言中,________关键字用于定义一个指针。

答案:*3. C语言中,________关键字用于定义一个函数。

答案:int4. 在C语言中,________运算符用于求两个数的和。

答案:+5. C语言中,________运算符用于判断两个数是否相等。

答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。

答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。

函数调用则是通过函数名和参数列表来调用已定义的函数。

2. 解释C语言中指针的概念及其用途。

答案:指针是一种变量,它存储了另一个变量的内存地址。

指针常用于动态内存分配、数组处理和函数参数传递。

四、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。

十分基础的c语言考试题及答案

十分基础的c语言考试题及答案

十分基础的c语言考试题及答案1. 写出C语言中定义一个结构体的语法。

答案:在C语言中,定义一个结构体的语法如下:```cstruct 结构体名 {类型成员1;类型成员2;...类型成员n;};```其中,`类型`可以是任意合法的数据类型,`成员1`到`成员n`是结构体的成员变量。

2. 如何在C语言中声明一个函数?答案:在C语言中,声明一个函数的语法如下:```c返回类型函数名(参数类型1 参数名1, 参数类型2 参数名2, ...); ```其中,`返回类型`是函数执行完毕后返回的数据类型,`函数名`是函数的标识符,`参数类型`和`参数名`分别表示函数参数的类型和名称。

3. 请写出C语言中数组的声明方式。

答案:在C语言中,数组的声明方式如下:```c类型数组名[数组大小];```或者```c类型数组名[] = {初值1, 初值2, ..., 初值n};```其中,`类型`是数组元素的数据类型,`数组名`是数组的标识符,`数组大小`是数组中元素的数量,`初值1`到`初值n`是数组的初始值。

4. 解释C语言中的指针是什么。

答案:C语言中的指针是一种变量,它存储了另一个变量的内存地址。

指针可以用于访问和操作内存中的数据,提高程序的效率和灵活性。

5. 如何在C语言中使用条件语句?答案:在C语言中,使用条件语句的语法如下:```cif (条件表达式) {// 当条件表达式为真时执行的代码} else {// 当条件表达式为假时执行的代码}```其中,`条件表达式`是一个返回布尔值的表达式,如果表达式的值为真(非零),则执行`if`块内的代码;否则,执行`else`块内的代码。

6. 请写出C语言中循环结构的语法。

答案:C语言中有两种基本的循环结构:`for`循环和`while`循环。

`for`循环的语法如下:```cfor (初始化表达式; 循环条件; 步进表达式) {// 循环体}````while`循环的语法如下:```cwhile (循环条件) {// 循环体}```其中,`初始化表达式`用于初始化循环变量,`循环条件`是一个返回布尔值的表达式,`步进表达式`用于更新循环变量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验十指针
一、实验目的
1、进一步理解指针概念。

2、掌握指针变量的定义、初始化以及通过指针变量对数据的访问。

3、掌握指针与一维数组的关系。

二、实验要求
1、实验内容1,分析程序结果,通过实验仔细理解指针的含义(本题数组是为
了提供一块有确定数值的数据空间,便于观察),完成思考题。

2、实验内容2,实验前应编制源程序、准备测试数据。

3、在Turbo C下完成程序的编辑、编译、运行。

三、实验内容、实验步骤、过程
编程实现:求三个数最大值
方法一:
main()
{
int a,b,c;
int*p;
scanf(“%d%d%d”,&a,&b,&c);
p=&a;
if(b>*p)
p=&b;
if(c>*p)
p=&c;
printf(“max=%d\n”,*p);
}
方法二:用函数实现
方法三、四:用数组存放三个数,然后分别不用函数、用函数实现。

四、实验出现的问题、实验结果分析
1、编辑、编译、运行程序题1。

(1)观察指针变量值的变化规律以及指针变量指向的数据。

提示:地址值,从小到大,相差2-一个整数占用两个字节。

地址用10进制输出太难看!
(2)改指针变量值的输出格式,即把程序中的“printf("address=%d\t",p);”改为:“printf("address=%x\t",p);”,重新运行程序,观察结果。

这样是否更清楚,哦,16位地址值。

从小到大,相差2-一个整数占用两个字节。

(3)最后一行数据是哪个单元的数据?画一张图看看!。

提示:是数组a最后一个单元下面的一个单元,它是一个随机数。

可以读取这个单元,就像程序最后一行“printf("%d\n",*p);”,但千万别向这个单元写数据!
如*p=10;这个空间不知道被谁用的。

(4)将程序中所有int换成float,数据输出格式改为%f,观察指针变量值的变化规律,这次相邻地址值相差多少?理解指针类型的含义了吗?指针++是指针地址值+1吗?
提示:相差4。

指针++即指针指向下面一个同类型的数据,由于指针类型为float,指向下一个数据,地址值应该增加4。

(5)只将程序中float*p;改为int*p;编译出现什么警告?
提示:指针类型不合适,用整型指针指向了浮点类型数据(浮点类型的数组元素),可见指针的类型应该是指向数据的类型一致。

指针类型有时称为基类型,即指向数据的类型。

五、实验小结和思考
1、假设int*p1;float*p2;那么p1=p1+5,p2=p2+5分别是什么含义?赋值后p1、p2存放的地址值分别增加了多少?
2假设float*p;请问p,*p,&p分别代表什么?画图表示。

3假设p是一个指针变量,指针变量p为什么必须初始化后,才可以用*p访问?
画图表示。

4两个程序对指针的初始化分别用哪条语句完成?。

相关文档
最新文档