版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.4 数据的输入输出数据的输入输出3.4.1 输入输出举例输入输出举例3.4.2 有关数据输入输出的概念有关数据输入输出的概念3.4.3 用用printf函数输出数据函数输出数据3.4.4 用用scanf函数输入数据函数输入数据3.4.5 字符数据的输入输出字符数据的输入输出;3.4.1 输入输出举例输入输出举例例例3.5 求求 方程的根。方程的根。 a、b、c由键盘输入。由键盘输入。 设设 02cbxaxacb42解题思路:首先要知道求方程式的根的方法。解题思路:首先要知道求方程式的根的方法。 假设假设 0,则一元二次方程有两个实根,则一元二次方程有两个实根:acb42aacbbx2421
2、aacbbx2422abp2aacbq242若记若记qpx1qpx2开场开场输入输入a,b,cb2-4ac 0?p=-b/(2a);q=sqrt(b2-4ac)/(2a);x1=p+q;x2=p-q;YN输出输出x1,x2终了终了;#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,&a,&b,&c); disc=b*b-4*a*c; if (disc=0) p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(x1=%7.2fnx
3、2=%7.2fn,x1,x2); return 0;/程序中调用数学函数程序中调用数学函数sqrt/输入输入a,b,c的值的值输入的是双输入的是双精度型实数精度型实数;#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,&a,&b,&c); disc=b*b-4*a*c; if (disc=0) p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(x1=%7.2fnx2=%7.2fn,x1,x2); return 0;/程序中调用
4、数学函数程序中调用数学函数sqrt/输入输入a,b,c的值的值要求输入要求输入3个实数个实数自动转成实数后赋给自动转成实数后赋给a,b,c;#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,&a,&b,&c); disc=b*b-4*a*c; if (disc=0) p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(x1=%7.2fnx2=%7.2fn,x1,x2); return 0;/程序中调用数学函数程序中调用数学函数s
5、qrt/输入输入a,b,c的值的值输出数据占输出数据占7列,其中小数占列,其中小数占2列列;3.4.2 有关数据输入输出的概念有关数据输入输出的概念几乎每一个几乎每一个C程序都包含输入输出。程序都包含输入输出。(1) 所谓输入输出是以计算机主机为主体而言的所谓输入输出是以计算机主机为主体而言的.从计算机向输出设备从计算机向输出设备(如显示器、打印机等如显示器、打印机等)输出数据称为输输出数据称为输出。出。从输入设备如键盘、磁盘、光盘、扫描仪等向计算机输从输入设备如键盘、磁盘、光盘、扫描仪等向计算机输入数据称为输入。入数据称为输入。;3.4.2 有关数据输入输出的概念有关数据输入输出的概念(2)
6、 语言本身不提供输入输出语句语言本身不提供输入输出语句输入和输出操作是由输入和输出操作是由C标准函数库中的函数来实现的标准函数库中的函数来实现的printf和和scanf不是语言的关键字,而只是库函数的名字。不是语言的关键字,而只是库函数的名字。putchar、getchar、puts、gets(3) 在使用输入输出函数时,要在程序文件的开头用预编译指令在使用输入输出函数时,要在程序文件的开头用预编译指令#include 或或#include stdio.h;3.4.3 用用printf函数输出数据函数输出数据在在C程序中用来实现输出和输入的,主要是程序中用来实现输出和输入的,主要是print
7、f函数和函数和scanf函数函数这两个函数是格式输入输出函数这两个函数是格式输入输出函数用这两个函数时,必须指定格式。用这两个函数时,必须指定格式。;3.4.3 用用printf函数输出数据函数输出数据printf函数函数 作用:向终端输出若干个任意类型的数据。作用:向终端输出若干个任意类型的数据。 格式:格式:printf格式控制,输出表列)格式控制,输出表列) 例如:例如:printf(”i=%d,c=%cn”,i,c);格式声明格式声明格式控制格式控制由双引号括起来的一个字符串。由双引号括起来的一个字符串。 格式声明:格式声明: 由百分号由百分号“%”“%”和格式字符组成,如和格式字符组
8、成,如%d%d、%f%f等。(必须有)等。(必须有) 转义字符。转义字符。 普通字符:照原样输出的字符。普通字符:照原样输出的字符。输出列表输出列表 输出数据列表,可以不完全输出所有数据。输出数据列表,可以不完全输出所有数据。 可以是常量、可以是常量、变量或表达式变量或表达式;3.4.3 用用printf函数输出数据函数输出数据printf函数用的输出格式函数用的输出格式%d(%d(或或%i): %i): 以带符号的十进制形式输出整数以带符号的十进制形式输出整数%o: %o: 以八进制无符号形式输出整数以八进制无符号形式输出整数%x(%x(或或%X): %X): 以十六进制无符号形式输出整数以
9、十六进制无符号形式输出整数%u: %u: 以无符号十进制形式输出整数以无符号十进制形式输出整数%c: %c: 以字符形式输出,只输出一个字符以字符形式输出,只输出一个字符%s: %s: 输出字符串输出字符串%f: %f: 以小数形式输出单,双精度数,隐含输出六位以小数形式输出单,双精度数,隐含输出六位 小数小数. .%e(%e(或或%E): %E): 以指数形式输出实数以指数形式输出实数. .%g(%g(或或%G): %G): 选用选用%f%f或或%e%e格式中输出宽度较短的一种格式,格式中输出宽度较短的一种格式, 不输出无意义的不输出无意义的0 0;3.4.3 用用printf函数输出数据函
10、数输出数据几种常用的格式修饰符:几种常用的格式修饰符:l(l(或或L) L) 用于整型或用于整型或floatfloat型,可加在格式符型,可加在格式符d d,o o,x x,u u 前面。前面。 例:例:%ld%ld、%Ld%Ld等等m(m(代表一代表一 数据最小的宽度。若数据的位数小于等于数据最小的宽度。若数据的位数小于等于m m位,位, 个正整数个正整数) ) 按按m m位输出;若大于位输出;若大于m m为,则按实际位数输出。为,则按实际位数输出。n(n(代表一代表一 使用方式:使用方式:m.n m.n 例如:例如:%m.ne%m.ne、%m.nf%m.nf、%m.ns%m.ns个正整数个
11、正整数) ) 对实数,输出对实数,输出n n位小数;对字符串,截取位小数;对字符串,截取n n个字符。个字符。_ _负号)负号) 输出数字或字符在域内向左靠齐。输出数字或字符在域内向左靠齐。 例:例: %-m.nf %-m.nf;printf(n格式:格式:%10.2fn);printf(%10.2fn,fi);printf(%10.2fn,fj);printf(%10.2fn,fk);printf(n格式:格式:%-10.2fn);printf(%-10.2fn,fi);printf(%-10.2fn,fj);printf(%-10.2fn,fk); /*输出格式控制输出格式控制*/void
12、 printf_fmt()int i=5,j=-5,k=123456;float fi=3.3,fj=-3.3, fk=36.333333333;char c=A; printf(“n* 输出格式控制输出格式控制 *n);printf(n格式:格式:%5dn);printf(%5dn,i);printf(%5dn,j);printf(%5dn,k); printf(n格式:格式:%10fn);printf(%10fn,fi);printf(%10fn,fj);printf(%10fn,fk);3.4.3 用用printf函数输出数据函数输出数据【注】:【注】: “%f”float型数据只能保证
13、型数据只能保证6位有效数字位有效数字.double型数据能保证型数据能保证15位有效数字位有效数字. %eVC+给出小数位数为位、指数部分占给出小数位数为位、指数部分占3列。列。小数点前必须有而且只有小数点前必须有而且只有1位非零数字。位非零数字。 printf(”%e”,123.456); 输出:输出:1.234560 e+002 计算机输出的数字不都是绝对精确有效的。计算机输出的数字不都是绝对精确有效的。;3.4.4 用用scanf函数输入数据函数输入数据;3.4.4 用用scanf函数输入数据函数输入数据使用使用scanf函数时应注意的问题函数时应注意的问题:scanf(”%f%f%f”
14、,a,b,c); 错错scanf(”%f%f%f”,&a,&b,&c); 对对对于对于scanf(a=%f,b=%f,c=%f,&a,&b,&c); 1 3 2 错错 a=1,b=3,c=2 对对 a=1 b=3 c=2 错错一:地址符号一:地址符号二:输入格式二:输入格式;3.4.4 用用scanf函数输入数据函数输入数据使用使用scanf函数时应注意的问题函数时应注意的问题对于对于scanf(”%c%c%c”,&c1,&c2,&c3); abc 对对 a b c 错错对于对于scanf(”%d%c%f”,&a,&b,&c);若输入若输入 1234a123r.56 ;#include std
15、io.hint main() int a;char b;float c;scanf(%d%c%f,&a,&b,&c);printf(%d %c %fn,a,b,c);return 0;输入:1234a123rx.56输出: 1234 a 123.000000输入数值数据时,若遇到空格、回车、Tab键或非法字符不属于数值字符),认为该数据输入结束。区分:整个输入结束使用回车。;使用使用scanf函数输入字符函数输入字符【留意】:在用【留意】:在用%c格式输入字符时,空格字格式输入字符时,空格字符和符和“转义字符中的字符都属于有效字符输转义字符中的字符都属于有效字符输入。入。;使用使用scanf函
16、数输入字符函数输入字符#include stdio.hint main()char a,b,c;printf(“分别输入字符变量分别输入字符变量a,b,c: );scanf(%c%c%c,&a,&b,&c);printf(na=%c b=%c c=%cn,a,b,c);printf(“n再次输入字符变量再次输入字符变量a,b,c: );scanf(%c%c%c,&a,&b,&c);printf(na=%c b=%c c=%cn,a,b,c);return 0;a a的值是上一次输入的结束符:回车字符,的值是上一次输入的结束符:回车字符,c c的值是的值是空格字符。空格字符。/清除输入缓冲清除输
17、入缓冲fflush(stdio);3.4.5 字符数据的输入输出字符数据的输入输出1. putchar函数函数2. 作用:输出一个字符。作用:输出一个字符。3. putchar函数的一般形式为:函数的一般形式为:4. putchar(c) /输出为字符输出为字符5. 参数参数c可以是:可以是:6. 字符常量、整型常量、字符常量、整型常量、 字符变量、整型变量。其值范围字符变量、整型变量。其值范围7. 为为0127。8. 转义字符。转义字符。;3.4.5 字符数据的输入输出字符数据的输入输出例例3.8 先后输出先后输出BOY三个字符。三个字符。 解题思路:解题思路:定义定义3个字符变量,分别赋以
18、初值个字符变量,分别赋以初值B、O、Y用用putchar函数输出这函数输出这3个字符变量的值个字符变量的值 ;3.4.5 字符数据的输入输出字符数据的输入输出#include int main ( ) char a=B,b=O,c=Y; putchar(a); putchar(b); putchar(c); putchar (n); return 0; /向显示器输出字符向显示器输出字符B/向显示器输出换行符向显示器输出换行符;3.4.5 字符数据的输入输出字符数据的输入输出#include int main ( ) char a=B,b=O,c=Y; putchar(a); putchar(
19、b); putchar(c); putchar (n); return 0; 改为改为int a=66,b=79,c=89;3.4.5 字符数据的输入输出字符数据的输入输出输出转义字符输出转义字符putchar(101) (输出字符输出字符)putchar() (输出单撇号字输出单撇号字符符)注:在注:在C中中ddd表示表示1到到3位的位的8进制所进制所代表的代表的字符字符 。;3.4.5 字符数据的输入输出字符数据的输入输出2. 用用getchar函数输入一个字符函数输入一个字符 getchar函数的一般形式为:函数的一般形式为: getchar( ) /无参数无参数【注】:使用【注】:使用
20、getchar()输入字符时,空输入字符时,空格字符和转义字符有效。格字符和转义字符有效。;3.4.5 字符数据的输入输出字符数据的输入输出 例例3.9 从键盘输入从键盘输入BOY三个字符,然三个字符,然后把它们输出到屏幕。后把它们输出到屏幕。 解题思路:解题思路:用用3个个getchar函数先后从键盘向计算机函数先后从键盘向计算机输入输入BOY三个字符三个字符用用putchar函数输出函数输出;输入输入 BOY 输出:输出: 3.4.5 字符数据的输入输出字符数据的输入输出#include int main( ) char a,b,c; a=getchar(); b=getchar(); c
21、=getchar(); printf(a=);putchar(a); printf(, b=);putchar(b); printf(, c=);putchar(c); putchar(n); return 0; /输入一个字符,送给变量输入一个字符,送给变量a。因为回车属于有效字符,因此输出因为回车属于有效字符,因此输出的的y y属于第属于第3 3个字符,接着输入回车,个字符,接着输入回车,则输入结束。之后显示输出。则输入结束。之后显示输出。a=B, b=O, c=Y输入: x y输出: a=x, b= , c= y;3.4.5 字符数据的输入输出字符数据的输入输出#include int main ( ) char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); put
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轻钢模板施工方案(3篇)
- 酸碱罐泄漏应急预案(3篇)
- 镀锌风管现场施工方案(3篇)
- 青白石台阶施工方案(3篇)
- 职业角色转变指南
- 新护士五年成长计划
- 锅炉大件热处理工复测模拟考核试卷含答案
- 保安员操作管理强化考核试卷含答案
- 铁合金火法冶炼工变革管理考核试卷含答案
- 大型桥梁机械操作工创新方法测试考核试卷含答案
- 2026年新能源汽车充电设施互联互通与电动汽车充电网络布局可行性分析报告
- 2026年北京市海淀区高三下学期二模化学试卷和答案
- 曲面铝单板三维放样及安装施工作业指导书
- 犬肿瘤的流行病学特征与乳腺肿瘤标记物筛查研究
- 2026年社区扫黑除恶常态化测试题
- 问题导学-撬动数学学习的支点-初中-数学-论文
- 2026年贵州遵义市初二学业水平地理生物会考真题试卷+解析及答案
- 文物保护法考试题及答案
- 消防电气装置检验检测流程与标准
- 2026ADA糖尿病诊疗标准解读
- 成都2025年公安辅警笔试题目及参考答案
评论
0/150
提交评论