2026年c语言知识测试题及答案(必刷).docxVIP

  • 0
  • 0
  • 约6.62千字
  • 约 13页
  • 2026-01-31 发布于山东
  • 举报

2026年c语言知识测试题及答案(必刷).docx

2026年c语言知识测试题

第一部分单选题(50题)

1、若inta=2,b=4;执行if(a==b)a=0;elseb=0;后a和b的值分别是?()

A.0,4

B.2,0

C.0,0

D.2,4

【答案】:答案解析:a==b为假,执行else,b=0,a保持2,故选B。

2、以下哪个是合法的字符常量?()

A.a

B.ab

C.a

D.a

【答案】:答案解析:字符常量用单引号包裹单个字符,A是字符串,B是两个字符(错误),D是标识符,故选C。

3、若inta=10,*p=a;则sizeof(p)的值是?()

A.4

B.8

C.取决于系统

D.10

【答案】:答案解析:sizeof(p)是指针大小,32位系统4字节,64位8字节,故选C。

4、以下哪个关键字用于定义整型变量?()

A.char

B.int

C.float

D.double

【答案】:答案解析:int定义整型,char字符型,float单精度浮点型,double双精度浮点型,故选B。

5、以下循环中,用于计算1到10的乘积的是?()

A.s=0;for(i=1;i=10;i++)s+=i;

B.s=1;for(i=1;i=10;i++)s*=i;

C.s=0;while(i=10){s*=i;i++;}

D.s=1;do{s+=i;i++;}while(i=10);

【答案】:答案解析:乘积初始值为1,累加初始值为0,B的逻辑是12...*10,正确,故选B。

6、以下关于函数递归的说法错误的是?()

A.必须有终止条件

B.可能导致栈溢出

C.效率比循环高

D.代码简洁

【答案】:答案解析:递归调用会创建栈帧,效率低于循环,A、B、D正确,C错误,故选C。

7、数组名作为函数参数时,函数形参的正确写法是?()

A.inta[]

B.int*a

C.inta[5]

D.以上都是

【答案】:答案解析:数组形参可写为inta[]、int*a(指针)、inta[5](长度可忽略),本质均为指针,故选D。

8、若inti=0;执行while(i5){i++;if(i==3)continue;printf(%d,i);}输出结果是?()

A.1245

B.12345

C.01245

D.无输出

【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。

9、若charstr[10]=abcde;则str[5]的值是?()

A.e

B.\0

C.随机值

D.无定义

【答案】:答案解析:字符串自动在末尾加\0,str[5]是\0,故选B。

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

A.x%2==0

B.x%2!=0

C.x/2==0

D.x/2!=0

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

11、函数调用时,实参的顺序必须与形参的顺序?()

A.一致

B.相反

C.无关

D.部分一致

【答案】:答案解析:实参和形参需按顺序一一对应(类型、个数、顺序匹配),否则可能导致逻辑错误,故选A。

12、以下函数定义中,参数为两个int类型的是?()

A.voidfun(inta,floatb){}

B.voidfun(inta,intb){}

C.voidfun(floata,intb){}

D.voidfun(inta,charb){}

【答案】:答案解析:B中两个参数均为int类型,其余选项参数类型不匹配,故选B。

13、以下函数声明中,返回类型为float的是?()

A.floatfun();

B.voidfun(floata);

C.intfun(floata);

D.charfun(floata);

【答案】:答案解析:A返回类型为float,B无返回值,C返回类型int,D返回类型char,故选A。

14、若charstr=hello;则str[1]的值是?()

A.h

B.e

C.l

D.\0

【答案】:答案解析:str是字符串首地址,str[1]等价于(str+1),值为e,故选B。

15、以下if语句中,逻辑非运算符使用正确的是?()

A.if(!x)printf(yes);

B.if(!x==0)printf(yes);

C.if(!(x0))printf(yes);

D.A和C

【答案】:答案解析:!x表示“x为假(0)”,!(x0)表示“x不大于0”,均正确;B中!x==0等价于x!=0,逻辑不同,故选D。

16、函数返回值的类型与return语句中表达式类型不一致时,会?()

A.编译错误

B.自动强制转换为函数返回类型

C.程序崩溃

D.无影响

文档评论(0)

1亿VIP精品文档

相关文档