顺序结构作业解答(2)
一、选择题:
有以下程序:
#include<>
void ma i n ()
( i nt a=10, b=20, c=30; pr intf (''%d\n", (a=50, b*a, c, n); }
程序运行后输出结果是
a) 10 20 b) 10 c) m=10 n=10 d)m=10
20 n=10
答案:d)
解答:
printf语句的格式控制串中有三类字符:
◊格式控制字符:控制输出的表达式的值的格式,%d、%f、%c等;
◊转义字符:\n等控制输出换行等。
◊按原样输出的普通字符:除格式控制字符、转义字符以外的所有字符都成为普 通字符,这类字符会按他所在的位置和样式按原样输出。
有以下程序:
#include<stdio. h>
void ma i n ()
( i nt x,z; fl oat y;
printf (l<input 1020304050<return>\n,,);
scanf("%2d%5f%3d", &x, &y,&z);
pr intf("x=%d y=%f z=%d\n",x,y,z);
}
程序运行后输入1020304050<回车〉,则输出结果是
a)
x=10
y=20304
z=050
b)
x=10
y=20304. 000000
z=050
c)
x=10
y=20304
z=50
d) x=10
答案:d)
y=20304. 000000
z=50
解答:
scanf语句的格式控制串中的域宽的作用:当输入数据宽度够用时,按宽度读取数据; 对于本问题,首先提示用户:输入1020304050 ,然后按回车键;当用户输入:1020304050 并按了 Enter键后,程序的执行过程式这样的:
◊首先按%2d格式,读取两个数字,按有符号十进制数送入变量x中。x=10
◊然后按%5f格式,读取5个数字,按十进制float数送入变量y中。%5f意味着从 当前位置开始包括小数点读取5位。如果输入的数据有小数点,将小数点读入;如 果输入的数据没有小数点,则在数的末尾加上小数点;所以,y=20304. 000000
◊最后按%3d格式,读取三个数字,按有符号十进制数送入变量z中。z=50
◊需要说明的一点:
在scanf语句中读入float类型数据时,用%f格式,可以加整数域宽, 例:%5f,但不可以写成%5. 1f»
在scanf语句中 读入double类型数据时,用%If格式,可以加整数域宽, 例:%5Lf,但不可以写成%5. 1Lf„
9. 若有定义“long x=100000;w,则正确输出x的值的语句是
a) printf (''x=%d" , x); b) printf (''x=%ld,‘,x);
c) printf("x=%f" , x); d) printf("x=%If" , x);
答案:b)
解答:
printf语句的格式控制字符控制输出的表达式的值的格式,%d、%f、%c等;不同类 型的数据需要按指定格式符输出;
int %d; long Id;
float %f; double
%lf;
char %c
“double
C语言顺序结构作业(含解答) 来自淘豆网www.taodocs.com转载请标明出处.