计算机课大一下期cd_第1页
计算机课大一下期cd_第2页
计算机课大一下期cd_第3页
计算机课大一下期cd_第4页
计算机课大一下期cd_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、共 27 页 第 1 页共 27 页 第 2 页 掌握C语言中输入输出数据的方法 掌握各种格式的使用 共 27 页 第 3 页 数据输入输出的概念数据输入输出的概念 输出:从计算机向显示器、打印机等外部设备输出输出:从计算机向显示器、打印机等外部设备输出数据。数据。输入:从标准输入设备键盘、鼠标等向计算机输入数输入:从标准输入设备键盘、鼠标等向计算机输入数据。据。C C语言不提供输入输出语句,输入输出操作是由语言不提供输入输出语句,输入输出操作是由C C函数函数库中的函数实现。库中的函数实现。调用输入输出函数时,要求在源文件中包含调用输入输出函数时,要求在源文件中包含stdio.hstdio.

2、h头文件。头文件。 如如: #include : #include 或或 #include stdio.h #include stdio.h共 27 页 第 4 页1.函数的基本功能函数的基本功能2. 格式:格式:printf(格式控制串,输出表列)格式控制串,输出表列)3. 功能:从标准输出设备上,按指定的格式输出功能:从标准输出设备上,按指定的格式输出对应对应4. 的变量。的变量。2. 函数说明函数说明: (1) 格式控制串由双引号括起来,由格式控制串由双引号括起来,由“%”和格式符和格式符以及普通字符(即需要原样输出的字符组成)。以及普通字符(即需要原样输出的字符组成)。 (2)输出表列

3、是需要输出的一些数据,可以是常量、输出表列是需要输出的一些数据,可以是常量、变量或表达式。变量或表达式。(3)输出的参数必须与格式控制符中的格式说明在类输出的参数必须与格式控制符中的格式说明在类型、个数和位置上一一对应。型、个数和位置上一一对应。共 27 页 第 5 页例例: #include main( ) int a=3, b=4; printf(a=%d b=%d,a,b);运行结果运行结果:a=3 b=4格式说明格式说明(格式字符格式字符)普通字符普通字符输出表列输出表列共 27 页 第 6 页3.格式说明符格式说明符 一般格式一般格式:%-m.nl格式符格式符说明如下说明如下:- 当

4、数据的宽度小于显示宽度时当数据的宽度小于显示宽度时,数据左对齐数据左对齐,右方补空格右方补空格.m 输出数据占输出数据占m个字符位,不够右对齐,左边填空格。个字符位,不够右对齐,左边填空格。n 输出数据有输出数据有n位小数位小数m.n 输出数据占输出数据占m列,列,n位小数位小数对不同类型的数据使用不同的格式字符。有以下几种格式对不同类型的数据使用不同的格式字符。有以下几种格式符:符:共 27 页 第 7 页d: d: 以十进制带符号形式输出整型数以十进制带符号形式输出整型数o o:以八进制无符号形式输出整型数:以八进制无符号形式输出整型数x x:以十六进制无符号形式输出整型:以十六进制无符号

5、形式输出整型u u:以十进制无符号形式输出整型数:以十进制无符号形式输出整型数f f:以小数形式输出单、双精度实型数:以小数形式输出单、双精度实型数e: e: 以指数形式输出单、双精度实型数以指数形式输出单、双精度实型数c: c: 以字符形式输出一个字符以字符形式输出一个字符s: s: 以字符形式输出一个字符串以字符形式输出一个字符串ld:ld:以十进制带符号形式输出长整型数以十进制带符号形式输出长整型数基本格式控制符基本格式控制符共 27 页 第 8 页 (1) d格式符格式符: 输出十进制整数。输出十进制整数。 %d -按整型数据的实际长度输出。按整型数据的实际长度输出。 %md -m为指

