- 0
- 0
- 约6.39千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年c语言指针考试题库
第一部分单选题(50题)
1、以下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。
2、以下指针运算正确的是?()
A.inta=10,*p=a;p++;
B.inta=10,*p=a;p=a;
C.inta=10,*p=a;p=5;
D.inta=10,*p=a;*p=a;
【答案】:答案解析:A指针p自增(指向a的下一个地址),B不能将int值赋给指针,C不能取常量地址,D不能将地址赋给int变量,故选A。
3、定义整型变量x、y并均赋值10的语句是?()
A.intx=y=10;
B.intx=10,y=10;
C.intx=10;y=10;
D.intx=10;inty=10;
【答案】:答案解析:同一行定义多个变量用逗号分隔,A不能连续赋值,C缺少int,D是两行定义,故选B。
4、若inti=0;执行while(i5){printf(%d,i);i++;if(i==3)break;}输出结果是?()
A.012
B.0123
C.01
D.无输出
【答案】:答案解析:i=3时break,输出012,故选A。
5、逻辑表达式!0的结果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:C语言中非0为真,!是逻辑非,!0(假)结果为1(真),故选B。
6、C语言中基本数据类型不包括以下哪项?()
A.char
B.int
C.float
D.array
【答案】:答案解析:基本数据类型为char、int、float、double,array是数组(构造类型),故选D。
7、表达式5324的结果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:53为真(1),24为真(1),逻辑与结果为1,故选B。
8、函数定义和函数声明的区别是?()
A.定义包含函数体,声明不包含
B.声明包含函数体,定义不包含
C.定义和声明无区别
D.定义在程序开头,声明在结尾
【答案】:答案解析:函数定义是完整实现(含函数体),声明是告诉编译器函数名、参数、返回类型(不含函数体),故选A。
9、以下switch语句中,case后的常量可以是?()
A.整数
B.字符
C.枚举常量
D.以上都可以
【答案】:答案解析:switch的case后必须是整型常量(整数、字符、枚举常量,字符本质是ASCII码整数),故选D。
10、若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。
11、shortint类型的有符号取值范围是?()
A.0~65535
B.-32768~32767
C.-2147483648~2147483647
D.无固定范围
【答案】:答案解析:16位shortint有符号取值标准为-32768~32767,无符号为0~65535,故选B。
12、若inti=0;执行for(;i5;){printf(%d,i);i++;}输出结果是?()
A.01234
B.12345
C.无限循环
D.无输出
【答案】:答案解析:for循环初始化和条件省略,循环体中i自增,执行5次,输出01234,故选A。
13、若intx=0;执行if(x)printf(A);elseprintf(B);输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:x=0为假,执行else分支,输出B,故选B。
14、若intx=4;执行if(x++4)printf(A);elseprintf(B);输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:x++是后置自增,条件判断时x=4,44为假,执行else(输出B),后x变为5,故选B。
15、以下数组初始化中,未赋值元素默认为0的是?()
A.inta[5]={1,2,3};
B.charstr[5];
C.inta[5];
D.以上都是
【答案】:答案解析:全局数组未初始化默认为0,局部数组未初始化是随机值,A初始化部分元素,未赋值默认为0,故选A。
16、以下关于二维数组的说法正确的是?()
A.二维数组是数组的数
原创力文档

文档评论(0)