C语言课后练习题答案第五章
作业四:简单程序设计
1.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式(B);如果字符串长度小于5,则输出按方式(C)。(5分)(重要)
A) 从左起输出该字符串,右补空格B) 按原字符长从左向右全部输出
C) 右对齐输出该字符串,左补空格D) 输出错误信息
2.阅读以下程序,当输入数据的形式为:25,13,10<CR>(注:<CR>表示回车),则正确的输出结果为(D)。(5分)
main()
{ int x,y,z;
scanf(“%d%d%d”,&x,&y,&z);要和这里一样
printf(“x+y+z=%d\n”,x+y+z);
}
A) x+y+z=48 B) x+y+z=35 C) x+z=35  D) 不确定值
3.根据下面的程序及数据的输入和输出形式,程序中输入数据的正确形式应该为(WXY)。(5分)
main()
{ char ch1,ch2,ch3;
scanf(“%c%c%c”,&ch1,&ch2,&ch3);
printf(“%c%c%c”,ch1,ch2,ch3);
}
4.以下的输出结果是(x=1,y=2*sum*=3
10 Squard is : 100)。(5分)
main()
{ int x=1,y=2;
printf(“x=%d y=%d * sum * =%d\n”,x,y,x+y);
printf(“10 Squared is : %d\n”,10*10);
}
5.若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’,想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。要求输出的结果如下:(20分)
a= 3 b= 4 c= 5
x=1.200000,y=2.400000,z=-3.600000
x+y= 3.6 y+z=-1.20 z+x=-2.40
u= 51274 n= 128765
c1=’a’ or 97(ascll)
c2=’b’ or 98(ascll)
main()
{ int a=3,b=4,c=5;
float x=1.2,y=2.4,z=-3.6;
unsigned u=51274;
long n=128765;
char c1=’a’,c2=’b’;
printf(“a=%d b=%d c=%d\n”,a,b,c);
printf(“x=%f ,y=%f, z=%f\n”,x,y,z);
printf(“x+y=%3.1f y+z=%.2f z+x=%.2f\n”,x+y,y+z,z+x); printf(“u=%u n=%9ld \n”,u,n);
printf(“c1=’%c’or %d (asc11) \n”,c1,c1);
printf(“c2=’%c’or %d (asc11) \n”,c2,c2);
}
6.请写出下面程序的输出结果。(20分)
main()
{ int a=5,b=7;
flat x=67.8564,y=-789.124;
char c='A';
long n=1234567;
unsigned u=65535;
printf("%d%d\n",a,b);
printf("%3d%3d\n",a,b);
printf("%-10f,%-10f\n",x,y);
printf("%f,%f\n",x,y);
printf("%8.2f,%8.2f,%4f,%4f,%3f,%3f\n",x,y,x,y,x,y);
printf("%e,%10.2e\n",x,y);
printf("%c,%d,%o,%x\n",c,c,c,c);
printf("%u,%o,%x,%d,",u,u,u,u);
printf("%s,%5.3s\n" ,"COMPUTER","COMPUTER");
}
57
5 7
67.856400_,-789.124000
67.856400,-789.124000
___67.86, _-789.12, 67.856400,-789.124000, 67.856400,-789.124000 6.785400e1, ___-7.89e2
A,65,101,41
65535,177777,ffff,-1,COMPUTER, __COM
关于printf函数正确的是7.用下面的scanf函数输入数据,使a=3,b=7,x=0.5,y=71.82,c1='A',c2='a',问在键盘上如何输入?(10分)Main()
{int a,b;
float x,y;
char c1,c2;
scanf("a=%d b=%d",&a,&b);
scanf("%f %e",&x,&y);