大一c语言期末试题(夺分金卷).docxVIP

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

大一c语言期末试题

第一部分单选题(50题)

1、以下关于空指针的定义正确的是?()

A.#defineNULL0

B.#defineNULL(void*)0

C.int*p=NULL;

D.以上都正确

【答案】:答案解析:A、B是NULL的常见定义,C是定义空指针,均正确,故选D。

2、若inta[5]={10,20,30,40,50},p=a+3;则p的值是?()

A.30

B.40

C.50

D.无定义

【答案】:答案解析:a+3指向a[3],*p=40,故选B。

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

A.5

B.6

C.4

D.7

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

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

A.01234

B.12345

C.无限循环

D.无输出

【答案】:答案解析:for循环初始化和条件省略,循环体中i自增,执行5次,输出01234,故选A。

5、以下数组初始化正确的是?()

A.charstr[]=hello;

B.charstr[5]=hello;

C.charstr[]={h,e,l,l,o};

D.charstr[5]={h,e,l,l,o,\0};

【答案】:答案解析:A字符串自动加\0,B长度5不足以存hello(含\0共6个字符),C无\0(字符串不完整),D长度5超,故选A。

6、函数指针的作用是?()

A.存储函数的地址

B.调用函数

C.实现回调函数

D.以上都正确

【答案】:答案解析:函数指针存储函数地址,可通过指针调用函数,常用于回调函数,故选D。

7、若inta=7;执行if(a%3==1)printf(A);elseif(a%3==2)printf(B);elseprintf(C);输出结果是?()

A.A

B.B

C.C

D.无输出

【答案】:答案解析:7%3=1?7/3=2余1?不,7%3=1?7-3*2=1,条件1成立?哦7%3=1,应输出A?不对,7%3=1,第一个条件成立,输出A?重新计算:7÷3=2余1,a%3=1,执行第一个分支,输出A,故选A(原解析修正:之前误算,正确结果A)。

8、以下for循环的语法错误是?()

A.for(inti=0;i5;i++)printf(%d,i);

B.for(i=0;i5;i++)printf(%d,i);

C.for(;i5;i++)printf(%d,i);

D.for(i=0;;i++)printf(%d,i);

【答案】:答案解析:B中i未定义(需先声明inti;),A(C99标准允许循环内定义)、C(初始化省略)、D(条件省略,无限循环)语法均正确,故选B。

9、以下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。

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

A.123

B.012

C.12

D.无输出

【答案】:答案解析:do-while执行3次,i=1、2、3,输出123,故选A。

11、以下for循环中,循环变量更新表达式为“i-=2”的是?()

A.for(i=10;i0;i-=2)

B.for(i=0;i10;i+=2)

C.for(i=10;i0;i--)

D.for(i=0;i10;i=2)

【答案】:答案解析:i-=2等价于i=i-2,A的更新表达式正确,故选A。

12、若intx=4;执行switch(x){case2:printf(2);break;default:printf(0);case4:printf(4);break;}输出结果是?()

A.04

B.4

C.204

D.无输出

【答案】:答案解析:x=4匹配case4,执行输出4,break跳出,故选B。

13、continue语句在循环中的作用是?()

A.终止整个循环

B.跳过本次循环剩余部分,继续下一次

C.暂停循环

D.无作用

【答案】:答案解析:continue跳过本次循环剩余代码,直接进入下一次循环条件判断,故选B。

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

A.指针数组是数组,元素为指针

B.数组指针是指针,指向数组

C.int*arr[5]是指针数组,int(

文档评论(0)

1亿VIP精品文档

相关文档