C语言输入输出函数市公开课金奖市赛课一等奖课件_第1页
C语言输入输出函数市公开课金奖市赛课一等奖课件_第2页
C语言输入输出函数市公开课金奖市赛课一等奖课件_第3页
C语言输入输出函数市公开课金奖市赛课一等奖课件_第4页
C语言输入输出函数市公开课金奖市赛课一等奖课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序基础大连交通大学软件学院计算机基础教研室谷晓琳Software Institute of Dalian Jiaotong University大连交通大学软件学院第1页3月1日星期四第4章 基本输入输出函数1 字符输出函数-putchar() 2 字符输入函数-getchar()4 格式输入函数-scanf()3 格式输出函数-printf()第2页3月1日星期四C语言无I/O语句,I/O操作由函数实现 #include 第3页3月1日星期四1 字符输出函数-putchar()如:putchar(a) /*输出字符a*/putchar(65) /*输出ASCII码为65字符A*/pu

2、tchar(a+2) /*输出字符c*/putchar(n) /*输出一个换行符*/ 格式: putchar( c )参数: c为字符常量、变量或表示式功效:把字符c输出到显示器上第4页3月1日星期四#include “stdio.h”main() int c; char a; c=65; a=B; putchar(c); putchar(n); putchar(a);运行结果:A B例第5页3月1日星期四putchar函数一次只能输出一个字符,该函数有且仅有一个参数putchar函数能够输出转义字符在使用putchar函数前,一定要使用文件包含#include”stdio.h”或#inclu

3、de第6页例2.15# include stdio.h main() char a=b,b=o,c=y; putchar(a); putchar(b); putchar(c); putchar(n); putchar(?); 3月1日星期四结果: boy?第7页3月1日星期四2 字符输入函数-getchar()格式:getchar( )功效:从键盘读一字符返值:正常,返回读取代码值;犯错,返回EOF(-1)第8页3月1日星期四例 #include main() int c; printf(Enter a character:); c=getchar(); printf(%c %xn,c,c);

4、运行结果:Enter a character:AA 41第9页3月1日星期四 #include stdio.h main() char a,b,c; a=getchar(); b=getchar(); c=getchar(); /从键盘连续键入 boy. printf(a=%c,b=%c,c=%c,a,b,c);输入:boy回车 输出:a=b,b=o,c=y假如输入:b回车 o回车 结果:a=b, b= ,c=o第10页3月1日星期四3 格式输出函数-printf()输出列表:要输出数据(能够没有,多个时以“,”分隔)格式控制部分:包含两种信息 格式说明:%格式字符 ,用于指定输出格式 普通字

5、符或转义序列:原样输出 格式:printf(“格式控制部分”,输出列表)功效:按指定格式向显示器输出数据第11页3月1日星期四格式字符1. d格式符用来输出十进制整数。有以下几个使用方法。1)%d,按整型数据实际长度输出;2)%md,m指定输出数据宽度。m0,数据右对齐,左端补以空格3)%-md,m指定输出数据宽度。M0,数据左对齐,右端补以空格若数据宽度大于m,则按实际位数输出;4)%ld,输出长整型数据。P70 例题4.1第12页3月1日星期四2. o格式符 以八进制无符号数输出整数。3. x格式符以十六进制无符号数输出整数。4. u格式符 用来输出unsigned类型数据,即无符号数,以

6、十进制形式输出。 第13页main() int i=-1;printf(“%d,%o,%x,%un”, i,i,i,i);i=123;printf(“%d,%o,%x,%un”, i,i,i,i);3月1日星期四第14页3月1日星期四5. c格式符用来输出一个字符如:char c=a;printf(“%cn”,c);第15页3月1日星期四6. s格式符,用来输出一个字符串。有以下几个使用方法。1)%s,如printf(“%s”,”CHINA”);输出CHINA字符串。2)%ms,输出字符占m列,如字符串长度大于m,字符串原样输出,若小于m,左补空格。3) %-ms,如字符串长度小于m,字符串向

7、左靠,右补空格。 4)%m.ns,输出占m列,但只取字符串左端n个字符。这n个字符输出在m列右侧,左补空格。5)%-m.ns,同上,右补空格。P73 例题4.5第16页3月1日星期四7. f格式符,用来输出实数,以小数形式表示。有以下几个使用方法:1)%f,不指定宽度,整数部分全部输出,并输出6位小数。注意有效位数。2)%m.nf,指定输出数据共占m列,其中保留n位小数,若数值长度小于m,则左端补空格。3) %-m.nf,同上,只是数值项左端靠齐,右端补空格。第17页3月1日星期四8.e格式符1)%e 指数形式输出实数,其中,整数部分占1位,小数部分占5位,指数部分占4位(如e+02)小数点占

