期末c语言考试题附答案.docxVIP

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

期末c语言考试题

第一部分单选题(50题)

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

A.13

B.024

C.01234

D.无输出

【答案】:答案解析:i为偶数(0、2、4)时continue,输出奇数1、3,故选A。

2、以下哪个是合法的字符常量?()

A.a

B.ab

C.a

D.a

【答案】:答案解析:字符常量用单引号包裹单个字符,A是字符串,B是两个字符(错误),D是标识符,故选C。

3、以下if-else语句中,代码块正确的是?()

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

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

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

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

【答案】:答案解析:else需与最近的if匹配,A、C、D中else前有独立printf,语法错误,B用{}包裹代码块正确,故选B。

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

A.inta[5];

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

C.charstr[]=abcd;

D.以上都是

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

5、以下数组定义中,正确的是?()

A.inta[5];

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

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

D.以上都是

【答案】:答案解析:A、B、C均符合数组定义规则,故选D。

6、函数参数传递中,值传递适用于?()

A.简单变量,无需修改实参

B.数组,需修改元素

C.指针,需修改实参

D.结构体,需修改成员

【答案】:答案解析:值传递用于简单变量(不修改实参),地址传递用于需修改实参的场景,故选A。

7、以下关于return语句的说法正确的是?()

A.函数中可有多条return语句

B.函数中必须有return语句

C.return语句必须在函数末尾

D.return语句只能返回一个值

【答案】:答案解析:A函数中可有多条return(如条件判断后返回),Bvoid函数可无return,Creturn可在任意位置,Dreturn只能返回一个值(返回多个值需用指针/数组),故选A。

8、若intx=4;执行switch(x){case2:printf(2);break;default:printf(0);case4:printf(4);break;}输出结果是?()

A.04

B.4

C.204

D.无输出

【答案】:答案解析:x=4匹配case4,执行输出4,break跳出,故选B。

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

A.4

B.5

C.1

D.2

【答案】:答案解析:a+4是第五个元素地址,*(a+4)=a[4]=5,故选B。

10、若floatx=3.14;则表达式(int)x的结果是?()

A.3

B.3.14

C.4

D.0

【答案】:答案解析:强制转换为int取整数部分,3.14→3,故选A。

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

A.0

B.3

C.随机值

D.无定义

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

12、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},(p)[3]=a;则((p+1)+2)的值是?()

A.5

B.6

C.8

D.9

【答案】:答案解析:p是指向3列数组的指针,p+1指向第二行,(p+1)+2指向第二行第三列,值为6,故选B。

13、若inti=0,s=0;执行for(i=1;i=4;i++)s+=i;后s的值是?()

A.10

B.9

C.8

D.7

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

14、若inta=3,b=5;执行以下代码后输出结果是?()if(ab)printf(A);elseprintf(B);

A.A

B.B

C.AB

D.无输出

【答案】:答案解析:a=3b=5,条件为假,执行else分支,输出B,故选B。

15、若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+

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档