c语言期末考试题库(培优a卷).docxVIP

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

c语言期末考试题库

第一部分单选题(50题)

1、若floatx=3.14;则表达式(int)x的结果是?()

A.3

B.3.14

C.4

D.0

【答案】:答案解析:强制转换为int取整数部分,3.14→3,故选A。

2、若intx=9;执行以下代码后输出结果是?()if(x10)printf(A);elseif(x8)printf(B);elseif(x6)printf(C);elseprintf(D);

A.A

B.B

C.C

D.

【答案】:答案解析:x=98,执行第二个分支,输出B,故选B。

3、以下if语句的语法正确的是?()

A.if(x0){printf(a);elseprintf(b);}

B.if(x0)printf(a);else{printf(b);}

C.if(x0)printf(a);elseprintf(b);}

D.if(x0){printf(a);}elseprintf(b);}

【答案】:答案解析:A缺少},C多},D多},B语法正确(else后{}可加可不加),故选B。

4、以下if语句中,赋值表达式作为条件的是?()

A.if(x==3)

B.if(x=3)

C.if(x3)

D.if(x!=3)

【答案】:答案解析:x=3是赋值表达式,结果为3(非0,真),其余是判断表达式,故选B。

5、while循环的语法格式正确的是?()

A.while(条件)语句;

B.while条件语句;

C.while(条件);语句;

D.while(条件){语句}

【答案】:答案解析:while后条件需加括号,语句可是单条(加分号)或代码块(用{}),D缺少分号,故选A。

6、以下for循环的循环变量初始化表达式为“i=5”的是?()

A.for(i=0;i5;i++)

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

C.for(i=2;i=5;i++)

D.for(i=5;i10;i+=2)

【答案】:答案解析:初始化表达式是for循环第一个部分,B中i=5符合,其余初始化非5,故选B。

7、以下函数定义错误的是?()

A.intfun(inta,intb){returna+b;}

B.voidfun(){inta=5;printf(%d,a);}

C.intfun(){inta=3;returna;}

D.voidfun(inta){returna;}

【答案】:答案解析:D返回值类型void,不能return表达式a,语法错误,故选D。

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

A.012

B.0123

C.01234

D.无输出

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

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

A.d

B.e

C.\0

D.无定义

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

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

A.e

B.\0

C.随机值

D.无定义

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

11、若inta[5]={1,2,3,4,5};则a[5]是?()

A.5

B.0

C.越界访问

D.无定义

【答案】:答案解析:a[5]下标超出0-4范围,属于越界访问(可能导致程序错误),故选C。

12、以下数组定义中,长度为5的是?()

A.inta[5];

B.inta[]={1,2,3,4,5};

C.charstr[]=abcd;

D.以上都是

【答案】:答案解析:A长度5,B长度5,C字符串abcd含\0共5个字符,故选D。

13、若inta=10,b=20,*p=a,q=b;执行p=q;后p的值是?()

A.10

B.20

C.a

D.b

【答案】:答案解析:p=q使p指向b,*p=b=20,故选B。

14、以下关于指针的说法正确的是?()

A.指针可用于遍历数组

B.指针可用于字符串操作

C.指针可用于函数参数传递

D.以上都正确

【答案】:答案解析:指针在数组遍历、字符串处理、参数传递中均有核心作用,故选D。

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

A.h

B.e

C.l

D.\0

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

16、以下函数声明正确的是?()

A.intfun(intx,inty);

B.intfun(int,int);

C.intfun(intx;i

文档评论(0)

1亿VIP精品文档

相关文档