期末c语言试题及答案(名校卷).docxVIP

  • 1
  • 0
  • 约6.21千字
  • 约 13页
  • 2026-01-27 发布于河南
  • 举报

期末c语言试题

第一部分单选题(50题)

1、以下switch语句语法错误的是?()

A.switch(x){case1:printf(1);break;}

B.switch(x){casea:printf(a);break;}

C.switch(x){case1.5:printf(1.5);break;}

D.switch(x){default:printf(0);}

【答案】:答案解析:case后必须是整型常量,1.5是浮点型,语法错误,故选C。

2、转义字符\的作用是?()

A.表示反斜杠

B.表示换行

C.表示空格

D.表示制表符

【答案】:答案解析:\用于表示字符反斜杠(\),避免与转义字符冲突,故选A。

3、若inti=0,s=0;执行for(i=1;i=4;i++)s+=i;后s的值是?()

A.10

B.9

C.8

D.7

【答案】:答案解析:累加1+2+3+4=10,s=10,故选A。

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

A.10

B.a

C.p

D.无定义

【答案】:答案解析:q=p使q指向a,*q=10,故选A。

5、若inta=3;执行if(++a3)printf(A);elseprintf(B);输出结果是?()

A.A

B.B

C.AB

D.无输出

【答案】:答案解析:++a是前置自增,a变为43,条件为真,输出A,故选A。

6、递归函数的优点是?()

A.代码简洁,逻辑清晰

B.效率高,占用内存少

C.避免栈溢出

D.适合所有问题

【答案】:答案解析:递归优点是代码简洁(如阶乘、斐波那契数列),缺点是效率低、占用栈空间多(可能溢出),故选A。

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

A.012

B.0123

C.01

D.无输出

【答案】:答案解析:i=3时break,输出012,故选A。

8、函数参数的默认值在______指定?()

A.函数定义时

B.函数声明时

C.函数调用时

D.C语言不支持默认参数

【答案】:答案解析:标准C语言不支持函数参数默认值(C++支持),故选D。

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

A.0134

B.01234

C.01

D.无限循环

【答案】:答案解析:i=2时执行continue,跳过printf,输出0134,故选A。

10、若intx=5;则表达式++x的结果是?()

A.5

B.6

C.4

D.7

【答案】:答案解析:++x是前置自增,先自增(x变为6)再参与运算,结果为6,故选B。

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

A.char

B.int

C.float

D.double

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

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

A.include

B.define

C.ifdef

D.endif

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

13、以下for循环的循环次数是?()for(inti=2;i=8;i+=2)

A.3次

B.4次

C.5次

D.6次

【答案】:答案解析:i取值2、4、6、8,共4次,故选B。

14、以下函数定义中,参数为指针的是?()

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。

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

A.0,3

B.7,0

C.0,0

D.7,3

【答案】:答案解析:7%3=1,条件为真,a=0,b保持3,故选A。

16、若charstr=abcde;则(str+4)的值是?()

A.d

B.e

C.\0

D.无定义

【答案】:答案解析:str+4指向第5个字符,值为e,故选B。

17、以下循环中,循环次数为3次的是?()

A.for(i=1;i=3;i++)

B.while(i=3)

C.do{i++;}while(i3);

D.for(i=5;i0;i--)

【答案

文档评论(0)

1亿VIP精品文档

相关文档