第四章习题参考答案
一、 单项选择题(P83)
1、putchar()函数可以向屏幕输出一个( )
A)整形变量值 B)实型变量值 C)字符 D)字符或字符变量值 2、以下选项中不是C语句的是( )。
A){int i;i++;printf(\;} B); C)a=5,c=10 D){;} 3、以下合法的C语句是( )。
A){a=b}; B)k=int(a+b); C)k=a+b=c; D)--i; 4、执行以下程序段后,c3的值是( )。 int c1=1,c2=2,c3; c3=c1/c2;
A)0 B)1/2 C)0.5 D)1
5、若int a,b,c;则为它们输入数据的正确的语句是( )。 A)read(a,b,c); B)scanf(\C)scanf(\D)scanf(\ 6、若float a,b,c; 要通过语句:scanf(\分别为a,b,c输入10,22,23。以下不正确的输入形式是( )。
A)10 B)10.0,22.0,33.0 C)10.0 D)10 22 22 22.0 33.0 33 33
7、若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )。
A)scanf(\ B)scanf(\C)scanf(\
8、执行语句:printf(\,12345.678);的输出是( )。
A)|2345.67800| B)|12345.6780| C)|12345.67800| D)|12345.678| 9、若有以下程序段,其输出结果是( )。 int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(\
A)3,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,3 10、若a为int类型,且a=125,执行下列语句后的输出是( )。
printf(\
A)125,175,7D B)125,176,7f C)125,176,7D D)125,175,2F
二、 填空题
1.{a=3; c+=a-b;}在语法上被认为是________条语句,空语句的形式是______。
(一条 ;)
2.若float x; 以下程序段的输出结果是__________。(5.169000)
x=5.16894
printf(\
3.以下程序段中输出语句执行后的结果依次是___________、__________、__________。 (1)-200 2500 (2)i=-200,j=2500 (3)i=-200 j=2500 int i=-200,j=2500; printf(\
printf(\printf(\
4.当运行以下程序时,在键盘上从第一列开始输入9876543210
main()
{int a; float b,c;
scanf(\
printf(\ }
5.以下程序段要求通过scanf函数给变量赋制,然后输出变量的值。
写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能输入形式__________、__________和__________。
int k; float a;double x; scanf(\
printf(\ 三种可能的输入是: (1) 100<回车> 25.81<回车> 1.89234<回车> (2) 100<空格> 25.81<空格> 1.89234<回车> (3) 100
c=(a-=a-3,a=b,b+3);
printf(\
7.下面程序的输出结果是________。(3)
main()
{int x=10,y=3,z;
printf(\ }
8.若double a,b,c;
要求为a、b、c分别输入10、20、30。输入序列为:(□表示空格)
□ 10.0□□20.0□□30.0
则正确的输入语句是_____________。(输入语句的格式是: scanf(\)
9.下面程序的输出结果是__________。(13 13.000000 13.000000) main()
{double a;float b;int c; c=b=a=40/3;
printf(\ }
10. 若有int a=10,b=20,c=30; 则能使a和c的值互换的语句是________。 三种方法:(1) 增加一个临时变量t。t=a; a=c; c=t; (2) a=a+c; c=a-c; a=a-c; (3) a=a+b;c=c-b; 三、编程题
1、编写程序,输出如下信息:
********************************** very good!
********************************** main( )
{ printf(\ printf(\
printf(\ }
2、编些程序,输入9时23分并把它化成分钟后输出。(从零点开始计算) main( )
{ int hour,min;
scanf(\ min=60*hour+min; printf(\}
3、编写程序,分别转换摄氏温度-10℃,0℃,15℃,34℃为华氏温度,摄氏温度与华氏温度满足下列关系式(C表示摄氏温度,F表示华氏温度) C=(5/9)(f-32) main( )
{ float c , f; scanf(\ f=32+9.0*c/5;
printf(\
}
按题目要求分别输入-10,0,15和34计算相应的华氏温度。
4、设圆半径为5,编写成,求圆的周长和圆面积。 main()
{ float r,l,s; scanf(\ l=2*3.141592*r; s=3.14159*r*r;
printf(\}
5、编写程序,输入三角形的3个边长A、B、C,求三角形的面积搜索。公式为: SS?s(s?a)(s?b)(s?c)
其中,s=(a+b+c)/2 #include
{ float a,b,c,s,area;
scanf(\
if((a+b>c)||(a+c>b)||(b+c>a)) /* 判断两边之和大于第三边 */ { s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c)); /*调用开方函数,计算面积 */
printf(\} }
6、设a=3,b=4,c=5,d=1.2,e=2.23,f=-43.56,编写程序,使程序输出: a=□□3,b=4□□□,c=**5 d=1.2
e=□□2.23 f=-43.56□□** main( )
{ int a=3,b=4,c=5;
float d=1.2,e=2.23,f=-43.56;
printf(\
printf(\}
7、编写程序,读入3个整数给a,b,c,然后交换它们中的数,使a存放b的值,b存放c的值,c存放a的值。 main( )
{ int a,b,c,t ;
scanf(\
printf(\ t=a; a=b; b=c; c=t;
printf(\}
8、编写程序输入3个数a,b,c,求它们的平均值,并安如下形式输出: average of **、** and ** is **.**
其中,3个数**依次表示a,b,c的值,**.** 表示a,b,c的平均值 main( )
{ float a,b,c,aver;
printf(“Please input three numbers:\\n”); scanf(\ aver=(a+b+c)/3;
printf(\} 9、执行下列程序,按制定方式输入(□表示空格),能否得到指定的输出结果?若不能,请修改程序,使之能得到指定的输出结果。 输出:2□3□4
输出:a=2,b=3,c=4 x=6,y=24 main( )
{ int a,b,c ,x,y;
scanf(\
x=a*b;y=x*c;
printf(\printf(\}