C语言1-5章复习题及参考答案

  • 格式:docx
  • 大小:93.14 KB
  • 文档页数:11

WORD格式 专业资料整理 一.选择题 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.1 C.2.0 D.2

3、有如下程序: void main() { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是( )。 A .6 B.3 C.死循环 D.0

4、下列关于表达式的描述中,错误的是( )。 A . 常量和变量都是表达式。 B. 运算符类型对应表达式的类型。 C. 每一个表达式都有自己的值。 D. 表达式必须以分号结尾。 5、C 语言中,合法的长整型常数是( )。 A . '\t' B.”A” C.65 D.a 6、若已定义 x 和 y 为 double 类型,则表达式 x=1;y=( x+3)

/2 的值是()。

A .1 B.2 C.2.00000 D.2.50000

7、表达式: 10!=

9 的值是

( )。

A . true B. 非零值 C.0 D.1 8、以下程序的输出结果是( )。 #include void main() { printf("%d\n", NULL); } A . 不确定的 B.0 C.-1 D.1

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>>1) 的值是(

)。

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

11、关于语句 prin

tf( “ hel

lo n”,);下列描述中错误的是() 。 WORD格式 专业资料整理 A . printf() 是格式化输出函数,用于输出信息。 B. printf() 括号中的内容为函数的参数。 C. printf() 括号中的内容会全部输出到控制台上。 D. \n 表示换行操作。 12、下列选项中,哪一项不是 C语言中的位运算符() 。 A .& B.|| C.~ D.^ 13、以下程序的输出结果是( )。 void main() WORD格式

专业资料整理 { char c='z'; 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、以下循环体的执行次数是( )。 void main() { int i,j; for (i=0,j=1; i<=j+1; i+=2,j--) printf("%d\n",i); } A .3 B.2 C.1 D.0

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

A .|| B.&& C.+ D.=

17、若有以下定义和语句: char c1='b',c2='e'; printf("%d,%c\n",c2-

c1,c2-'a'+'A'); 那么输出结果

是( )。 A .2,M B.3,E C.2,E

18、若有以下程序段:

D. 输出项与对应的格式控制不一致,输出结果不确定 int c1=1,c2=2,c3; c3=1.0/c2*c1; 那么执行后, c3 中的值是( )。

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

19、若变量 a 是 int A . a 的值是字符 类型,并执行了语句: ’C' B. a 的值是浮点型

a='A'+1.6; 则下列描述中,正确的是( )。

C. 不允许字符型和浮点型相加 D. a 的值是字符 ’A’的 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、假定有以下变量定义: int k=7,x=12; 那么能使值为 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() WORD格式 专业资料整理 { int x; scanf("%d",&x); if (x++ > 5) printf("%d",x); else printf("%d\n",x--); } A.7和5 B.6和 3 C. 7和 4 D. 6和 4 WORD格式

专业资料整理 23、若已定义 x 和 y 为 double 类型,则表达式: x=1,

y=x+3/2 的值是

( )。

A . 1 B. 2 C. 2.0 D. 2.5

24、执行下面程序片段的结果是( int x=23; do { printf("%2d",x--); } while (!x); A . 打印出 321 B. 打印出 23

)。 C. 不打印任何内容 D. 陷入死循环 25、以下选项中合法的字符常量是( )。

A."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 语言语法的表达式是( )。

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 . 10B. a==11||a==12||a==13||a==14 C. a>10&&a<15 D. !(a<=10)&&!(a>=15) 30、表示关系 x<=y<=z 的 C 语言表达式为( )。 A . (X<=Y)&&(Y<=Z) B. (X<=Y)AND(Y<=Z) C. (X<=Y<=Z) D. (X<=Y)&(Y<=Z) 二.判断题 1、C 语言属于机器语言。 ( × ) 2、C 语言中的逻辑值 “真 ”是用 1 表示的,逻辑值 “假 ”是用 0 表示的。( √) 3、在 C 语言中转义字符有特殊的含义,它以反斜杠 开头,后面接特定的字符。 ( √) 4、机器语言是由二进制数 0 和 1 组成的一串指令。 ( √ ) WORD格式 专业资料整理 5、continue 只能用于循环语句。 ( × ) 6、C 语言中的逻辑值 “真 ”是用 1 表示的,逻辑值 “假 ”是用 0 表示的。( √) 7、将浮点型数据转换为整型数据时,小数点后的数会进行四舍五入。 ( × ) 8、字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的双引号( )引起 来。(× ) 9、通常将不可改变的数值称为常量。 ( √ ) 10、变量虽有不同的数据类型,但它们所占内存的大小是一样的。 ( × )