c语言试题期末(含答案).docxVIP

  • 0
  • 0
  • 约6.64千字
  • 约 13页
  • 2026-01-30 发布于山东
  • 举报

c语言试题期末

第一部分单选题(50题)

1、若inti=0,s=0;执行do{s+=i;i++;}while(i5);后s的值是?()

A.10

B.15

C.5

D.0

【答案】:答案解析:do-while累加0+1+2+3+4=10,s=10,故选A。

2、以下数组定义中,长度为5的是?()

A.inta[5];

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

C.charstr[]=abcd;

D.以上都是

【答案】:答案解析:A长度5,B长度5,C字符串abcd含\0共5个字符,故选D。

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

A.0

B.3

C.随机值

D.无定义

【答案】:答案解析:初始化时未赋值的元素默认为0,a[3]=0,故选A。

4、若inta=7,*p=a;执行++*p;后a的值是?()

A.7

B.8

C.a

D.无定义

【答案】:答案解析:++*p等价于++(*p),先解引用取a的值,再加1(a=8),故选B。

5、若inti=0,s=0;执行while(i=3){s+=i2;i++;}后s的值是?()

A.12

B.6

C.8

D.10

【答案】:答案解析:累加02+12+22+3*2=0+2+4+6=12,s=12,故选A。

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

A.1

B.无输出

C.无限循环

D.12

【答案】:答案解析:do-while先执行一次(输出1,i=2),再判断i=0为假,循环结束,故选A。

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

A.10

B.11

C.12

D.13

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

8、数组作为函数参数时,函数中修改数组元素会影响主调函数中的数组吗?()

A.会(指针传递)

B.不会(值传递)

C.取决于数组长度

D.不确定

【答案】:答案解析:数组名传参是指针传递,函数中通过指针修改元素会同步到主调函数数组,故选A。

9、以下if-else语句的语法错误是?()

A.if(x0)printf(a);elseprintf(b);

B.if(x0){printf(a);}else{printf(b);}

C.if(x0)printf(a);else;printf(b);

D.if(x0){printf(a);}elseprintf(b);

【答案】:答案解析:else后不能直接加分号(否则else无作用),C中else;后printf独立执行,故选C。

10、以下函数声明正确的是?()

A.voidfun();

B.voidfun(inta);

C.intfun(int);

D.以上都正确

【答案】:答案解析:函数声明可省略形参名(只留类型),A、B、C均符合语法,故选D。

11、以下if语句语法正确的是?()

A.if(x0)printf(yes);

B.ifx0printf(yes);

C.if(x0);printf(yes);

D.if(x0){printf(yes)}

【答案】:答案解析:if后条件需加括号,B缺少括号,C分号导致语句结束,D缺少分号,故选A。

12、若int*p=(int)malloc(sizeof(int));则p的值是?()

A.0

B.随机值

C.1

D.无定义

【答案】:答案解析:malloc分配的内存未初始化,值为随机值,故选B。

13、以下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。

14、以下关于main函数的说法正确的是?()

A.main函数可无返回值

B.main函数可带参数

C.main函数是程序入口

D.以上都正确

【答案】:答案解析:main函数可声明为void(无返回值),可带argc/argv参数,是程序唯一入口,故选D。

15、若inti=0;执行for(i=0;i5;i++){printf(%d,i);if(i==2)break;}输出结果是?()

A.012

B.01

C.01234

D.无输出

【答案】:答案解析:i=2时break,输出012,故选A。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档