C语言程序设计教程课后习题答案 下载本文

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; /*注意分析此处算法*/