C语言练习题-第三章参考答案(已勘误)

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

C语言练习题---第三章

1、有以下程序

#include<stdio.h>

main()

{short c=124;

c=c_______;

printf(“%d\n”,C);

若要使程序的运行结果为248,应在下划线处填入的是

A)>>2 B)|248 C)&0248 D)<<1

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

#include<stdio.h>

main()

{int a=200,b=010;

printf(”%d%d\n”,a,b);

3、有以下程序

#include<stdio.h>

main()

{int x,y;

Scanf(“%2d%ld”,&x,&y);printf(“%d\n”,x+y);

程序运行时输入:程序的运行结果是34579。

4、有以下程序

#include

Void main()

{

char a,b,c,d;

scanf(”%c%c”,&a,&b);

c=getchar(); d=getchar();

printf(”%c%c%c%c\n”,a,b,c,d);

}

当执行程序时,按下列方式输入数据(从第一列开始,代表回车,注意:回车是一个字符)

12

34

则输出结果是:()

A、1234

B、12

C、12

D、12

3 34

5、有以下程序,其中k的初值为八进制数

#include

main()

{int k=011;

printf(”%d\n”,k++);

}

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

(A)12 (B)11 (C)10 (D)9

6、有以下程序(暂不做)

#include

void fun (char*c,int d)

{*c=*c+1;d=d+1;

printf(”%c,%c,”,*c,d);

}

main()

{char b=’a’,a=’A’;

fun(&b,a); printf(”%c,%c\n”,b,a);

}

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

A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B

7、以下程序

#include

#define SUB(a) (a)-(a)

main()

{int a=2,b=3,c=5,d;

d=SUB(a+b)*c;

printf(”%d\n”,d);

}

程序运行后的结果是C

A)0 B)-12 C)-20 D)10

8、有以下程序

#include

main()

{int a=2,b=2,c=2;

printf(”%d\n”,a/b&c);

}

程序运行后的结果是C

A)0 B)1 C)2 D)3

9、将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出。(暂不做)

10、阅读以下程序

#include

main()

{ int case; float printF;

printf(“请输入2个数:”);

scanf(“%d %f”,&case,&printF);

print f(“%d %f\n”,case,printF);

}

该程序编译时产生错误,其出错原因是

A)定义语句出错,case是关键字,不能用作用户自定义标识符

B)定义语句出错,printF不能用作用户自定义标识符

C)定义语句无错,scanf不能作为输入函数使用

D)定义语句无错,printf不能输出case的值

11、有以下程序

#include

main()

{ int a=1,b=0;

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

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

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

A)0,0

B)1,0

C)3,2

D)1,2

12、有以下程序

#include

main()

{ char c1,c2;

c1='A'+'8'-'4';

c2='A'+'8'-'5';

printf("%c,%d\n",c1,c2);

}已知字母A的ASCII码为65,程序运行后的输出结果是

A)E,68

B)D,69

C)E,D

D)输出无定值

13、若有以下程序段

int r=8;

printf(“%d\n”,r>>1);

输出结果是

A)16

B)8

C)4

D)2

15、若有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值为(1)

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

#include

main()

{ int x=20;

printf("%d",0

printf("%d\n",0

17、程序段:int x=12; double y=3.; printf(“%d%8.6f”,x,y);的输出结果是A)123.B)12 3. C)12,3. D)123.

18、#include

main()

{ int a1,a2;char c1,c2;

scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);

printf(“%d,%c,%d,%c”,a1,c1,a2,c2);

}

若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下代表空格,代表回车)A)12a34b B)12 a 34 b

C)12,a,34,b D)12 a34 b

19、有以下程序

#include

#define PT 3.5;

#define S(x) PT*x*x;

mian()

{ int a=1, b=2; printf(“%4.1f\n”,S(a+b));}

程序运行后输出的结果是

A)14.0 B)31.5 C)7.5 D)程序有错无输出结果

相关文档
最新文档