西工大《C语言程序设计》作业机考参考答案.docx

上传人:b****4 文档编号:3922217 上传时间:2022-11-26 格式:DOCX 页数:12 大小:18.19KB
下载 相关 举报
西工大《C语言程序设计》作业机考参考答案.docx_第1页
第1页 / 共12页
西工大《C语言程序设计》作业机考参考答案.docx_第2页
第2页 / 共12页
西工大《C语言程序设计》作业机考参考答案.docx_第3页
第3页 / 共12页
西工大《C语言程序设计》作业机考参考答案.docx_第4页
第4页 / 共12页
西工大《C语言程序设计》作业机考参考答案.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

西工大《C语言程序设计》作业机考参考答案.docx

《西工大《C语言程序设计》作业机考参考答案.docx》由会员分享,可在线阅读,更多相关《西工大《C语言程序设计》作业机考参考答案.docx(12页珍藏版)》请在冰豆网上搜索。

西工大《C语言程序设计》作业机考参考答案.docx

西工大《C语言程序设计》作业机考参考答案

西工大2020年4月《C语言程序设计》作业机考

试卷总分:

100得分:

96

一、单选题(共35道试题,共70分)

1.一个C程序的执行是从()。

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序文件的第一个函数开始,到本程序main函数结束

正确答案:

A

2.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。

A.auto和register

B.extern和register

C.auto和static

D.static和register

正确答案:

A

3.以下存储类型只有在使用时才为该类型变量分配内存的是()。

A.auto和static

B.auto和register

C.register和static

D.static和extern

正确答案:

B

4.运行程序:

#include

main()

{

intn='c';

switch(n++)

{default:

printf("error");break;

case'a':

case'A':

case'b':

case'B':

printf("good");break;

case'c':

case'C':

printf("pass");

case'd':

case'D':

printf("warn");

}

}则输出结果是()。

A.good

B.pass

C.warn

D.passwarn

正确答案:

D

5.下面程序的输出结果是()。

main()

{

intx=177;

printf("%o\n",x);

A.177

B.261

C.-61

D.61

正确答案:

B

6.若二维数组a由m列,则在a[i][j]之前的元素个数为()。

A.j*m+i

B.i*m+j

C.i*m+j-1

D.i*m+j+1

正确答案:

B

7.以下叙述中错误的是()。

A.改变函数形参的值,不会改变对应实参的值

B.函数可以返回地址值

C.可以给指针变量赋一个整数作为地址值

D.当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL

正确答案:

C

8.下面能正确表示"整数x的绝对值大于等于5"的C语言表达式是()。

A.x≥0

B.abs(x)≥0

C.abs(x)>=0

D.abs(int(x))>=0

正确答案:

C

9.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>b)后n的值为()。

A.1

B.2

C.3

D.4

正确答案:

B