6、定的输出字段的宽度为指定的输出字段的宽度.若数据的位数小若数据的位数小于于m,则左端补以空格则左端补以空格;若大于若大于m,则按实际位数输出。则按实际位数输出。 %ld -输出长整型数据输出长整型数据.例:int a=1234; printf(“%3d”,a); printf(“%5d”,a); printf(“%-5d”,a);1234 1234实际实际 左补空左补空1234 左对齐,右补空左对齐,右补空共 27 页 第 9 页(2)o(2)o格式符格式符 以八进制数形式输出整数。以八进制数形式输出整数。 将内存单元中的各位的值将内存单元中的各位的值(0(0或或1)1)按八进制形式输按八进制

7、形式输出出, ,输出的数值不带符号输出的数值不带符号, ,将符号也作为八进制数的一将符号也作为八进制数的一部分输出。部分输出。 例如例如,-1,-1在内存单元中在内存单元中( (以补码形式存放以补码形式存放) )如下如下: : int a=-1; -1 int a=-1; -1: printf(%d,%o,a,a); printf(%d,%o,a,a); 输出输出: : 1 1 11 11 11 11 11 11 11VC+下-1,177777共 27 页 第 10 页(3) x格式符格式符,以十六进制数形式输出整数。以十六进制数形式输出整数。(4) u格式符格式符,以十进制形式输出无符号型数

8、据。以十进制形式输出无符号型数据。 例例 #include main() unsigned int a=65535; int b=-2; printf(a=%d,%o,%x,%un,a,a,a,a); printf(b=%d,%o,%x,%un,b,b,b,b); 输出输出: a=-1,177777,ffff,65535 b=-2,177776,fffe,65534VC+下共 27 页 第 11 页(5) c 格式符格式符 输出一个字符。输出一个字符。例例 char ch=a; printf(%c,ch); 注意:若整数的值在注意:若整数的值在0255范围内范围内,也可以用字符形也可以用字符形

9、式输出。在输出前式输出。在输出前,将该整数转换成相应的将该整数转换成相应的ASCII字字符符;字符数据也可以用整数形式输出。字符数据也可以用整数形式输出。例例 main( ) char c=a; int i=97; printf(%c,%dn,c,c); printf(%c,%dn,i,i); 输出输出: a,97 a,97共 27 页 第 12 页(6)s格式符格式符 输出一个字符串。输出一个字符串。(7)说明:说明: (8)-若不指定字符宽度和对齐方式若不指定字符宽度和对齐方式,则输出全部字符串则输出全部字符串. (9) 例如例如: printf(%s, CHINA); (10) 程序运行

10、输出:程序运行输出: CHINA(11)-若指定宽度若指定宽度m,实际字符个数大于,实际字符个数大于m,按实际宽度按实际宽度输出输出;如果实际字符个数小于如果实际字符个数小于m,字符右对齐,左边字符右对齐,左边填空格。填空格。(12) 例如例如: printf(s1=%s,s2=%3s,s3=%-5.2s,s4=%.3s, abcd, abcd, abcd, abcd) ;(13) 程序运行输出:程序运行输出:(14) s1=abcd,s2=abcd,s3=ab ,s4=abc共 27 页 第 13 页(7) f格式符格式符 以小数形式输出实数以小数形式输出实数(包括单、双精度包括单、双精度)

11、。1) %f , 不指定字段宽度不指定字段宽度,由系统自动指定由系统自动指定,使整数部使整数部分全部输出分全部输出,并输出并输出6位小数(输出双精度数据,位小数(输出双精度数据,也是也是6位,但误差降低)。位,但误差降低)。2) %m.nf , 指定输出的数据共占指定输出的数据共占m列列,其中有其中有n位小位小数数.若数据长度小于若数据长度小于m,则左端补空格。则左端补空格。 例:例:float x=15.3,y=222.225111; printf(%f,%6.2fn,x,y);共 27 页 第 14 页8. e格式格式 以指数形式输出实数。以指数形式输出实数。 1) %e 不指定输出数据所

