2026年c语言竞赛测试题(有一套).docxVIP

  • 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)

1亿VIP精品文档

相关文档