您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第3章 数据的输入输出
第3章数据的输入输出共37页第2页主要内容►字符输出函数putchar►格式输出函数printf►字符输入函数getchar►格式输入函数scanf►程序案例►小结共37页第3页3-1字符输出函数putchar►字符输出函数putchar的作用是在标准输出设备上输出一个字符。►函数调用的一般格式是:►putchar(c);►其中,putchar是函数名,圆括号中的c是函数参数,可以是字符型或整型的常量、变量或表达式。►putchar函数是标准输出函数,在使用标准输入/输出(I/O)库函数时,要用预处理命令“#include”将“stdio.h”文件包括到用户源文件中。即:►#includestdio.h或#includestdio.h共37页第4页3-1字符输出函数putchar►包含的两种方式略有区别。用一对尖括号括起文件名的文件包含命令,预处理程序不检查当前目录,只按系统指定的路径检索文件。如在TurboC中系统指定的路径一般是TC\INCLUDE。►当用一对双引号“”括起文件名的文件包含命令时,预处理程序首先检查当前目录,在当前目录中没有找到时,再按系统指定的路径检索文件。►在C语言中,凡在需要使用标准I/O库中的函数时,都应在程序前面使用上述预处理命令。但在使用printf和scanf函数时,则可以不用。共37页第5页3-2格式输出函数printf►printf函数的一般格式►格式字符共37页第6页3-2-1printf函数的一般格式►printf函数的调用格式►printf函数说明共37页第7页printf函数的调用格式►printf函数的调用格式为:►printf(格式控制,输出表列);►printf函数主要功能是按格式控制所指定的格式,从标准输出设备上输出“输出表列”中列出的各输出项。在printf函数结尾加上“;”就构成了格式输出语句。共37页第8页printf函数说明►格式控制”实际上是由双引号括起来的字符串。它包括两种信息:格式说明。由“%”和格式说明符组成,用来指定输出数据的输出格式。不同类型的数据需要不同的格式说明符。如%d、%f。格式说明总是以“%”字符开头。它的作用是将输出的数据转换为指定的格式输出。普通字符。就是需要原样输出的字符或转义字符。►“输出表列”由若干个变量或表达式组成,之间用逗号“,”隔开。共37页第9页printf函数说明普通字符printf(a=%d,b=%d,a,b);格式说明输出表列共37页第10页3-2-2格式字符►格式说明符►附加格式说明符►普通字符►使用格式输出printf函数时,应注意以下几点共37页第11页格式说明符►整型数据输出输出int或shortint型数据的格式说明符有%d、%o、%x(或%X)、%u。►实型数据输出输出实型数据的格式说明符有%f、%e(或%E)、%g。►字符型数据输出字符型数据输出用格式说明符%c和%s。%c指定输出一个字符,与putchar函数的功能相同;%s指定输出一个字符串常量或一个字符数组中存放的字符串。共37页第12页printf函数格式说明符共37页第13页附加格式说明符►整型数据附加格式说明“%md”中m为指定的输出字段宽度。如果数据的位数小于m,则左端补以空格,若数据的位数大于m,则按数据的实际长度输出。►实型数据附加格式说明“%m.nf”指定输出实数共有m列,其中有n位小数。若实数的长度大于m,则实数突破m的限制,按实际长度输出。如果实数的长度小于m,则在其输出左端补空格。►字符型数据附加格式说明同样,也可以指定输出字符的宽度。共37页第14页printf函数中常用的附加格式说明符共37页第15页普通字符►格式控制中前面没有“%”的字符都是普通字符,可以是可视字符,也可以是转义字符,在输出时会原样输出,例如,前面的“a=,b=”。共37页第16页使用格式输出printf函数时,应注意以下几点►“输出表列”中的数据类型应与格式说明相匹配。►格式字符一般应该采用小写字母,如%d不要写成%D。►在printf函数的“格式控制”字符串中可以加入“转义字符”,如“\n”、“\t”、“\b”、“\r”、“\f”、“\377”等。►一个格式说明以“%”开头,其后紧跟着格式说明字符d、o、x、u、c、s、f、e其中之一。格式说明之间可以插入能够原样输出的普通字符。►当需要输出字符“%”时,应在“格式控制”字符串中连续用两个“%”。共37页第17页3-3字符输入函数getchar►字符输入函数getchar的作用是从标准输入设备上输入一个字符。函数调用的一般格式是:getchar();►其中,getchar函数是无参函数,但调用getchar函数时后面的括号不能省略。在输入时,空格、回车键等都作为字符读入,而且,只有在用户键入回车键后,读入才开始执行,一个getchar函数只能接收一个字符。►注意:getchar函数是标准输入函数,在使用标准输入/输出(I/O)库函数时,也要使用预处理命令“#include”将“stdio.h”文件包括到用户源文件中。即:#includestdio.h或#includestdio.h共37页第18页3-4格式输入函数scanf►scanf函数的一般格式►格式字符►通过scanf函数从键盘输入数据►scanf函数输入中常见错误分析共37页第19页3-4-1scanf函数的一般格式►scanf函数的调用格式►scanf函数格式说明共37页第20页scanf函数的调用格式►scanf函数的调用格式为:►scanf(格式控制,地址表列);►scanf函数主要功能是按所指定的格式从标准输入设备读入数据,并将数据存入“地址表列”所指定的存储单元中。在scanf函数结尾加上“;”就构成了格式输入语句。共37页第21页scanf函数格式说明►“格式控制”是由双引号括起来的字符串,仅包括格式说明部分,格式说明由“%”和格式说明符组成,用于指定输入数据的类型。►“地址表列”由一个或多个变量的地址组成,就是在变量名前加“&”,当变量地址有多个时,各变量地址之间用逗号“,”隔开。“地址表列”中的地址个数必须与格式参数个数相同,并且依次匹配。共37页第22页scanf函数格式说明scanf(%d%d%d,&a,&b,&c);格式控制地址表列共37页第23页3-4-2格式字符►格式说明符►附加格式说明符共37页第24页格式说明符►在scanf函数中,根据输入数据的类型,输入的格式说明符可以分为整型数据输入、实型数据输入、字符型数据输入3类。共37页第25页scanf函数格式说明符共37页第26页附加格式说明符►附加格式说明符出现在“%”和格式说明符之间,主要用于对输入的长整型和双精度实型数据做进一步的说明。共37页第27页scanf函数中常用的附加格式说明符共37页第28页3-4-3通过scanf函数从键盘输入数据►系统自动按指定输入数据的列宽截取数据►用“*”实现“跳过”►输入数据时不能规定精度►输入的数据少于scanf函数要求输入的数据共37页第29页系统自动按指定输入数据的列宽截取数据►scanf(%4d%2d,&a,&b);►输入123456,则系统自动将1234赋给a,56赋给b。共37页第30页用“*”实现“跳过”►scanf(%3d,%*3d,%2d,&a,&b)►若输入为:12,345,67将12赋给a,67赋给b。第二个数345跳过,未赋给任何变量。共37页第31页输入数据时不能规定精度►scanf(%7.2f,&a);►这样是不合法的。共37页第32页输入的数据少于scanf函数要求输入的数据►当输入的数据少于输入项时,程序等待输入,直到满足要求为止。当输入的数据多于输入项时,多余的数据并不消失,而是留作下一个输入操作时的输入数据。共37页第33页3-4-4scanf函数输入中常见错误分析►scanf函数中的“格式控制”后面为变量地址,而不是变量名。►在输入数据时,应将“格式控制”中除格式说明以外的其他字符照样输入。►在用c格式符“%c”时,输入的空格字符、转义字符均为有效字符输入。►在输入数据时,除遇空格、按【Enter】或按【Tab】键是结束输入外,以下几种情况计算机也认为是结束输入:遇宽度结束。遇非法输入结束。共37页第34页3-5程序案例输入三角形的3条边,求三角形的面积。►#includemath.h►main()►{►floata,b,c,s,area;►scanf(%f,%f,%f,&a,&b,&c);►s=(a+b+c)/2.0;►area=sqrt(s*(s-a)*(s-b)*(s-c));►printf(a=%.2f,b=%.2f,c=%.2f\n,a,b,c);►printf(area=%.2f,area);►}共37页第35页接上►输入为:►3,4,5►输出结果为:►a=3.00b=4.00c=5.00►area=6.00共37页第36页3-6小结►本章详细讨论了C语言的输入/输出函数。本章需要掌握的知识点有:►数据输出函数有putchar函数和printf函数。putchar函数是单个字符输出函数。函数调用的一般格式是:putchar(c);其中,putchar是函数名,圆括号中的c是函数参数,可以是字符型或整型的常量、变量或表达式。printf函数是格式输出函数。作用是按“格式控制”所指定的格式,在标准输出设备中输出“输出表列”中列出的输出项。printf函数的一般调用格式为:printf(格式控制,输出表列)其中,“格式控制”包括格式说明符和普通字符。“输出表列”由若干个输出项构成,输出项之间用逗号隔开,每个输出项既可以是常量、变量,也可以是表达式。共37页第37页接上►数据输入函数有getchar函数和scanf函数。getchar函数的作用是从标准输入设备输入一个字符。getchar函数调用的一般格式是:getchar();其中,getchar函数是一个无参函数,但调用getchar函数时后面的括号不能省略。在输入时,空格、回车键等都作为字符读入,而且,只有在用户键入回车键后,读入才开始执行,一个getchar函数只能接收一个字符。scanf函数功能是从键盘上输入数据,该输入数据按指定的输入格式被赋给相应的变量值。函数的一般格式为:scanf(格式控制,地址表列)其中,“格式控制”规定数据的输入格式,必须用双引号括起来,其内容仅仅是格式说明符。“地址表列”则由一个或多个变量地址组成,当变量地址有多个时,各变量地址之间用逗号“,”隔开。
本文标题:第3章 数据的输入输出
链接地址:https://www.777doc.com/doc-4049280 .html