资源描述:
《第2章 数据输入输出》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章数据输入输出及C程序的上机过程2.1如何在终端设备上实现输入输出2.2标准输入输出函数及其应用2.3TURBOC上机步骤C语言的输入输出功能是靠输入输出函数实现的,这些输入输出函数被放在标准I/O函数库中,标准I/O函数库中的一些公用信息事先放在头文件stdio.h(standardinputandoutput),所以我们一般在程序的开头用命令#include把I/O函数要使用的信息包含到用户程序中。2.1如何在终端设备上实现输入输出特殊的printf和scanf这两个函数可以不用
2、头文件getchar()putchar()scanf()printf()gets()、puts()2.2标准输入输出函数及其应用单字符输入函数getchar()功能:从键盘上接收单个字符说明:无参数;暂停运行,等待从键盘上输入一个字符,再回车;通过赋值语句将函数的返回值送到一字符型变量中。例如:ch=getchar()单字符输出函数putchar()功能:将所带的字符型变量的内容或字符常量输出到显示器屏幕的当前光标处格式:putchar(字符变量)或putchar(‘输出字符’)例如:putchar(ch
3、)或putchar(‘a’)也可输出转义字符,如:putchar(‘101’)例题转义字符见P19页表2.1格式化输入/出函数scanf()、printf()功能:按指定格式输入、输出数据。格式:scanf(“格式控制符”,地址表列)printf(“格式控制”,参数表列)例如:scanf(“%d%d%d”,&a,&b,&c)printf(“sumis%d”,sum);地址表列是由若干个地址组成,可以是变量的地址(由地址运算符&和变量名组成)或字符串的首地址。变量的地址是在定义它们时确定的,是在编译时
4、由系统具体分配的。它们在内存中所占的单元可能是连续的,也可能不连续。举例:scanf(“%d%d%d”,a,b,c)×scanf()只能采用地址表列,不能采用变量表列返回scanf()的格式控制符是以%开始,以单个控制字符结束,中间可插入附加的格式说明符例如:scanf(“%hd%f%ld%c%2d”,&a,&b,&c,&d,&e)scanf()的格式控制符返回scanf()的附加格式说明符返回运用scanf()时应注意的一些问题格式符中如果不带域宽,则以分隔符(空格、Tab键、回车键)作
5、字符串的结束,反之按域宽截取。附加说明符*表示跳过它相应的输入数据例如:scanf(“%2d%*3d%2d”,&a,&b)如果从键盘输入为:123456789则将12赋给a将345跳过去,将67符给b,89舍去。P24页例2.11、12、13不能企图用格式控制符来规定输入数据的精度scanf(“%7.2f”,&a)×用%c格式输入单个字符时,空格字符和转义字符都作为有效字符输入。例如:运用scanf()时应注意的一些问题scanf(“%c%c%c”,&x,&y,&z);如输入abc则‘a’赋给x,空格字符‘’赋给
6、y,‘b’赋给z。scanf(%d,%d”,&a,&b);输入时应采用如下形式:37,486scanf(%d%d”,&a,&b);输入时应采用如下形式:37486scanf(%d:%d:%d”,&a,&b,&c);输入时应采用如下形式:37:486:23在“格式控制”的字符串中除格式控制符外还有其他字符,则应原样输入。在输入数据时遇到以下情况之一认为一个数据输入结束a)遇到空格或按TAB键及回车键b)满足域宽时c)遇到非法字符时如:scanf(“%d%c%f”,&a,&b,&c);若输入:25P12I.3
7、5,则:a被赋值,b被赋值,c被赋值。运用scanf()时应注意的一些问题25‘P’12格式化输出函数printf()说明:“格式控制”部分是不可少的;参数表列可以由0到多个具体参数组成,其中的参数可以是常量、变量、表达式,也可以没有参数。格式控制可分为三种情况:1)不含有“%”的普通字符串。此时第二部分将没有参数,其结果是将该字符串原样输出。可含有转义字符,例如Printf(“Pleaseinputyourdata:”);2)带有格式控制符的格式输出。%+格式控制字符,第二部分有参数,且格式控制符的
8、个数应与后面的参数个数相等,且前后位置要一一对应。printf(“%d%d”,a,b);3)普通字符串和控制字符混合使用此时在格式控制符的位置用后面相应的参数值代替,其余的普通字符串照原样输出。printf(“sumis%d”,sum);例题c28转义字符即以反斜线开头后跟一个字符,意思是将反