10.{有以下程序#includemain0{inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是()。

A.741

B.963

C.852

D.875421

正确答案:

C

11.以下选项中,与k=n++完全等价的表达式是()。

A.k=n,n=n+1

B.n=n+1,k=n

C.k=++n

D.k+=n+1

正确答案:

A

12.C语言程度的基本单位是()。

A.函数

B.标识符

C.表达式

D.语句

正确答案:

A

13.在C语言中,二维数组元素在内存中的存放顺序是()。

A.按行存放

B.按列存放

C.由用户自己定义

D.由编译器决定

正确答案:

A

14.若定义inta=7;floatx=2.5;y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。

A.2.500000

B.2.750000

C.3.50000

D.0.000000

正确答案:

A

15.逻辑运算符两侧运算对象的数据类型()。

A.只能是0或1

B.只能是0或非0正数

C.只能是整型或字符型数据

D.可以是任何类型的数据

正确答案:

D

16.以下选项中不属于字符常量的是()。

A.′C′

B.′′C′′

C.′\xCC′

D.′\072′

正确答案:

B

17.下列不正确的字符串常量是()。

A.'ABC'

B."W'"

C."SDF/3"

D.""

正确答案:

B

18.若希望当A的值为奇数时,表达式的值为"真"。

A的值为偶数时,表达式的值为"假",则以下能满足要求的表达式是()。

A.A%2==1

B.!

(A%2==0)

C.!

(A%2)

D.A%2

正确答案:

A

19.以下不正确的定义语句是()。

A.doublex[5]={2.0,4.0,6.0,8.0,10.0;

B.inty[5]={0,1,3,5,7,9;

C.charc1[]={′1′,′2′,′3′,′4′,′5′;

D.charc2[]={′\x10′,′xa′,′\x8′;

正确答案:

B

20.有以下程序

#include

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;

}

printf("a=%d,b=%d\n",a,b);

}

A.a=1,b=0

B.a=2,b=2

C.a=1,b=1

D.a=2,b=1

正确答案:

D

21.以下描述错误的是()。

A.break语句不能用于循环语句和switch语句外的任何其他语句

B.在switch语句中使用break语句或continue语句的作用相同

C.在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环

D.在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环

正确答案:

B

22.有定义语句:

chars[10];,若要从终端给s输入5个字符,错误的输入语句是()。

A.gets(&s[0]);

B.scanf("%s",s+1);

C.gets(s);

D.scanf("%s",s[1]);

正确答案:

D

23.判断char型变量CH是否为大写字母的正确表达式是()。

A.'A'<=CH<='Z'

B.(CH>='A')&(CH<='Z')

C.(CH>='A')&&(CH<='Z')

D.('A'<=CH)AND('Z'>=CH)

正确答案:

C

24.下面程序的输出结果是()。

main()

{intx=5,y=9,z=1,t;

t=(x>y||x>z);

printf("%d\n",t);

A.1

B.0

C.5

D.3

正确答案:

A

25.已知x=43,ch='A',y=0;则表达式x=y&&ch<'B'&&!

y的值是()。

A.0

B.语法错

C.1

D."假"

正确答案:

D

26.下列程序执行后的输出结果是()。

#defineMA(x)x*(x+1)

main()

{

inta=2,b=3;

printf("%d\n",MA(1+a+b));

A.6

B.8

C.24

D.42

正确答案:

C

27.若i为整型变量,则以下循环执行次数是()。

A.无限次

B.0次

C.1次

D.2次

正确答案:

B

28.若有说明:

int*p,m=5,n;,以下正确的程序段是()。

A.p=&n;scanf("%d",&p);

B.p=&n;scanf("%d",*p)

C.scanf("%d",&n);*p=n;

D.p=&n;*p=m;

正确答案:

D

29.()是构成C语言程序的基本单位。

A.函数

B.过程

C.子程序

D.子例程

正确答案:

A

30.有以下程序

main()

{inti,s=1;

for(i=1;i<50;i++)

if(!

(i%5)&&!

(i%3))s+=i;

printf("%d\n",s);

A.409

B.277

C.1

D.91

正确答案:

D

31.定义inti=1;则执行语句while(i++<5);后,i的值为()。

A.3

B.4

C.5

D.6

正确答案:

D

32.下面判断正确的是()。

A.char*a="china";等价于char*a;*a="china";

B.charstr[5]={"china";等价于charstr[]={"china";

C.char*s="china";等价于char*s;s="china";

D.charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";

正确答案:

C

33.feof函数用来判断文件是否结束,如果文件没有结束,则返回值是()。

A.-1

B.0

C.1

D.EOF

正确答案:

D

34.对for(表达式1;;表达式3)可理解为()。

A.for(表达式1;0;表达式3)

B.for(表达式1:

1;表达式3)

C.for(表达式1;表达式1;表达式3)

D.for(表达式1;表达式2;表达式3)

正确答案:

B

35.设有说明语句:

chara='\72';则变量a()。

A.包含1个字符

B.包含2个字符

C.包含3个字符

D.说明不合法

正确答案:

A

二、判断题(共15道试题,共30分)

1.在C程序中,%是只能用于整数运算的运算符。

A.错误

B.正确

正确答案:

正确

2.若一个外部变量的定义形式为staticintx;其中static的作用是使x只能在本文件内引用。

A.错误

B.正确

正确答案:

正确

3.C语言程序中,一个文件中的函数可以引用存储在另一个文件中的函数和变量。

A.错误

B.正确

正确答案:

正确

4.'\\0','\101','X1f'均是合法的转义字符。

A.错误

B.正确

正确答案:

错误

5.一个C源程序文件由一个或多个函数组成,由此可见函数是一个独立的编译单位。

A.错误

B.正确

正确答案:

错误

6.用typedef可以定义各种类型名,但不能用来定义变量。

A.错误

B.正确

正确答案:

正确

7.若变量a和x均为double类型,则代数式x^2-e^5转化为正确的C语言表达式为:

x*x-exp(5)。

A.错误

B.正确

正确答案:

正确

8.在循环体内使用break语句或continue语句的作用相同。

A.错误

B.正确

正确答案:

错误

9.0a12,-0x123,-0xa均是正确的八进制或十六进制数。

A.错误

B.正确

正确答案:

错误

10.for循环是先执行循环体语句,后判断表达式。

A.错误

B.正确

正确答案:

错误

11.一个可执行的C语言程序总是从main()函数的入口地址处开始执行。

A.错误

B.正确

正确答案:

正确

12.两个字符串所包含的字符个数相同时才能比较字符串大小。

A.错误

B.正确

正确答案:

错误

13.&b指的是变量b的地址处所存放的值。

A.错误

B.正确

正确答案:

错误

14.空语句是合法的C语句。

A.错误

B.正确

正确答案:

正确

15.局部静态变量是在编译时赋初值的,即只赋初值一次。

A.错误

B.正确

正确答案:

正确

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1