第2章 答案 基本数据类型及顺序结构程序设计

发布 2019-07-11 06:04:57 阅读 3112

c)float a=1,*b=&a,*c=&b ; d)double a=0.0,b=1.1;

10、设有说明语句:char a=’\72’;则变量a(a)。

a) 包含1个字符 b) 包含2个字符 c) 包含3个字符 d) 说明不合法。

11、若变量均已正确定义并赋值,以下合法的c语言赋值语句是(a)

a)x=y==5; b)x=n%2.5; c)x+n= i ; d)x=5=4+1;

12、若变量x、y已正确定义并赋值,以下符合c语言语法的表达式是(a)

a)++x,y=x-- b)x+1=y c)x=x+10=x+y d)double(x)/10

13、若变量a、i已正确定义,且i已正确赋值,合法的语句是(b)。

a) a==1 b) +i; c) a=a++=5; d) a=int(i);

14、以下关于逻辑运算符两侧运算对象的叙述中正确的是(d)

a)只能是整数0或1 b)只能是整数0或非0的整数。

c)可以是结构体类型的数据 d)可是任意合法的表达式。

15、已知字母a的ascⅱ**值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是( b)

a)kk>='a'&&kk<='zb)!(kk>='a'‖kk<='z')

c)(kk+32)>=a'&&kk+32)<=z' d)isalpha(kk)&&kk<91)

16、当变量c的值不为时,值也为“真”的表达式是(b)

a)(c==2)‖(c==4)‖(c==6) b)(c>=2&&c<=6)‖(c!=3)‖(c!=5)

c)(c>=2&&c<=6)&&c%2) d)(c>=2&&c<=6)&&c%2!=1)

17、有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++)y++)中的条件表达式(x-y)等价的是(c)。

a)(x-y>0) b)(x-y<0) c)(x-y<║x-y>0) d)(x-y==0)

18、有如下程序段

int a=14,b=15,x;

char c=’a’;

x=(a&&b)&&c<’b’);

执行该程序段后,x的值为(d)。

a) ture b) false c) 0 d) 1

19、设有 int x=11; 则表达式 (x++ 1/3) 的值是(a)。

a) 3 b) 4 c) 11 d) 12

20、若变量已正确定义并赋值,下面符合c语言语法的表达式是 (b)。

a) a:=b+1 b) a=b=c+2 c) int 18.5%3 d) a=a+7=c+b

21、设变量已正确定义并赋值,以下正确的表达式是(c)

a) x=y*5=x+z b) int(15.8%5)

c) x=y+z+5,++y d)x=25%5.0

22、c语言中运算对象必须是整型的运算符是 (a)

a) %b)/ c) =d) 〈

23、能正确表示逻辑关系:“a≥=10或a≤0”的c语言表达式是(d)。

a) a>=10 or a<=0 b) a>=0|a<=10 c) a>=10 &&a<=0 d) a>=10‖a<=0

24、设 int x=1, y=1; 表达式(!x||y--)的值是(b)。

a) 0 b) 1 c) 2 d) -1

25、设 int b=2;表达式(b>>2)/(b>>1)的值是(a)。

a) 0 b) 2 c) 4 d) 8

26、有以下程序段

char ch; int k;

ch='a';

k=12;

printf("%c,%d,",ch,ch,k);

printf("k=%d",k);

已知字符a的ascll十进制**为97,则执行上述程序段后输出结果是(d)

a)因变量类型与格式描述符的类型不匹配输出无定值

b)输出项与格式描述符个数不符,输出为零值或不定值

c)a,97,12k=12

d)a,97,k=12

27、设有定义:int a; float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0《回车》,a和b的值分别是(b)。

a)876和543.000000 b)87和6.000000

c)87和543.000000 d)76和543.000000

28、若有以下程序段,

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是 (a)。

a) 0 b) 0.5 c) 1 d) 2

29、下列程序的输出结果是(c)。

a) 3 b) 3.2 c) 0 d) 3.07

main()

double d=3.2;

int x,y;

x=1.2;

y=(x+3.8)/5.0;

printf("%d ", d*y);

30、下列程序执行后的输出结果是(小数点后只写一位)(a)。

a) 6 6 6.000000 6.0000000 b) 6 6 6.7 6.7

c) 6 6 6.0 6.7d) 6 6 6.7 6.0

main()

double d; float f; long l; int i;

i=f=l=d=20/3;

printf("%d %ld %f %f ", i,l,f,d);

31、下列程序的运行结果是(b)。

a) a=%2,b=%5 b) a=2,b=5

c) a=d, b=d d) a=%d,b=%d

main()

int a=2,c=5;

printf("a=%d,b=%d",a,c);

32、有如下程序

main( )

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

printf(“%d %d”,(x,y++)z+2);

运行该程序的输出结果是 (d)。

a) 3 4 b) 4 2 c) 4 3 d) 3 3

33、有以下程序。

main()

int x,y,z;

x=y=1;

z=x++,y++,y;

printf("%d,%d,%d",x,y,z);

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

a)2,3,3 b)2,3,2 c)2,3,1 d)2,2,1

34、有以下程序。

main(){

int a=0,b=0;

a=10; /给a赋值。

b=20; 给b赋值 */

printf("a+b=%d",a+b); 输出计算结果 */

程序运行后输出结果是(a)。

a)a+b=10 b)a+b=30 c)30 d)出错。

35、有以下程序。

main(){

unsigned char a=2,b=4,c=5,d;

d=a|b;

d&=c;

printf(“%d”,d);

程序运行后的输出结果是(b)

a)3 b)4 c)5 d)6

二、程序阅读题。

1、下列程序执行后的输出结果是 g 。

main(){

int x='f';

printf("%c ",'a'+(x-'a'+1));

2、以下程序的输出结果是 0 。

main()

unsigned short a=65536; int b;

printf(“%d”,b=a);

3、若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是 3 。

c=(a-=(b-5));

c=(a%11)+(b=3);

4、以下程序的输出结果是 2,1

main()

int a=1, b=2;

a=a+b; b=a-b; a=a-b;

printf(“%d,%d”, a, b );

5、以下程序输出的结果是 0 。

main()

int a=5,b=4,c=3,d;

d=(a>b>c);

printf("%d",d);

6、以下程序的输出结果是 16 。

main(){

int a=0;

a+=(a=8);

printf("%d",a);

7、以下程序的输出结果是 261 。

main()

int a=177;

printf("%o",a);

8、若有以下程序。

main()

char a;

a='h'-'a'+'0';

printf("%c",a);

执行后的输出结果是 7 。

9、以下程序运行后的输出结果是 b 。

main()

char m;

m='b'+32; printf("%c",m);

10、以下程序运行后的输出结果是 3 。

main()

int p=30;

printf("%d",(p/3>0 ? p/10 : p%3));

11、以下程序运行时若从键盘输入:10 20 30《回车》。输出结果是 10300

main()

int i=0,j=0,k=0;

scanf("%d%*d%d",&i,&j,&k);

printf("%d%d%d ",i,j,k);

12、以下程序运行后的输出结果是 10 20 0

main()

int a,b,c;

a=10;b=20;

c=(a%b<1)||a/b>1);

printf("%d %d %d ",a,b,c);

13、以下程序运行后的输出结果是 2 20.000000 。

main()

char c; int n=100;

float f=10; double x;

x=f*=n/=(c=50);

printf("%d %f",n,x);

14、已知字母a的ascii码为65。以下程序运行后的输出结果是 67 g 。

main()

char a, b;

a='a'+'5'-'3'; b=a+'6'-'2' ;

printf("%d %c", a, b);