12、占的宽度和数字部分小数不指定输出数据所占的宽度和数字部分小数位数位数,由系统自动指定给出由系统自动指定给出6位小数位小数,指数部分占指数部分占5位位,其其中中“e”占一位占一位,指数符号占一位指数符号占一位,指数占指数占3位位.数值按标准数值按标准化指数形式输出化指数形式输出(小数点前有小数点前有1位非零数字)。位非零数字)。 例如例如: printf(%e,123.456); 输出输出:1.234560e+002 e格式输出的实数共占格式输出的实数共占13列宽度列宽度. 3位位6位位共 27 页 第 15 页(9)g格式符格式符:根据数值的大小输出实数根据数值的大小输出实数,自动选自动选 f

13、 格式或格式或 e 格式格式(选择输出时占宽度较小的一种选择输出时占宽度较小的一种),且不输出无意且不输出无意义的零。义的零。(10) 例如:例如: f=123.468;(11) printf(%f %e %g,f,f,f);(12) 输出如下输出如下:(13)123.468000 1.234680e .46810列列13列列10列列共 27 页 第 16 页1. 1. 格式控制串的控制符号与变量表要一一对应,即:格式控制串的控制符号与变量表要一一对应,即:类型相同,个数相等类型相同,个数相等2. 2. 格式控制符号用小写字母格式控制符号用小写字母3. 3. 格式控制符号之外的符号均照原样显示

14、格式控制符号之外的符号均照原样显示4. 4. 若需显示百分号,格式为:若需显示百分号,格式为:%5. 5. 如果实际数据所占字符位大于指定的域宽,按实际如果实际数据所占字符位大于指定的域宽,按实际输出输出共 27 页 第 17 页格式:格式: putchar(字符变量)字符变量)功能功能 :在标准输出设备上,输出指定的字符。:在标准输出设备上,输出指定的字符。说明说明:一次调用只能输出一个字符。一次调用只能输出一个字符。例例:#include main( ) char a,b,c; a=B;b=O;c=Y; putchar(a);putchar(b);putchar(c);输出:输出:BOY与

15、与C格式的区别?格式的区别?共 27 页 第 18 页4.2.1 4.2.1 格式输入函数格式输入函数 一般形式一般形式: scanf(: scanf(格式控制字符串格式控制字符串, , 地址表列地址表列) ) “ “格式控制字符串格式控制字符串”的含义同的含义同printfprintf函数函数, , “ “地址表列地址表列”:要求是变量的地址:要求是变量的地址, ,或字符串的首地址或字符串的首地址. . 例如例如: : int a,b,c; int a,b,c; scanf(%d%d%d,&a,&b,&c); scanf(%d%d%d,&a,&b,&c); 说明:说明: * * scanf

16、scanf 函数中的函数中的“格式控制格式控制”后面应当是变量地址后面应当是变量地址而不是变量名。而不是变量名。 * * 输入数据时输入数据时, ,在两个数据之间以一个或多个空格间隔在两个数据之间以一个或多个空格间隔, ,也可以用回车键、跳格键也可以用回车键、跳格键tabtab分隔。分隔。共 27 页 第 19 页 * * 输入时不允许规定精度,可以指定域宽输入时不允许规定精度,可以指定域宽int a ;scanf(%3d,&a); float x; scanf(%8.2f ,&x);* * 输入时,遇下列情况结束输入时,遇下列情况结束* 回车,空格回车,空格* 宽度结束宽度结束* 非法输入非

