2026年c语言期末测试题(易错题).docxVIP

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

2026年c语言期末测试题

第一部分单选题(50题)

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

A.1245

B.12345

C.3

D.无输出

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

2、以下关于数组越界的说法正确的是?()

A.编译时会报错

B.运行时一定会崩溃

C.可能导致程序错误

D.无影响

【答案】:答案解析:数组越界属于未定义行为,编译时不报错,运行时可能正常或崩溃,故选C。

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

A.012

B.0123

C.01

D.无输出

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

4、以下哪个是NULL指针?()

A.void*p=0;

B.int*p=NULL;

C.charp=(char)0;

D.以上都正确

【答案】:答案解析:NULL指针是不指向任何有效地址的指针,三种写法均正确,故选D。

5、若inta[4]={10,20,30,40};则a+1表示?()

A.10的地址

B.20的地址

C.30的地址

D.40的地址

【答案】:答案解析:a是首地址(a[0]=10),a+1是a[1](20)的地址,故选B。

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

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

B.终止整个循环

C.终止当前语句

D.无作用

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

7、以下定义指向二维数组的指针正确的是?()

A.inta[2][3],(*p)[3]=a;

B.inta[2][3],*p=a;

C.inta[2][3],p=a[0];

D.inta[2][3],*p=a;

【答案】:答案解析:A是指向3列数组的指针(匹配二维数组a的行),B、C、D类型不匹配,故选A。

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

A.A

B.B

C.AB

D.无输出

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

9、以下字符串数组定义正确的是?()

A.charstr[5][10]={hello,world};

B.charstr[5][]={hello,world};

C.charstr[][10]={hello,world,!};

D.charstr[5][10]={hello,world,!};

【答案】:答案解析:B第二维不能省略,A、C、D均正确?D最完整(5行10列,初始化3个字符串),故选D。

10、若inta[3][3]={{1},{2,3},{4,5,6}};则a[1][0]的值是?()

A.2

B.3

C.4

D.5

【答案】:答案解析:a[1][0]是第二行第一列,值为2,故选A。

11、以下函数递归调用的例子是?()

A.计算阶乘

B.循环输出数字

C.数组遍历

D.变量交换

【答案】:答案解析:阶乘常用递归实现(n!=n*(n-1)!),B、C、D用循环更高效,故选A。

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

A.int(*fp)(int);

B.int*fp(int);

C.intfp(int);

D.int(fp)[];

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

13、表示“x大于5且小于10”的合法C语言表达式是?()

A.5x10

B.x5||x10

C.x5x10

D.x5x10

【答案】:答案解析:逻辑与用,逻辑或用||,A是连续比较语法错误,是按位与,故选C。

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

A.intfun(intx,inty);

B.intfun(int,int);

C.intfun(intx;inty);

D.A和B

【答案】:答案解析:函数声明可写参数名或只写类型,A、B正确,C用分号错误,故选D。

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

16、以下哪个条件表达式表示“x大于等于5且小于等于10”?()

A.5=x=10

B

文档评论(0)

1亿VIP精品文档

相关文档