- 0
- 0
- 约6.37千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年c语言竞赛测试题
第一部分单选题(50题)
1、指针与字符串的关系,以下说法正确的是?()
A.字符串常量是字符数组,数组名是指针
B.字符串可通过指针遍历
C.字符指针可指向字符串常量
D.以上都正确
【答案】:答案解析:A、B、C均是指针与字符串的基本关系,故选D。
2、若inti=1;执行while(i5){printf(%d,i);i+=2;}输出结果是?()
A.13
B.135
C.1234
D.无输出
【答案】:答案解析:i初始1,每次加2,执行2次(1、3),输出13,故选A。
3、若inti=1;执行while(i=4){printf(%d,i);i+=3;}输出结果是?()
A.14
B.1234
C.1
D.无输出
【答案】:答案解析:i初始1,加3后4,执行2次,输出14,故选A。
4、若inta=6;执行a/=3;后a的值是?()
A.2
B.3
C.6
D.18
【答案】:答案解析:a/=3等价于a=a/3=6/3=2,故选A。
5、指针与数组的关系,以下说法正确的是?()
A.数组名是常量指针,不能自增
B.指针可指向数组元素,通过指针遍历数组
C.p[i]等价于*(p+i)
D.以上都正确
【答案】:答案解析:数组名是首元素地址(常量,不可自增),指针可遍历数组,p[i]与*(p+i)等价,故选D。
6、若inta[5]={10,20,30,40,50},p=a+3;则p的值是?()
A.30
B.40
C.50
D.无定义
【答案】:答案解析:a+3指向a[3],*p=40,故选B。
7、若intx=9;执行以下代码后输出结果是?()if(x10)printf(A);elseif(x8)printf(B);elseif(x6)printf(C);elseprintf(D);
A.A
B.B
C.C
D.
【答案】:答案解析:x=98,执行第二个分支,输出B,故选B。
8、以下函数返回值类型为int的是?()
A.voidfun(){return;}
B.intfun(){return3.14;}
C.floatfun(){return5;}
D.charfun(){returna;}
【答案】:答案解析:A返回值类型void(不能return表达式),B返回类型int(3.14强制转为3),C返回类型float,D返回类型char,故选B。
9、若charc=A;执行c=c+32后,c的值是?()
A.a
B.B
C.65
D.97
【答案】:答案解析:大写字母ASCII码比对应小写字母小32,A(65)+32=a(97),故选A。
10、若floatf=5.9;强制转换为整型的表达式是?()
A.int(f)
B.(int)f
C.intf
D.(float)f
【答案】:答案解析:强制类型转换格式为(目标类型)变量,(int)f结果为5(取整数部分),故选B。
11、若inta=3;执行if(++a3)printf(A);elseprintf(B);输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:++a是前置自增,a变为43,条件为真,输出A,故选A。
12、若intx=1;执行switch(x){case1:printf(1);case2:printf(2);break;case3:printf(3);}输出结果是?()
A.1
B.12
C.123
D.无输出
【答案】:答案解析:x=1匹配case1,无break,穿透到case2(执行后break),输出12,故选B。
13、以下字符串常量定义正确的是?()
A.charstr[]=C;
B.charstr[1]=C;
C.charstr[]={C};
D.charstr[2]={C,\0};
【答案】:答案解析:A用双引号定义字符串(自动加\0),B单引号用于字符常量,C无\0,D长度2正确但A更简洁,故选A。
14、以下函数定义正确的是?()
A.voidfun(){printf(hello);}
B.voidfun(inta){printf(%d,a);}
C.intfun(){return5;}
D.以上都正确
【答案】:答案解析:A无参无返回值,B有参无返回值,C无参有返回值,均符合语法,故选D。
15、若inta[5]={10,20,30,40,50};则a[2]的值是?()
A.10
B.20
C.30
D.40
【答案】:答案解析:数组下标从0开始,a[2]是第三个元素30,故选C。
16、以下函数调用正确的是?()
A.fun();
B.fun(1,
原创力文档

文档评论(0)