当前位置:文档之家› 最简单的C程序设计-顺序程序设计 习题四及参考答案

最简单的C程序设计-顺序程序设计 习题四及参考答案


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;
三、编程题
1、 编写程序,输出如下信息: ********************************** very good! ********************************** main( ) { printf(" ***************************\n"); printf(" very good! \n"); printf(" ***************************\n"); }
scanf("%f,%f,%f",&a,&b,&c); 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("area=%f\n",area); } }
/* 判断两边之和大于第三边 /*调用开方函数,计算面
第四章习题参考答案
1、 单项选择题(P90)
1、putchar()函数可以向屏幕输出一个( ) A)整形变量值 B)实型变量值 C)字符 D)字符或字符变量值 2、以下选项中不是C语句的是( )。 A){int i;i++;printf("%d\n",i);} 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("%d%d%d",a,b,c); C)scanf("%D%D%D",&a,&b,&c); D)scanf("%d%d%d",&a,&b,&c); 6、若float a,b,c; 要通过语句:scanf("%f %f %f",&a,&b,&c); 分别 为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("%f",&c); B)scanf("8.4f",&c); C)scanf("%6.2f",&c); D)scanf("8f",&c); 8、执行语句:printf("|%10.5f|\n"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("%d,%d,%d\n",a,b,c); A)3,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,3 10、若a为int类型,且a=125,执行下拉语句后的输出是( )。 printf("%d,%o,%x\n",a,z+1,a+2); A)125,175,7D B)125,176,7f C)125,176,7D
2、编些程序,输入9时23分并把它化成分钟后输出。(从零点开始计 算) main( ) { int hour,min; scanf("%d,%d",&hour,&min); min=60*hour+min; printf("%d\n",min); } 3、 编写程序,分别转换摄氏温度-10℃,0℃,15℃,34℃为华氏 温度,摄氏温度与华氏温度满足下列关系式(C表示摄氏温度, F表示华氏温度) C=(5/9)(f-32) main( ) { float c , f; scanf("%f",&c); f=32+9.0*c/5; printf("%f\n",f); } 按题目要求分别输入-10,0,15和34计算相应的华氏温度。 4、设圆半径为5,编写成,求圆的周长和圆面积。 main() { float r,l,s; scanf("%f",&r); l=2*3.141592*r; s=3.14159*r*r; printf("r=%f, l=%f, s=%f\n",r,l,s); } 5、编写程序,输入三角形的3个边长A、B、C,求三角形的面积搜索。 公式为: 其中,s=(a+b+c)/2 #include<math.h> main( ) { float a,b,c,s,area;
其中,3个数**依次表示a,b,c的值,**.** 表示a,b,c的平均值 main( ) { float a,b,c,aver; printf(“Please input three numbers:\n”); scanf("%f,%f,%f",&a,&b,&c); aver=(a+b+c)/3; printf("average of %5.2f,%5.2f and %5.2f is %5.2f",a,b,c,aver); } 9、执行下列程序,按制定方式输入(□表示空格),能否得到指定的输出 结果?若不能,请修改程序,使之能得到指定的输出结果。 输出:2□3□4 输出:a=2,b=3,c=4 x=6,y=24 main( ) { int a,b,c ,x,y; scanf("%d %d %d",&a,&b,&c); x=a*b;y=x*c; printf("a=%d,b=%d,c=%d\n",a,b,c); printf("x=%d,y=%d\n",x,y); }
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("a=%3d,b=%-4d,c=**%d\n",a,b,c); printf("d=%3.1f\ne=%6.2f\nf=%-10.4f**",d,e,f); } 7、编写程序,读入3个整数给a,b,c,然后交换它们中的数,使a存放b 的值,b存放c的值,c存放a的值。 main( ) { int a,b,c,t ; scanf("%d,%d,%d",&a,&b,&c); printf("a=%d,b=%d,c=%d\n",a,b,c); t=a; a=b; b=c; c=t; printf("a=%d,b=%d,c=%d\n",a,b,c); } 8、编写程序输入3个数a,b,c,求它们的平均值,并安如下形式输出: average of **、** and ** is **.**
a=b=c=0; c=(a-=a-3,a=b,b+3); printf("%d,%d,%d\n",a,b,c); 7.下面程序的输出结果是________。(3) main() {int x=10,y=3,z; printf("%d\n",z=(x%y,x/y)); } 8.若double a,b,c; 要求为a、b、c分别输入10、20、30。输入序列为:(□表示空格) □ 10.0□□20.0□□30.0 则正确的输入语句是_____________。(输入语句的格式是: scanf(" %lf %lf %lf");) 9.下面程序的输出结果是__________。(13 13.000000 main() {double a;float b;int c; c=b=a=40/3; printf("%d %f %f\n",c,b,a); } 13.000000)
D)125,175,2F

二、
填空题
1.{a=3; c+=a-b;}在语法上被认为是________条语句,空语句的形式是 ______。 (一条 ;) 2.若float x; 以下程序段的输出结果是__________。(5.169000) 3.以下程序段中输出语句执行后的结果依次是___________、 __________、__________。 (1)-200 2500 (2)i=-200,j=2500 (3)i=-200 j=2500 int i=-200,j=2500; printf("(1)%d %d",i,j); printf("(2)i=%d,j=%d\n",i,j); printf("(3)i=%d\nj=%d\n",i,j); 4.当运行以下程序时,在键盘上从第一列开始输入9876543210<cr>(此 处<cr>代表按回车键),则程序的输出结果是__________。(a=98, b=765.000000, c=4321.000000) main() {int a; float b,c; scanf("%2d%3f%4f",&a,&b,&c); printf("\na=%d,b=%f,c=%f\n",a,b,c); } 5.以下程序段要求通过scanf函数给变量赋制,然后输出变量的值。 写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种 可能输入形式__________、__________和__________。 int k; float a;double x; scanf("%d%f%lf"),&k,&a,&x); printf("k=%d,a=%f,x=%f\n",k,a,x); 三种可能的输入是: (1) (1) 100<回车> 25.81<回车> 1.89234<回车> (2) (2) 100<空格> 25.81<空格> 1.89234<回车> (3) (3) 100<TAB> 25.81<TAB> 1.89234<回车> 6.执行下列程序段后,输出结果是__________。(0,0,3) int a,b,c;
相关主题