C语言1-5章复习题和参考答案.doc

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。

A .-3 B.9 C.-12 D.6

2、若有定义:int a=8, b=5, c;执行语句c=a/b+0.4;后,c的值为()。

A .1.4 B.l C.2.0 D.2

3、有如下程序:

void main()

{

int i,sum;

for(i=l;i<=3;sum++)

sum+=i;

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

}

该程序的执行结果是()。

A .6 B.3 C.死循坏D.O

4、下列关于表达式的描述屮,错误的是()0

A.常量和变量都是表达式。

B.运算符类型对应表达式的类型。

C.每一个表达式都有自己的值。

D.表达式必须以分号结尾。

5、C语言中,合法的长整型常数是()。

A.'\t'

B."A"

C.65

D.a

6、若已定义x和y为double类型,则表达式x=l;y= (x+3) /2的值是()。

A.l

B.2

C.2.00000

D.2.50000

7、表达式:10!二9的值是()o

A.true

B.非零值

C.O

D.l

8、以下程序的输出结果是()。

#include

void main()

{

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

}

A.不确定的

B.O

C.-l

D.l

9、请选出合法的C语言赋值语句。()

A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);

10^假设int b=2;表达式(b»2)/(b»l)的值是()。

A .0 B.2 C.4 D.8

11>关于语句printf("hello world\rT);,下列描述中错误的是()。

A . printf()是格式化输出函数,用于输出信息。

B.printf()括号屮的内容为函数的参数。

C.printf()括号中的内容会全部输出到控制台上。

D.\n表示换行操作。

12、下列选项中,哪一项不是C语言中的位运算符()。

A.&

B.| |

C.~

D.A

13、以下程序的输出结果是()0

void main()

printf(”%c”,c-25);

}

A .a B.Z C.z-25 D.y

14、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。

A . a<>0 B. !a C. a=0 D. a

15、以下循环体的执行次数是()0

void main()

{

int i,j;

for (i=0,j=l; i<=j+l; i+=2,j—)

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

}

A .3 B.2 C.l D.O

16、下列运算符中优先级最高的是()。

A.| |

B.&&

C.+ D =

17> 若有以下定义和语句:char cl='b'/c2='e'; printf("%d,%c\n"/c2-cl,c2-,a'+'A');那么输出结果是()。

A.2,M

B.3,E

C.2,E

D.输出项与对应的格式控制不一致,输岀结果不确定

18、若有以下程序段:int cl=l z c2=2z c3; c3=1.0/c2*cl;那么执行后,c3中的值是()。

A .0 B.0.5 C.l D.2

19、若变量a是int类型,并执行了语句:a=7V+1.6;则下列描述中,正确的是()。

A . a的值是字符宅B. a的值是浮点型

C.不允许字符型和浮点型相加

D. a的值是字符TV的ASCII值加上1

20>若有定义:int x ,i;则下列for循环语句:

for(i = 0,x = 0; i<= 9 && x!=876;i++)

scanf("%d",&x);

下列选项中,描述正确的是()

A.最多执行10次

B.最多执行9次

C.是无限循环

D.循环体一次也不执行

21、假定有以下变量定义:intk=7,x"2;那么能使值为3的表达式是()。

A . x%=(k%=5) B. x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(k%=5)

22、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是()。

void main()

{

int x;

scanf(”%d“,&x);

if (x++ > 5)

pnntf("%d",x);

else

printf("%d\n n,x-);

}

A . 7 和5 B. 6 和3 C. 7 和4 D. 6 和4

23、若已定义x和y为double类型,则表达式:x=l, y=x+3/2的值是()。

A. 1

B. 2

C. 2.0

D. 2.5

24、执行下面程序片段的结果是()0

int x=23;

do

{

printf(,,%2d",x-);

} while (!x);

A.打印出321

B.打印出23

C.不打E卩任何内容

D.陷入死循环

25、以下选项中合法的字符常量是()。

A . h B" B. *\010' C. 68 D. D

26、将二进制数00001011进行>>位运算,将其结果转换为十进制是()。

A . 101 B. 1 C. 11 D. 5

27、下列说法中正确的是()。

A .在switch语句中一定要使用break语句

B.在switch语句中不一定要使用break语句

C.break语句是switch语句的一部分

D.break只能用于switch语句屮

28> 假设有如下的变量定义:int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2;则以下符合C语言语法的表达式是()o

A . a+=a-=(b=4)*(a=3) B. x%(-3)

C. a=a*3=2

D. y=float(i)

29、若a为int型变量,则下列C语言表达屮,不能表达数学关系式10

A ・10

B.a==ll||a==12||a==13||a==14

C.a>10&&a<15

D.!(a<=10)&&!(a>=15)

30、表示关系x<=y<=z的C语言表达式为()o

A.(X<=Y)&&(Y<=Z)

B.(X<=Y)AND(Y<=Z)

C.(X<=Y<=Z)

D.(X<=Y)&(Y<=Z)

二.判断题

1、c语言属于机器语言。(X)

2、C语言中的逻辑值“真〃是用1表示的,逻辑值"假〃是用0表示的。(V)

3、在C语言中转义字符有特殊的含义,它以反斜杠\开头,后面接特定的字符。(V)

4、机器语言是由二进制数0和1组成的一串指令。(V)

5、continue H能用于循环语句。(X)

6、C语言中的逻辑值“真〃是用1表示的,逻辑值“假〃是用0表示的。(V)

7、将浮点型数据转换为整型数据时,小数点后的数会进行四舍五入。(X )

8、字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的双引号()引起来。(X )

9、通常将不可改变的数值称为常量。(V)

10、变量虽有不同的数据类型,但它们所占内存的大小是一样的。(X )

相关文档
最新文档