8、1位,共11位。如:printf(“%e”,123.456);输出1.23456e+02。2)%m.ne和%-m.ne,同上。9.g格式符 ,用来输出实数,依据数值大小自动选择f格式或e格式输出。P71 例题4.3第18页3月1日星期四d,ix,Xoucse,Efg%格式字符:十六进制无符号整数不带符号十进制整数十进制整数指数形式浮点小数单一字符字符串八进制无符号整数小数形式浮点小数e和f中较短一个百分号本身int a=567;printf ( “%d”,a);int a=255;printf(“%x”,a);int a=255;printf(“%o”,a);int a=567;printf(

9、“%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float a=567.789;printf(“%f”,a);float a=567.789;printf(“%g”,a);printf(“%”);567ff377567AABC5.67789e+02567.789000567.789%说明格式字符要用小写格式字符与输出项个数应相同,按先后次序一一对应输出转换:格式字符与输出项类型不一致,自动按指定格式第19页3月1日星期四例 main() unsigned int u=65535

10、; printf(”u=%dn,u); 输出结果:u=-1例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b); 输出结果: 3 4 a=3, b=4第20页附加格式说明符(修饰符).n对实数,指定小数点后位数(四舍五入)对字符串,指定实际输出位数修饰符功 能m输出数据域宽,数据长度m,左补空格;不然按实际输出输出数据在域内左对齐(缺省右对齐)-指定在有符号数正数前显示正号(+)+输出数值时指定左面不使用空位置自动填00在八进制和十六进制数前显示前导0,0 x#在d,o,x,u前,指定输出精度为long型在e,f,g前,

11、指定输出精度为double型l第21页例 int a=1234; float f=123.456; char ch=a; printf(“%8d,%2dn”,a,a); printf(“%f,%8f,%8.1f,%.2f,%.2en”,f,f,f,f,f); printf(“%3cn”,ch);运行 1234,1234结果: 123.456000,123.456000, 123.5,123.46,1.23e+02 a例 static char a=“Hello,world!” printf(“%sn%15sn%10.5sn%2.5sn%.3sn”,a,a,a,a,a);运行结果:Hello,w

12、orld! Hello,world! Hello Hello Hel 例 m.n第22页例 main() int a=1234; float f=123.456; char c=Hello,world!; printf(nnnn%8d,%-8dn,a,a); printf(%10.2f,%-10.1fn,f,f); printf(%10.5s,%-10.3sn,c,c);运行结果:1234,1234 123.46,123.5 Hello,Hel例 -第23页例 int a=1234; float f=123.456; printf(“%08dn”,a); printf(“%010.2fn”,f

13、); printf(“%0+8dn”,a); printf(“0+10.2fn”,f); 例 0 、+例 int a=123; printf(“%o,%#o,%X,%#Xn”,a,a,a,a); 例 #例 long a=65536; printf(“%d,%8ldn”,a, a); 例 l00 00 00 00 00 00 00 0100 00 00 00 00 00 00 00/00001234/0000123.46/000+1234/000+123.46/173,0173,7B,0X7B/0, 65536第24页4 格式输入函数格式: scanf(“格式控制串”,地址表)功效:按指定格式从

14、键盘读入数据,存入地址表指定 存放单元中,并按回车键结束地址表:变量地址,惯用取地址运算符&格式字符:d,i,o,x,u,c,s,f,e例 scanf(“%d”,&a); 输入:10 则 a=10例 scanf(“%x”,&a); 输入:11 则 a=17第25页3月1日星期四附加格式说明符(修饰符)l修饰符功 能hm*用于d,o,x前,指定输入为short型整数用于d,o,x前,指定输入为long型整数用于e,f前,指定输入为double型实数指定输入数据宽度,遇空格或不可转换字符则结束抑制符,指定输入项读入后不赋给变量例 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 输入

15、 19991015 则1999yy, 10 mm, 15 dd例 scanf(“%3d%*4d%f”,&k,&f); 输入 12345678765.43 则123k, 8765.43f例 scanf(“%2d%*3d%2d”,&a,&b); 输入 1234567 则12a, 67b例 scanf(“%3c%2c”,&c1,&c2); 输入 abcde 则ac1, d c2第26页3月1日星期四输入分隔符指定普通以空格、TAB或回车键作为分隔符其它字符做分隔符:格式串中两个格式符间字符例 scanf(“%d%o%x”,&a,&b,&c); printf(“a=%d,b=%d,c=%d”,a,b,

16、c); 输入 123 123 123 输出 a=123,b=83,c=291例 scanf(“%d:%d:%d”,&h,&m,&s); 输入 12:30:45 则12 h, 30 m, 45 s例 scanf(“%d,%d”,&a,&b) 输入 3,4 则3a, 4 b例 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 输入 a=12,b=24,c=36 第27页3月1日星期四3.3 程序举例#include #include main() float a,b,c,s,area; scanf(%f,%f,%f,&a,&b,&c); s=1.0/2*(a+b+c); area

17、=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2fn,a,b,c,s); printf(area=%7.2fn,area);例 输入三角形边长,求面积输入:3,4,6 输出:a= 3.00, b= 4.00, c= 6.00 s= 6.50 area= 5.33文件包含预处理命令变量定义输入数据输出数据第28页3月1日星期四例 从键盘输入大写字母,用小写字母输出/*ch3_13.c*/#include stdio.hmain() char c1,c2; c1=getchar(); printf(%c,%dn,c1,c1); c2=c1+32; printf(%c,%dn,c2,c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论