char w; int x; float y; double z;
则表达式w*x+z-y的结果为( )类型。 A. float B. char C. int D. double 答 D.
第三章 顺序结构程序设计 -习题答案
1
变量k为float类型,调用函数scanf(\,不能使变量k得到正确数值的原因是___。 答
格式修饰符与变量类型不一致。因为%d输入的数据类型应该为十进制整数,而&k为占用4个字节的float类型变量的地址。 2
★a=1234,b=12,c=34,则执行“printf(\-3d|\\n\出是___。 答
|1234 1234 |
分析如下:
①=为右对齐输出变量,且指定输出变量的值宽度为3个字符位,如果变量实际位数小于3,则左端补空格,如果变量实际位数大于3,则按实际长度输出,不受限制。
②%-3d为左对齐输出变量,在输出变量时,如是变量实际位数小于3,则在右端补空格,否则按实际输出。 3
★设有“int a=255,b=8;”,则“printf(\\\n\ 答 ff,10
①如果“printf(\\\n\FF,10。说明在输出十六进制字母时,其大小写受格式修饰符的限制,如果是“%x”则输出小写,如果是“%X”则输出大写。
②如果希望在输出十六进制时输出前导符0x或0X,则以上输出语句应改“printf(\\\n\\\n\本条解释不必须掌握。 4
★以下程序输出的结果是___。
main() {
int a1=1,a2=0,a3=2;
printf(\} 答 1,3,1 5
printf函数中用到格式符%5s,其中5表示输出字符占用5列。如果字符串长度大于5,则按___输出;如果字符串长度小于5,则按___输出。 答
①实际 ②左端补空格 6
★已定义变量如下: int a1,a2; char c1,c2;
若要求输入a1、a2、c1和c2的值,正确的输入函数调用语句是___。 答
scanf(\ 7
输入两个整型变量a、b的值,输出下列算式以及运算结果___。 a+b、a-b、a*b、a/b、(float)a/b、a%b
每个算式占一行。如a=10,b=5,a+b输出为:10+5=15 答
设int a=10,b=5;以下为输出语句及结果: ①printf(\\\n\②printf(\-%d=%d\\n\③printf(\\\n\④printf(\\\n\
⑤printf(\\\n\⑥printf(\\\n\ 8
★输入一个非负数,计算以这个数为半径的圆周长和面积。 答
#define PI 3. main() {
float r,l,area;
printf(\scanf(\l=2*PI*r; area=PI*r*r;
printf(\} 9
输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。 答
main() {
int x,y;
printf(\scanf(\
y=100*(x)+10*(x/10)+x/100; /*注意分析此处算法*/