购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第4章
数据的输入和输出

4.1 本章知识重点

1)C语言本身并没有提供专门的数据输入/输出语句,而是通过调用系统提供的标准输入/输出库函数来实现数据的输入/输出。

2)掌握数据的输入/输出函数的使用方法,特别是格式输入/输出函数scanf和printf的使用方法以及两者的区别和联系;掌握格式符和变量类型的对应关系;学会利用格式输入/输出函数灵活地设计输入/输出格式。

3)数据的输入和输出是一个应用程序的基础,建议读者通过编程实践逐步深入地掌握。

4.2 习题解析

4.2.1 选择题

1.为下面的程序输入数据,使得i=10,k='a',j=15,正确的键盘输入方法是( )。

(用“<回车>”表示回车操作。)

A.10,a,15<回车>

B.10<回车>a<回车>15<回车>

C.10'a'15<回车>

D.10a15<回车>

【答案】 D

【解析】 A项错,因为在格式字符串中没有普通字符',';B项错,因为当数字型数据和字符型数据混合输入时,系统将<回车>作为有效字符赋给变量str,从而导致错误的结果;C项错,因为输入字符常量时不能加单引号;只有D项是正确的输入方法。

2.执行以下程序段:

执行后输出的结果是:

A.0X0

B.0x0

C.0

D.0XABC

【答案】 C

【解析】 程序中输出的变量m的值为0,用十六进制格式符%x输出时不加前缀“0x”,只有表示十六进制的常量时,才需要加前缀“0x”。所以D项结果不对,A项和B项输出方法不对,只有C项是正确的。

3.已知“double x=2.23,y=4.35;”,根据下面的输出结果,正确的程序段是( )。

【答案】 B

【解析】 %f用来以小数形式输出实数,一般形式是%[-][m][.][n]f。

负号表示当实际数据的宽度小于显示宽度时,数据左对齐,数据右方用空格填充。

m表示占用数据的宽度。

n表示指定输出的数据共占m列,其中有n位小数。

如果不指定数据宽度和对齐方式,例如%f,系统将自动指定,使整数部分全部如数输出,并输出6位小数。

根据已知的输出结果,第一行的x、y值不可能是两位小数,所以A项和C项错,D项中输出表列的变量前不应该加取地址运算符'&',只有B项是正确的。

4.2.2 完善题

1.根据下面的输出结果,完善程序。

【答案】 A.int或long

B."s1=%c,ASCII is %ld\n x=%ld,y=%ld"或"s1=%c,ASCII is %d\n x=%d,y=%d"

【解析】 由于x和y都大于32767,不能用short int型,因为2字节最大只能表示到32767,所以可以选择长整型long,输出格式符对应选择%ld。也可以选择整型int,输出格式符对应选择%d。这是因为二者都占用4字节。

B中分别用字符和整型格式符输出两次s1。

2.用scanf函数输入数据,使得程序运行结果为a=2,b='x',c='z'。

【答案】 A.&a,&b B.a=%d,b=\'%c\',c=\'%c\'或a=%d,b='%c',c='%c'

【解析】 B中用转义字符“\'”表示字符“'”,或者直接将字符“'”看作普通字符原样输出。

4.2.3 阅读程序题

阅读下面的程序,给出程序的运行结果。

运行结果:__________。

【答案】

1)使用类型符号:

2)使用变量名:

3)使用常量:

【解析】 在C语言中提供了一个输出所求对象在内存中占用的字节数的运算符sizeof( ),其中括号内可以添加类型标识符、变量名和常量,系统自动返回对应的类型在内存中的存储长度。该程序说明了不同类型的变量和常量在内存中占用不同的字节数,同时也演示了如何通过编程的手段结合输出格式的设计来辅助C语言语法的学习。 UH58jgiBKTsGDX5a3k3uX5D0AwUpWnWwLRD74431UIvIyVA9taG4sSQ4/0u8yYtW

点击中间区域
呼出菜单
上一章
目录
下一章
×