- 0
- 0
- 约6.66千字
- 约 13页
- 2026-01-31 发布于河南
- 举报
2026年c语言竞赛测试题
第一部分单选题(50题)
1、数组名作为函数参数时,函数形参的正确写法是?()
A.inta[]
B.int*a
C.inta[5]
D.以上都是
【答案】:答案解析:数组形参可写为inta[]、int*a(指针)、inta[5](长度可忽略),本质均为指针,故选D。
2、若inti=0;执行while(1){if(i==3)break;printf(%d,i);i++;}输出结果是?()
A.012
B.0123
C.无限循环
D.无输出
【答案】:答案解析:while(1)是无限循环,i=3时break,输出012,故选A。
3、以下指针运算中,结果为指针的是?()
A.*p
B.p+1
C.a
D.B和C
【答案】:答案解析:p+1是指针偏移,a是取地址,结果均为指针;*p是解引用(获取值),故选D。
4、逻辑表达式!5的结果是?()
A.0
B.1
C.5
D.真
【答案】:答案解析:5为真,!是逻辑非,真变假(0),故选A。
5、若inta[4]={1,2,3,4};则*(a+1)的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:a是首地址,a+1是第二个元素地址,*(a+1)=a[1]=2,故选B。
6、函数声明的作用是?()
A.告诉编译器函数的存在
B.实现函数功能
C.分配函数内存
D.调用函数
【答案】:答案解析:函数声明用于向编译器说明函数名、参数、返回类型(确保调用正确),定义才是实现功能,故选A。
7、若inta=5,b=3;执行if(ab){a--;b++;}后a和b的值分别是?()
A.4,4
B.5,3
C.4,3
D.5,4
【答案】:答案解析:ab为真,执行代码块,a=5-1=4,b=3+1=4,故选A。
8、函数调用的一般格式是?()
A.函数名(实参列表);
B.函数名实参列表;
C.返回类型函数名(实参列表);
D.函数名=实参列表;
【答案】:答案解析:函数调用格式为“函数名(实参列表);”,实参与形参匹配,故选A。
9、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};则a[1][2]的值是?()
A.5
B.6
C.8
D.9
【答案】:答案解析:a[1][2]是第二行第三列,值为6,故选B。
10、以下函数定义中,参数为指针的是?()
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。
11、以下哪个条件表达式表示“x是奇数”?()
A.x%2==0
B.x%2!=0
C.x/2==0
D.x/2!=0
【答案】:答案解析:奇数除以2余数为1,x%2!=0表示奇数,A是偶数,故选B。
12、指针的自增运算(p++)的含义是?()
A.指针值加1
B.指针指向的变量值加1
C.指针指向地址偏移一个类型大小
D.指针指向地址偏移1字节
【答案】:答案解析:p++使指针指向地址偏移“指向类型大小”(如int指针+4字节),故选C。
13、若intx=5;则表达式++x的结果是?()
A.5
B.6
C.4
D.7
【答案】:答案解析:++x是前置自增,先自增(x变为6)再参与运算,结果为6,故选B。
14、函数定义的格式是?()
A.返回类型函数名(参数列表){函数体}
B.函数名(返回类型,参数列表){函数体}
C.函数名(参数列表)返回类型{函数体}
D.返回类型函数名{参数列表,函数体}
【答案】:答案解析:函数定义标准格式为“返回类型函数名(参数列表){函数体}”,故选A。
15、函数嵌套调用是指?()
A.函数调用自身
B.函数调用另一个函数
C.函数定义中包含另一个函数
D.多个函数互相调用
【答案】:答案解析:嵌套调用是函数A调用函数B,函数B调用函数C,递归是调用自身,故选B。
16、以下指针运算错误的是?()
A.inta=5,*p=a;p++;
B.inta=5,*p=a;*p++;
C.inta=5,*p=a;p=a+1;
D.inta=5,*p=a;p=p+2;
【答案】:答案解析:a是地址常量,不能进行算术运算(a+1错误),A、B、D均正确,故选C。
17、若intx=2;执行switch(x){case1:printf(a);case2:printf(b);case3:printf(c);}输出结果是?()
A.b
原创力文档

文档评论(0)