贵州大学c语言期末试题(a卷).docxVIP

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

贵州大学c语言期末试题

第一部分单选题(50题)

1、逻辑表达式30的结果是?()

A.0

B.1

C.3

D.真

【答案】:答案解析:逻辑与只要有一个operand为0则结果为0,3为真,0为假,故选A。

2、以下哪个赋值语句是正确的?()

A.inta=5;

B.a=5;

C.inta=b=5;

D.a=b=5;

【答案】:答案解析:B、D未定义变量,C不能连续赋值定义,A定义并赋值正确,故选A。

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

A.13

B.135

C.1234

D.无输出

【答案】:答案解析:i初始1,每次加2,执行2次(1、3),输出13,故选A。

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

A.#defineNULL0

B.#defineNULL(void*)0

C.int*p=NULL;

D.以上都正确

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

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

A.01

B.012

C.01234

D.无限循环

【答案】:答案解析:i=2时执行break,终止循环,输出01,故选A。

6、以下for循环中,循环变量初始化、条件判断、更新表达式均正确的是?()

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

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

C.for(i=0;i5;i+=2)

D.以上都正确

【答案】:答案解析:A(递增)、B(递减)、C(步长2)的三个表达式均合法,循环逻辑正确,故选D。

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

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

A.321

B.123

C.3210

D.无输出

【答案】:答案解析:do-while先执行,i从3减到1,输出321,故选A。

9、若charstr[]=Clanguage;则字符串长度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:字符串长度以\0结束,Clanguage含10个字符(不含\0),故选A。

10、do-while循环的语法格式正确的是?()

A.do语句;while(条件);

B.do{语句}while(条件)

C.do语句while(条件);

D.do;语句;while(条件);

【答案】:答案解析:do-while格式为“do循环体;while(条件);”,循环体可是单条语句或代码块,B缺少分号,C缺少分号,D循环体为空,故选A。

11、逻辑表达式!0的结果是?()

A.0

B.1

C.真

D.假

【答案】:答案解析:C语言中非0为真,!是逻辑非,!0(假)结果为1(真),故选B。

12、下列字符串常量定义正确的是?()

A.abc

B.abc

C.abc

D.ab

【答案】:答案解析:字符串常量用双引号包裹,单引号用于字符常量,C是标识符,D语法错误,故选B。

13、若inti=5,s=0;执行while(i0){s+=i;i--;}后s的值是?()

A.15

B.10

C.5

D.0

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

14、以下数组定义错误的是?()

A.inta[5];

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

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

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

【答案】:答案解析:C初始化元素超5个,编译报错,其余正确,故选C。

15、以下哪个数据类型用于存储单个字符?()

A.int

B.char

C.float

D.double

【答案】:答案解析:char用于存储单个字符(ASCII码),int存储整数,float/double存储浮点数,故选B。

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

A.4

B.8

C.取决于系统

D.10

【答案】:答案解析:sizeof(p)是指针大小,32位系统4字节,64位8字节,故选C。

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

A.012

B.0123

C.01

D.无输

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档