3.1节
1. 下面的
printf
函数调用产生的输出分别是什么?
(a)
printf("%6d,%4d", 86, 1040);
(b)
printf("%12.5e", 30.253);
(c)
printf("%.4f", 83.162);
(d)
printf("%-6.2g", .0000009979);
2. 编写
printf
函数调用,以下列格式显示
float
型变量
x
。
(a) 指数表示形式,栏宽8,左对齐,小数点后保留1位数字。
(b) 指数表示形式,栏宽10,右对齐,小数点后保留6位数字。
(c) 定点十进制表示形式,栏宽8,左对齐,小数点后保留3位数字。
(d) 定点十进制表示形式,栏宽6,右对齐,小数点后无数字。
3.2节
3. 说明下列每对
scanf
格式串是否等价?如果不等价,请指出它们的差异。
(a)
"%d"
与
" %d"
。
(b)
"%d-%d-%d"
与
"%d -%d -%d"
。
(c)
"%f"
与
"%f "
。
(d)
"%f,%f"
与
"%f, %f"
。
* 4. 假设
scanf
函数调用的格式如下:
scanf("%d%f%d", &i, &x, &j);
如果用户输入
10.3 5 6
调用执行后,变量
i
、
x
和
j
的值分别是多少?(假设变量
i
和变量
j
都是
int
型,变量
x
是
float
型。)
* 5. 假设
scanf
函数调用的格式如下:
scanf("%f%d%f", &x, &i, &y);
如果用户输入
12.3 45.6 789
调用执行后,变量
x
、
i
和
y
的值分别是多少?(假设变量
x
和变量
y
都是
float
型,变量
i
是
int
型。)
6. 指出如何修改3.2节中的addfrac.c程序,使用户可以输入在字符/的前后都有空格的分数。