C语言基本数据类型及运算题库 下载本文

第二章 基本数据类型及运算

一、选择题

1. 若以下选项中的变量已正确定义,则正确的赋值语句是 。

A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3; 答案:C

2. 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是 。

A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0 C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0 答案:C

3. 下列C语言中运算对象必须是整型的运算符是 。

A) %= B) / C) = D) *= 答案:A

4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是 。

A) 0 B) 0.5 C) 1 D) 2 答案:A

5. 设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是 。

A) 把x和y按从大到小排列 B) 把x和y按从小到大排列 C) 无确定结果 D) 交换x和y中的值 答案:D

6. 下列变量定义中合法的是 。

A)short_a=1-.le-1; B)double b=1+5e2.5; C)long do=0xfdaL; D)float 2_and=1-e-3; 答案:A

7. 以下4个选项中,不能被看作是一条语句的是 。

A) {;} B) a=0,b=0,c=0;

C) if (a>0); D) if (b==0)m=1;n=2; 答案:D

8. 设x=1,y=-1,下列表达式中解为8的是 。

A)x&y B)~x│x C)x^x D)x<<=3 答案:D

9. 在C语言中不合法的整数是 。

A)20 B)0x4001 C)08 D)0x12ed 答案: C

10. 以下选项中不正确的实型常量是

A)2.607E-1 B)0.8103e0.2 C)-77.77 D)456e –2 答案:B)

11.若变量已正确定义并赋值,符合C语言语法的表达式是

A)a=a+7 B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 答案:B)

12.以下十六进制数中不合法的是

A)oxff B)0Xabc C)0x11 D)0x19

答案:A)

13. 设int i=2,j=3,k=4,a=4,b=5,c=3;,则执行表达式(a=ik)&&(c=i,j,k)后,c值是 。

A)0 B)1 C)2 D)3 答案:D

14. 下列程序的运行结果是 。

# include “stdio.h” void main( ) { int i=23; do{++i;} while(i);

printf(“%d”,i); }

A)23 B)24 C)死循环 D)无任何结果 答案:C

15.设int a=3,b=4,c=5;,下列表达式的值不为1的是 。

A)a+b>c&&b==c B)a||b+c&&b-c C)!(a>b)&&!c||1 D)!(a+b)+c-1&&b+c/2 答案:A

16.下列不合法的常量是: 。

(1)’?’ (2)’abc’ (3)”Turbo c” (4)’\\0x32’ (5)’\\123’ (6)’’’’ (7)”△” (8)’△’ (9)”\\\\\\” (10)’’a’’’ (11)’\\\\’ (12)’\\0123’(13)’\\xaf’ (14)’王’ (15)”李为民”

(16)”\\xaif” 答案:(2),(12),(14),(16)

17. 下列运算符中,结合方向为自左向右的是( )。

(A)?: (B), (C)+ = (D)+ + 答案:(B)

18. 若有float x;则sizeof (x)和sizeof (float)两种描述( )。

(A)都正确 (B)都不正确 (C)前者正确 (D)后者正确 答案:(A)

19. 有整型变量x,单精度变量y=5.5,表达式x=(float)(y*3+((int)y)%4)执行后,x的值为( )。

(A)17 (B)17.500000 (C)17.5 (D)16 答案:(A)

20. 若给定条件表达式(M)?(a++):(a--),则其中表达式(M) 。

A.和(M==0)等价 B.和(M==1)等价 C.和(M!=0)等价 D.和(M!=1)等价 答案:C

21. 已知float x=1,y;则y=++x*++x的结果是 。

A.y=9 B.y=6 C.y=1 D.表达式是错误的 答案:D

22. 以下程序的输出结果是 。

short i=65535; printf (\

A.65535 B.0 C.语法错误,无输出结果 D.-1 答案:D

23.有变量说明语句int a,b ,c;,顺序执行下面语句: a=b=c=1;

++a||++b&&++c;

那么,变量b的值应是( )

A.2 B.1 C.0 D.3 答案:B

24. 有变量说明int a=3;,则表达式a<1&&--a>1的运算结果和a的值应该是( )

A.0和2 B.0和3 C.1和2 D.1和3 答案:B

25. 以下程序的输出为 。

#include void main( ) {

double x=213.82631; printf(\}

A.213.82 B.21.38e+01 C.2.14e+02 D.-2.14e2 答案:C

26. 下列关于单目运算符+ +、- -的叙述中正确的是 。

A)它们的运算对象可以是任何变量和常量

B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D)它们的运算对象可以是char型变量、int型变量和float型变量 答案:D

27. 有以下程序:

#include void main ( ) {

char a,b,c,*d; a='\\';b='\\xbc';

c='\\0xab';d=\

printf (\}

编译时出现错误,以下叙述中正确的是 。 A)程序中只有“a='\\';”语句不正确 B)“b='\\xbc';”语句不正确

C)“d=\”语句不正确 D)“a='\\';”和“c='\\0xab';”语句都不正确 答案:D

28. 有以下程序:

#include void main ( ) {

int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a

程序运行后的输出结果是 。

A)0,0 B)0,1 C)1,0 D)1,1 答案:C

29. 已定义ch为字符型变量,下列赋值语句中错误的是 。

A)ch='\\'; B)ch=62+3; C)ch=NULL; D)ch='\\xaa'; 答案:A

30. 以下4个选项中,不能看作一条语句的是 。

A){;} B)a=0,b=0,c=0;

C)if (a>0); D)if (b= =0)m=1;n=2; 答案:D

31. 假定有以下变量定义,则能使值为3的表达式是 。

int k=7,x=12;

A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 答案:D

32. 以下程序的输出结果是 。

#include void main( ) {

int x=3,y=2,z=1;

printf (\ printf (\}

A)x/y&z=0 B)x/y&z=1 x^y&~z =0 x^y&~z =0 C)s=x/y&z=0 D)x/y&z=1 s=x^y&~z =1 x^y&~z =1