- 0
- 0
- 约6.54千字
- 约 13页
- 2026-01-31 发布于河南
- 举报
2026年c语言基础考试题库
第一部分单选题(50题)
1、若inta[5]={10,20,30,40,50};则a[2]的值是?()
A.10
B.20
C.30
D.40
【答案】:答案解析:数组下标从0开始,a[2]是第三个元素30,故选C。
2、以下if语句的语法正确的是?()
A.if(x0){printf(a);elseprintf(b);}
B.if(x0)printf(a);else{printf(b);}
C.if(x0)printf(a);elseprintf(b);}
D.if(x0){printf(a);}elseprintf(b);}
【答案】:答案解析:A缺少},C多},D多},B语法正确(else后{}可加可不加),故选B。
3、若inta=10,b=20,*p=a,q=b;执行p=q;后p的值是?()
A.10
B.20
C.a
D.b
【答案】:答案解析:p=q使p指向b,*p=b=20,故选B。
4、若inti=0;执行while(1){printf(%d,i);i++;if(i==3)break;}输出结果是?()
A.012
B.0123
C.无限循环
D.无输出
【答案】:答案解析:while(1)无限循环,i=3时break,输出012,故选A。
5、数组作为函数参数时,函数中修改数组元素会影响主调函数中的数组吗?()
A.会(指针传递)
B.不会(值传递)
C.取决于数组长度
D.不确定
【答案】:答案解析:数组名传参是指针传递,函数中通过指针修改元素会同步到主调函数数组,故选A。
6、若inta=7,b=3;执行if(a%b==1)a=0;elseb=0;后a和b的值分别是?()
A.0,3
B.7,0
C.0,0
D.7,3
【答案】:答案解析:7%3=1,条件为真,a=0,b保持3,故选A。
7、若inta[4]={10,20,30,40};则a+1表示?()
A.10的地址
B.20的地址
C.30的地址
D.40的地址
【答案】:答案解析:a是首地址(a[0]=10),a+1是a[1](20)的地址,故选B。
8、以下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。
9、以下循环中,无限循环的是?()
A.for(i=0;i5;i++)
B.while(i=5)
C.do{i++;}while(i5);
D.for(i=5;i0;i--)
【答案】:答案解析:while(i=5)是赋值(i=5,非0,条件恒真),无限循环;A执行5次,C(i初始0)执行5次,D执行5次,故选B。
10、以下关于数组的说法正确的是?()
A.数组下标从1开始
B.数组名可作为左值赋值
C.数组长度定义后不可修改
D.数组元素类型可不同
【答案】:答案解析:数组下标从0开始,数组名是常量(不可赋值),元素类型必须相同,长度定义后固定,故选C。
11、若inti=1;执行do{printf(%d,i);i++;}while(i=0);输出结果是?()
A.1
B.无输出
C.无限循环
D.12
【答案】:答案解析:do-while先执行一次(输出1,i=2),再判断i=0为假,循环结束,故选A。
12、指针变量的作用是存储?()
A.变量的值
B.变量的地址
C.函数的地址
D.数组的元素
【答案】:答案解析:指针变量专门存储其他变量的内存地址,故选B。
13、以下函数参数传递方式中,能修改实参值的是?()
A.值传递
B.地址传递
C.都能
D.都不能
【答案】:答案解析:值传递修改的是形参(副本),不影响实参;地址传递通过指针修改实参值,故选B。
14、若inta[5]={1,2,3};则a[3]的值是?()
A.0
B.3
C.随机值
D.无定义
【答案】:答案解析:初始化时未赋值的元素默认为0,a[3]=0,故选A。
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、若inta=1,b=2;则表达式(a==b)的结果是?()
A.1
B.0
C.2
D.真
原创力文档

文档评论(0)