- 0
- 0
- 约6.22千字
- 约 13页
- 2026-01-27 发布于河南
- 举报
数组c语言考试题库
第一部分单选题(50题)
1、C语言程序编译的正确顺序是?()
A.预处理→编译→汇编→链接
B.编译→预处理→汇编→链接
C.预处理→汇编→编译→链接
D.链接→编译→汇编→预处理
【答案】:答案解析:C程序编译流程为预处理(处理#命令)→编译(生成汇编代码)→汇编(生成目标文件)→链接(生成可执行文件),故选A。
2、若inta[5]={10,20,30,40,50};则a[4]的值是?()
A.40
B.50
C.60
D.无定义
【答案】:答案解析:a[4]是第五个元素,值为50,故选B。
3、函数调用时,实参的类型必须与形参的类型?()
A.完全一致
B.兼容(可自动转换)
C.无关
D.实参类型大于形参类型
【答案】:答案解析:实参和形参类型可兼容(如int→float),编译器自动转换,不兼容则编译错误,故选B。
4、若inti=0;执行for(;i5;){printf(%d,i);i++;}输出结果是?()
A.01234
B.12345
C.无限循环
D.无输出
【答案】:答案解析:for循环初始化和条件省略,循环体中i自增,执行5次,输出01234,故选A。
5、若int*p=(int)malloc(sizeof(int));则p的值是?()
A.0
B.随机值
C.1
D.无定义
【答案】:答案解析:malloc分配的内存未初始化,值为随机值,故选B。
6、break语句不能用于以下哪种结构?()
A.for循环
B.while循环
C.do-while循环
D.if语句
【答案】:答案解析:break可用于循环(for/while/do-while)和switch语句,不能用于if语句,故选D。
7、数组元素的下标从______开始?()
A.0
B.1
C.-1
D.任意
【答案】:答案解析:C语言数组下标从0开始,是固定规则,故选A。
8、函数嵌套调用是指?()
A.函数调用自身
B.函数调用另一个函数
C.函数定义中包含另一个函数
D.多个函数互相调用
【答案】:答案解析:嵌套调用是函数A调用函数B,函数B调用函数C,递归是调用自身,故选B。
9、若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。
10、若inta=10;执行if(a%2==0)printf(偶数);elseprintf(奇数);输出结果是?()
A.偶数
B.奇数
C.10
D.无输出
【答案】:答案解析:a=10%2=0,条件为真,输出偶数,故选A。
11、若inta=2,b=4;执行if(a==b)a=0;elseb=0;后a和b的值分别是?()
A.0,4
B.2,0
C.0,0
D.2,4
【答案】:答案解析:a==b为假,执行else,b=0,a保持2,故选B。
12、以下switch语句中,case后的常量可以是?()
A.整数
B.字符
C.枚举常量
D.以上都可以
【答案】:答案解析:switch的case后必须是整型常量(整数、字符、枚举常量,字符本质是ASCII码整数),故选D。
13、以下数组定义错误的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[5]={1,2,3,4,5,6};
D.inta[]={1,2,3,4,5};
【答案】:答案解析:C初始化元素超5个,编译报错,其余正确,故选C。
14、以下for循环中,循环变量更新表达式为“i-=2”的是?()
A.for(i=10;i0;i-=2)
B.for(i=0;i10;i+=2)
C.for(i=10;i0;i--)
D.for(i=0;i10;i=2)
【答案】:答案解析:i-=2等价于i=i-2,A的更新表达式正确,故选A。
15、C语言程序的基本单位是?()
A.语句
B.函数
C.变量
D.表达式
【答案】:答案解析:C程序由函数构成,main是入口函数,其他函数实现功能,故选B。
16、若inta=10,p=a;则p的值是?()
A.10
B.a
C.p
D.无定义
【答案】:答案解析:*p是解引用,-用于结构体指针访问成员,.用于结构体变量访问成员,故选B。
17、若inta=4,b=6;则表达式ab?a+b:a-b的结果是?()
A.10
B.-2
C.4
D.6
【答案】:答案解析:ab为真,取a+b=4+6=10,故选A。
18、以下二维数组定义中,行数为2的是?()
A.inta[2][3];
原创力文档

文档评论(0)