1)C语言本身并没有提供专门的数据输入/输出语句,而是通过调用系统提供的标准输入/输出库函数来实现数据的输入/输出。
2)掌握数据的输入/输出函数的使用方法,特别是格式输入/输出函数scanf和printf的使用方法以及两者的区别和联系;掌握格式符和变量类型的对应关系;学会利用格式输入/输出函数灵活地设计输入/输出格式。
3)数据的输入和输出是一个应用程序的基础,建议读者通过编程实践逐步深入地掌握。
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项是正确的。
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中用转义字符“\'”表示字符“'”,或者直接将字符“'”看作普通字符原样输出。
阅读下面的程序,给出程序的运行结果。
运行结果:__________。
【答案】
1)使用类型符号:
2)使用变量名:
3)使用常量:
【解析】 在C语言中提供了一个输出所求对象在内存中占用的字节数的运算符sizeof( ),其中括号内可以添加类型标识符、变量名和常量,系统自动返回对应的类型在内存中的存储长度。该程序说明了不同类型的变量和常量在内存中占用不同的字节数,同时也演示了如何通过编程的手段结合输出格式的设计来辅助C语言语法的学习。