期末c语言考试题(全国通用).docxVIP

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

期末c语言考试题

第一部分单选题(50题)

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

A.1

B.2

C.3

D.4

【答案】:答案解析:a是首地址,a+1是第二个元素地址,*(a+1)=a[1]=2,故选B。

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

A.7

B.10

C.14

D.5

【答案】:答案解析:a*=a+3等价于a=a*(a+3)=2*(2+3)=10,故选B。

3、指针与结构体的关系,以下说法正确的是?()

A.结构体指针通过-访问成员

B.结构体变量通过。访问成员

C.结构体指针可指向结构体变量

D.以上都正确

【答案】:答案解析:A、B、C均是结构体与指针的基本规则,故选D。

4、以下数组定义中,可省略数组长度的是?()

A.inta[5];

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

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

D.inta[][3];

【答案】:答案解析:初始化时可省略长度(编译器自动计算),D二维数组第二维不能省略,故选B。

5、若inta=3,b=4;则表达式ab++的值是?()

A.12

B.15

C.16

D.7

【答案】:答案解析:b++是后置自增,先参与运算(ab=3*4=12),再自增(b变为5),故选A。

6、break语句在循环中的作用是?()

A.跳过本次循环,继续下一次

B.终止整个循环

C.终止当前语句

D.无作用

【答案】:答案解析:break在循环中用于终止整个循环(跳出循环体),continue是跳过本次循环,故选B。

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

A.6

B.10

C.4

D.0

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

8、以下数组初始化中,未赋值元素默认为0的是?()

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

B.charstr[5];

C.inta[5];

D.以上都是

【答案】:答案解析:全局数组未初始化默认为0,局部数组未初始化是随机值,A初始化部分元素,未赋值默认为0,故选A。

9、以下循环中,用于计算1到10的乘积的是?()

A.s=0;for(i=1;i=10;i++)s+=i;

B.s=1;for(i=1;i=10;i++)s*=i;

C.s=0;while(i=10){s*=i;i++;}

D.s=1;do{s+=i;i++;}while(i=10);

【答案】:答案解析:乘积初始值为1,累加初始值为0,B的逻辑是12...*10,正确,故选B。

10、以下指针的算术运算中,单位是?()

A.1字节

B.指针指向类型的大小

C.4字节

D.8字节

【答案】:答案解析:指针算术运算(如p++)偏移量是指向类型的大小(如int指针+1偏移4字节),故选B。

11、若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。

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、若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。

14、以下函数定义中,参数为指针的是?()

A.voidfun(int*a){printf(%d,*a);}

B.voidfun(inta){printf(%d,a);}

C.voidfun(inta[]){printf(%d,a[0]);}

D.A和C

【答案】:答案解析:A是指针参数,C数组名参数本质是指针,B是值参数,故选D。

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

A.2

B.3

C.4

D.5

【答案】:答案解析:a[1][0]是第二行第一列,值为2,故选A。

16、以下循环中,无限循环的是?()

A.for(i=0;i5;i++)

B.while(i=5)

C.do{i++;}while(i5

文档评论(0)

1亿VIP精品文档

相关文档