大学c语言考试题库【word】.docxVIP

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

大学c语言考试题库

第一部分单选题(50题)

1、二维数组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。

2、以下switch语句中,default的作用是?()

A.匹配所有case

B.匹配除case外的所有情况

C.终止switch语句

D.无实际作用

【答案】:答案解析:default用于匹配所有case未覆盖的情况,可选且位置灵活,故选B。

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

A.012

B.0123

C.无限循环

D.无输出

【答案】:答案解析:while(1)是无限循环,i=3时break,输出012,故选A。

4、函数调用时,实参和形参的个数必须?()

A.相等

B.实参多于形参

C.形参多于实参

D.无要求

【答案】:答案解析:函数调用时实参和形参个数、类型需匹配,否则编译错误,故选A。

5、以下数组初始化正确的是?()

A.charstr[]=hello;

B.charstr[5]=hello;

C.charstr[]={h,e,l,l,o};

D.charstr[5]={h,e,l,l,o,\0};

【答案】:答案解析:A字符串自动加\0,B长度5不足以存hello(含\0共6个字符),C无\0(字符串不完整),D长度5超,故选A。

6、若intx=0;执行if(x)printf(A);elseprintf(B);输出结果是?()

A.A

B.B

C.AB

D.无输出

【答案】:答案解析:x=0为假,执行else分支,输出B,故选B。

7、以下关于数组初始化的说法正确的是?()

A.数组必须初始化

B.数组初始化时元素个数不能少于长度

C.数组初始化时可部分赋值

D.数组初始化后不能修改

【答案】:答案解析:数组可部分赋值(未赋值元素默认0),A数组可不用初始化,B可少于长度,D数组元素可修改,故选C。

8、以下switch语句中,正确使用字符常量的是?()

A.switch(c){caseA:printf(A);break;}

B.switch(c){caseA:printf(A);break;}

C.switch(c){caseA:printf(A);break;}

D.switch(c){casea:b:printf(ab);break;}

【答案】:答案解析:字符常量用单引号,B是标识符,C是字符串,D语法错误(多个case需分开),故选A。

9、若intx=3;执行以下代码后a的值是?()inta;if(x5)a=10;elseif(x2)a=20;elsea=30;

A.10

B.20

C.30

D.无定义

【答案】:答案解析:x=32,执行第二个分支,a=20,故选B。

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

A.voidfun();

B.voidfun(inta);

C.intfun(int);

D.以上都正确

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

11、以下循环中,用于计算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。

12、函数参数传递中,值传递的特点是?()

A.形参修改影响实参

B.形参是实参的副本

C.传递的是变量地址

D.用于数组传参

【答案】:答案解析:值传递时形参是实参的拷贝,修改形参不影响实参,地址传递才影响实参,故选B。

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

A.inta[5];

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

C.charstr[]=abcd;

D.以上都是

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

14、以下关于数组越界的说法正确的是?()

A.编译时会报错

B.运行时一定会崩溃

C.可能导致程序错误

D.无影响

【答案】:答案解析:数组越界属于未定义行为,编

文档评论(0)

1亿VIP精品文档

相关文档