17、法输入int k; scanf(%3d,&k);输入:输入:123456789k为:为:123scanf(“%3d%3d”,&a,&b); scanf(“%3d%3d”,&a,&b); 输入输入123456123456系统自动将系统自动将123123赋给赋给a,456a,456赋给赋给b b共 27 页 第 20 页* * 格式控制字符串中若包含普通字符,则输入时必须格式控制字符串中若包含普通字符,则输入时必须照原样输入普通字符,否则将导致输入结束。照原样输入普通字符,否则将导致输入结束。 如:如:int a,b,c;int a,b,c; scanf(a=%d,b=%d,c=%d,&a,&b,

18、&c); scanf(a=%d,b=%d,c=%d,&a,&b,&c); 输入:输入:a=1,b=2,c=3a=1,b=2,c=3 * * 数值型数据和字符型数据混合输入方法数值型数据和字符型数据混合输入方法 main() main() int a,b,c,d,e; int a,b,c,d,e; scanf(%d%c%c%c%d,&a,&b,&c,&d,&e); scanf(%d%c%c%c%d,&a,&b,&c,&d,&e); printf(a=%d,b=%c,c=%c,d=%c,e=%d,a,b, printf(a=%d,b=%c,c=%c,d=%c,e=%d,a,b, c,d,e); c

19、,d,e); 输入:输入:123abc789123abc789 输出:输出:a=123,b=a,c=b,d=c,e=789a=123,b=a,c=b,d=c,e=789共 27 页 第 21 页l输入输入doubledouble型数据型数据, ,必须用格式说明符必须用格式说明符%lf%lf或或%le%le,l输入输入longlong型数据,必须用型数据,必须用%ld%ld。l标准标准C C在在scanfscanf中不使用中不使用%u%u说明符说明符, ,对对unsignedunsigned型数型数据据, ,以以%d%d或或%o%o、%x%x格式输入。格式输入。l% %后的后的“* *”为附加说

20、明符为附加说明符, ,用来表示跳过它相应的用来表示跳过它相应的数据。数据。l输入时格式控制符中不能加输入时格式控制符中不能加“n”“n”。l在在scanfscanf函数的格式控制字符串中尽量不要出现普函数的格式控制字符串中尽量不要出现普通字符,尤其不能将输入提示放在其中。需要显示通字符,尤其不能将输入提示放在其中。需要显示输入提示应该调用输入提示应该调用printfprintf函数实现。函数实现。提示注意:提示注意:共 27 页 第 22 页#include main() int a; float b,c; printf(Please input a b c:); scanf(%2d%3f%4

21、f,&a,&b,&c); printf(a=%d,b=%f,c=%fn,a,b,c); 输入:输入:12345678987654321输出输出?a=12,b=345.000000,c=6789.000000例例:提示输入信息放提示输入信息放在输入语句之前在输入语句之前共 27 页 第 23 页4.2. 2 getchar函数函数(字符输入函数字符输入函数)一般形式:一般形式:getchar( ) -没有参数没有参数功能:从键盘输入一个字符。功能:从键盘输入一个字符。说明:说明:1)只能输入一个字符)只能输入一个字符 2)可以将获得的字符赋给)可以将获得的字符赋给int 型或型或char型型的变

22、量的变量 例例 #include main() char c; c=getchar( ); putchar(c); 运行时键入字符运行时键入字符a,则其输出为:则其输出为:a 共 27 页 第 24 页1.格式输入函数格式输入函数:scanf, 格式输出函数格式输出函数:printf, 常用格式:常用格式:%d, %f, %s, %c ,%o, %ld2. scanf 函数中的函数中的“格式控制格式控制”后面是变量地址后面是变量地址,而不是而不是变量名变量名.3. putchar函数(字符输出函数)函数(字符输出函数)4. getchar函数函数 (字符输入函数字符输入函数)注意注意:共 27 页 第 25 页1. 1. 计算机程序设计实验的准备计算机程序设计实验的准备(1 1)复习与本次实验相关的教学内容和主要知识点。)复习与本次实验相关的教学内容和主要知识点。(2 2)准备好编程题目程序流程图和全部源程序代码,)准备

温馨提示

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

评论

0/150

提交评论