2026年c语言编程练习题及答案(最新).docxVIP

  • 0
  • 0
  • 约6.7千字
  • 约 13页
  • 2026-01-31 发布于河南
  • 举报

2026年c语言编程练习题及答案(最新).docx

2026年c语言编程练习题

第一部分单选题(50题)

1、函数返回值的类型与return语句中表达式类型不一致时,会?()

A.编译错误

B.自动强制转换为函数返回类型

C.程序崩溃

D.无影响

【答案】:答案解析:编译器会将return表达式类型强制转换为函数返回类型(可能丢失精度),不报错,故选B。

2、若inta=3;执行a+=aa;后a的值是?()

A.12

B.6

C.9

D.15

【答案】:答案解析:优先级先乘后加,a+=aa等价于a=a+(aa)=3+(33)=12,故选A。

3、表示“x大于5且小于10”的合法C语言表达式是?()

A.5x10

B.x5||x10

C.x5x10

D.x5x10

【答案】:答案解析:逻辑与用,逻辑或用||,A是连续比较语法错误,是按位与,故选C。

4、若inta=10,b=20,*p=a,q=b;执行p=q;后p的值是?()

A.10

B.20

C.a

D.b

【答案】:答案解析:p=q使p指向b,*p=b=20,故选B。

5、若charstr[]=Clanguage;则字符串长度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:字符串长度以\0结束,Clanguage含10个字符(不含\0),故选A。

6、以下函数递归调用的例子是?()

A.计算阶乘

B.循环输出数字

C.数组遍历

D.变量交换

【答案】:答案解析:阶乘常用递归实现(n!=n*(n-1)!),B、C、D用循环更高效,故选A。

7、以下二维数组定义正确的是?()

A.inta[2][3];

B.inta[2][];

C.inta[][3]={1,2,3,4,5,6};

D.inta[2][3]={1,2,3,4,5,6,7};

【答案】:答案解析:B第二维不能省略,C第一维可省略(自动计算为2),D初始化元素超6个(2×3=6),A标准定义正确,故选A。

8、以下哪个是C语言的循环语句?()

A.if

B.for

C.else

D.switch

【答案】:答案解析:C语言循环语句包括for、while、do-while,if/else是选择语句,switch是多分支选择语句,故选B。

9、若inti=3;执行do{printf(%d,i);i--;}while(i=1);输出结果是?()

A.321

B.123

C.3210

D.无输出

【答案】:答案解析:do-while先执行,i从3减到1,输出321,故选A。

10、以下switch语句中,default的执行时机是?()

A.所有case都不匹配时

B.第一个case不匹配时

C.最后一个case不匹配时

D.任何时候

【答案】:答案解析:default仅在所有case都不匹配时执行,故选A。

11、若inta=4,b=6;则表达式ab?a+b:a-b的结果是?()

A.10

B.-2

C.4

D.6

【答案】:答案解析:ab为真,取a+b=4+6=10,故选A。

12、以下switch语句语法错误的是?()

A.switch(x){case1:printf(1);break;}

B.switch(x){casea:printf(a);break;}

C.switch(x){case1.5:printf(1.5);break;}

D.switch(x){default:printf(0);}

【答案】:答案解析:case后必须是整型常量,1.5是浮点型,语法错误,故选C。

13、若inta[3][2]={{1,2},{3,4},{5,6}};则a[2][1]的值是?()

A.5

B.6

C.3

D.4

【答案】:答案解析:a[2][1]是第三行第二列,值为6,故选B。

14、二维数组a[2][3]在内存中存储的顺序是?()

A.a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2]

B.a[0][0],a[1][0],a[0][1],a[1][1],a[0][2],a[1][2]

C.随机顺序

D.按列存储

【答案】:答案解析:二维数组按行优先连续存储,顺序为第一行所有元素,再第二行,故选A。

15、指针与字符串的关系,以下说法正确的是?()

A.字符串常量是字符数组,数组名是指针

B.字符串可通过指针遍历

C.字符指针可指向字符串常量

D.以上都正确

【答案】:答案解析:A、B、C均是指针与字符串的基本关系,故选D。

16、若inta=7;执行if(a%3==1)printf(A);elseif(a%3==2)printf(B);elseprintf(C);输出结果是?(

文档评论(0)

1亿VIP精品文档

相关文档