- 0
- 0
- 约6.81千字
- 约 13页
- 2026-01-31 发布于河南
- 举报
2026年数组c语言考试题库
第一部分单选题(50题)
1、以下哪个不是C语言的关键字?()
A.if
B.else
C.then
D.for
【答案】:答案解析:then不是C语言关键字,if(条件)、else(否则)、for(循环)均是,故选C。
2、若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。
3、若inta[4]={1,2,3,4},p=a;执行p++后,*p的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:*p++先解引用(值为1),再p自增(指向a[1]),*p=2,故选B。
4、若intx=0;执行if(x)printf(A);elseprintf(B);输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:x=0为假,执行else分支,输出B,故选B。
5、以下函数定义中,参数为指针的是?()
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。
6、以下指针的算术运算中,单位是?()
A.1字节
B.指针指向类型的大小
C.4字节
D.8字节
【答案】:答案解析:指针算术运算(如p++)偏移量是指向类型的大小(如int指针+1偏移4字节),故选B。
7、若inta=4,b=6;则表达式ab?a+b:a-b的结果是?()
A.10
B.-2
C.4
D.6
【答案】:答案解析:ab为真,取a+b=4+6=10,故选A。
8、若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。
9、C语言中,宏定义的预处理命令关键字是?()
A.include
B.define
C.ifdef
D.endif
【答案】:答案解析:#define用于宏定义,#include用于包含头文件,#ifdef/endif是条件编译,故选B。
10、以下for循环中,用于计算1到5的平方和的是?()
A.s=0;for(i=1;i=5;i++)s+=ii;
B.s=0;for(i=1;i=5;i++)s+=i2;
C.s=1;for(i=1;i=5;i++)s*=i;
D.s=0;for(i=1;i=5;i++)s+=i+i;
【答案】:答案解析:平方和是12+22+32+42+52=1+4+9+16+25=55,A的逻辑正确,故选A。
11、若inti=0;执行while(i5){printf(%d,i);i++;if(i==3)break;}输出结果是?()
A.012
B.0123
C.01
D.无输出
【答案】:答案解析:i=3时break,输出012,故选A。
12、以下关于数组的说法错误的是?()
A.数组元素必须是同一类型
B.数组长度必须是常量
C.数组可在函数内定义
D.数组可整体赋值
【答案】:答案解析:数组不能用“=”整体赋值,需逐个元素或循环赋值,A、B、C正确,故选D。
13、若inti=1;执行while(i5){printf(%d,i);i+=2;}输出结果是?()
A.13
B.135
C.1234
D.无输出
【答案】:答案解析:i初始1,每次加2,执行2次(1、3),输出13,故选A。
14、若inta=6;执行a/=3;后a的值是?()
A.2
B.3
C.6
D.18
【答案】:答案解析:a/=3等价于a=a/3=6/3=2,故选A。
15、指针变量的大小取决于?()
A.指向变量的类型
B.编译器和系统(32位4字节,64位8字节)
C.指针变量的名称
D.变量的值
【答案】:答案解析:指针大小与指向类型无关,取决于系统位数(32位4B,64位8B),故选B。
16、以下哪个函数用于读取字符?()
A.putchar()
B.gets()
C.getchar()
D.printf()
【答案】:答案解析:getchar()读取单个字符,puts()输出字符串,gets()读取字符串(已淘汰),故选C。
17、若inti=3;执行do{printf(%d,i);
原创力文档

文档评论(0)