c语言编程期末测试题及完整答案.docxVIP

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

c语言编程期末测试题

第一部分单选题(50题)

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

2、以下哪个是C语言中的赋值运算符?()

A.==

B.=

C.+=

D.!=

【答案】:答案解析:=是赋值运算符,==是等于判断,+=是复合赋值,!=是不等于判断,故选B。

3、预处理命令#definePI3.14159的作用是?()

A.定义变量

B.定义常量

C.函数声明

D.包含头文件

【答案】:答案解析:#define是宏定义,用于定义常量(无分号,直接替换),故选B。

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

A.012

B.01

C.01234

D.无输出

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

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

A.14

B.1234

C.1

D.无输出

【答案】:答案解析:i初始1,加3后4,执行2次,输出14,故选A。

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

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。

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

A.int(*fp)(int);

B.int*fp(int);

C.intfp(int);

D.int(fp)[];

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

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

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

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

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

D.以上都正确

【答案】:答案解析:A、B、C均准确区分了指针数组和数组指针,故选D。

9、若intx=2;执行switch(x){default:printf(0);case1:printf(1);break;case2:printf(2);case3:printf(3);}输出结果是?()

A.01

B.23

C.0123

D.无输出

【答案】:答案解析:x=2匹配case2,无break,穿透到case3,输出23,故选B。

10、以下函数调用错误的是?()

A.fun();

B.fun(5);

C.fun(3,4);

D.无错误(需看函数定义)

【答案】:答案解析:调用需匹配函数定义,A对应无参函数,B对应单参函数,C对应双参函数,均可能正确,故选D。

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

A.voidfun(inta,floatb){}

B.voidfun(inta,intb){}

C.voidfun(floata,intb){}

D.voidfun(inta,charb){}

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

12、递归函数的终止条件是?()

A.函数调用自身

B.函数返回值为0

C.不再调用自身的条件

D.无终止条件

【答案】:答案解析:递归函数必须有终止条件(否则无限递归栈溢出),终止条件是不再调用自身的判断,故选C。

13、逻辑表达式!5的结果是?()

A.0

B.1

C.5

D.真

【答案】:答案解析:5为真,!是逻辑非,真变假(0),故选A。

14、若inta=5,p=a;则p的值是?()

A.5

B.a

C.p

D.无定义

【答案】:答案解析:*p等价于p,即指针p自身的值(a的地址),故选C。

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

A.void*p=0;

B.int*p=NULL;

C.charp=(char)0;

D.以上都正确

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

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

A.指针可用于遍历数组

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

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

D.以上都正确

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

17、以下

文档评论(0)

1亿VIP精品文档

相关文档