c语言竞赛试题(全优).docxVIP

  • 0
  • 0
  • 约6.24千字
  • 约 13页
  • 2026-01-30 发布于河南
  • 举报

c语言竞赛试题

第一部分单选题(50题)

1、若inti=0;执行do{i++;printf(%d,i);}while(i3);输出结果是?()

A.123

B.012

C.12

D.无输出

【答案】:答案解析:do-while先执行,i从1到3,输出123,故选A。

2、以下哪个条件表达式表示“x是奇数”?()

A.x%2==0

B.x%2!=0

C.x/2==0

D.x/2!=0

【答案】:答案解析:奇数除以2余数为1,x%2!=0表示奇数,A是偶数,故选B。

3、以下关于二维数组的说法正确的是?()

A.二维数组是数组的数组

B.二维数组元素在内存中按列存储

C.二维数组长度必须是常量

D.二维数组不能作为函数参数

【答案】:答案解析:二维数组本质是数组的数组,内存按行存储,可作为函数参数,长度需常量,故选A。

4、以下哪个不是C语言的关键字?()

A.if

B.else

C.then

D.for

【答案】:答案解析:then不是C语言关键字,if(条件)、else(否则)、for(循环)均是,故选C。

5、break语句在循环中的作用是?()

A.跳过本次循环,继续下一次

B.终止整个循环

C.终止当前语句

D.无作用

【答案】:答案解析:break在循环中用于终止整个循环(跳出循环体),continue是跳过本次循环,故选B。

6、若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。

7、以下关于数组的说法错误的是?()

A.数组元素必须是同一类型

B.数组长度必须是常量

C.数组可在函数内定义

D.数组可整体赋值

【答案】:答案解析:数组不能用“=”整体赋值,需逐个元素或循环赋值,A、B、C正确,故选D。

8、函数的形参在______时分配内存?()

A.函数定义

B.函数声明

C.函数调用

D.程序编译

【答案】:答案解析:形参是局部变量,函数调用时分配内存,调用结束释放,故选C。

9、若inti=1;执行while(i=3){printf(%d,i);i++;}输出结果是?()

A.123

B.1234

C.012

D.无输出

【答案】:答案解析:i初始1,满足i=3,执行3次,输出123,i最终4,循环结束,故选A。

10、以下定义函数指针正确的是?()

A.int(*fp)(int);

B.int*fp(int);

C.intfp(int);

D.int(fp)[];

【答案】:答案解析:A是指向int返回值、int参数的函数指针,B是返回int的函数,C是普通函数,D是指向数组的指针,故选A。

11、数组作为函数参数时,函数形参不能是?()

A.inta[]

B.int*a

C.inta[5]

D.inta

【答案】:答案解析:D中inta是普通变量,不能接收数组名(地址),A、B、C均可作为数组形参,故选D。

12、以下转义字符表示换行的是?()

A.\t

B.\n

C.\

D.\r

【答案】:答案解析:\t是制表符,\n是换行符,\是反斜杠,\r是回车符,故选B。

13、若intx=3;执行以下代码后a的值是?()inta;if(x5)a=10;elseif(x2)a=20;elsea=30;

A.10

B.20

C.30

D.无定义

【答案】:答案解析:x=32,执行第二个分支,a=20,故选B。

14、shortint类型的有符号取值范围是?()

A.0~65535

B.-32768~32767

C.-2147483648~2147483647

D.无固定范围

【答案】:答案解析:16位shortint有符号取值标准为-32768~32767,无符号为0~65535,故选B。

15、C语言程序的入口函数是?()

A.main()

B.printf()

C.scanf()

D.main

【答案】:答案解析:所有C程序从main()函数开始执行,必须有且仅有一个,故选A。

16、C语言中,宏定义的预处理命令关键字是?()

A.include

B.define

C.ifdef

D.endif

【答案】:答案解析:#define用于宏定义,#include用于包含头文件,#ifdef/endif是条件编译,故选B。

17、若inta=3;执行a+=aa;后a的值是?()

A.12

B.6

C.9

D.15

【答案】:答案解析:优先级先乘后加,a+=aa等价于a=a+(aa)=3+(33)=12,故选A。

18、数组在内存中的存储方式

文档评论(0)

1亿VIP精品文档

相关文档