c语言程序设计与项目实践第4章_第1页
c语言程序设计与项目实践第4章_第2页
c语言程序设计与项目实践第4章_第3页
c语言程序设计与项目实践第4章_第4页
c语言程序设计与项目实践第4章_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、第4章 C语言标准输入与输出,本章的学习重点 格式输出标准库函数printf printf函数的各种格式控制输出 格式输入标准库函数scanf scanf函数的各种格式控制输入 putchar函数 getchar函数,4.1 C语言标准库函数概述,C语言的库函数是C语言规定的标准函数。 可供用户自由调用。 1库函数分类 C语言提供了非常丰富的库函数,主要有: 标准输入和输出库函数:printf()和scanf() 字符输入输出函数:getchar()和putchar() 数学应用函数:求绝对值函数abs(),开根号函数sqrt(),求正弦函数sin(),求余弦函数cos()等。 字符串处理函数

2、:strcpy(),strlen(),puts()和gets()等。 内存分配与释放函数:malloc(), free() 。,4.1 C语言标准库函数概述,2库函数的使用 调用这些函数需要包含与这些库函数对应的头文件。例如,调用标准输出函数printf需要包含头文件stdio.h。 调用数学函数需要包含头文件math.h,调用字符串处理函数需要包含头文件string.h。 头文件包含使用关键字include,一般形式为: #include 或者 #include “头文件名”,4.2 格式输出函数printf,从计算机向外部输出设备(如显示器、打印机、磁盘等)输出信息称为“输出”,简单的说,

3、“输出”就是将计算机内的信息以打印或存储的形式转到终端,最常用的就是将数据输出到显示器上。 格式输出函数printf是C语言应用最广泛的输出函数,它将信息直接打印到屏幕上,便于程序运行者观察和调试。 Printf()函数需要包含头文件stdio.h,4.2.1 标准格式输出,printf函数的一般形式为: printf(“格式输出控制表列”, 输出参数表列); 格式输出控制表列:可以是直接打印在屏幕上的字符串常量,也可以是用于指定输出格式的特殊字符,即格式说明。 输出 参数表列:变量,常量,表达式等的列表,可以省略. 1%d格式(或者%i) %d格式(或者%i)以十进制整型格式在屏幕打印输出参

4、数表列的值。,4.2.1 标准格式输出,范例4.1 IntegerTypePrint.c 使用%d格式输出几种不同的输出参数,如使用%d格式输出实型数据123.456,使用%d格式输出字符型变量c的值,使用%d格式输出表达式(float)a/b的值等。 2%ld格式 %ld格式用于输出long型数据对象,如定义long型变量la并赋初值12345678。则应使用%ld格式输出。例如: long la = 12345678; printf(“la = %ldn”, la);,4.2.1 标准格式输出,3%u格式 %u格式以无符号型输出数据,用于输出unsigned 类型数据,使用%u格式时,系统

5、将以无符号型输出参数表列的十进制整型值。 假如参数表列的值为负数,输出将以该数的补码计算所得整型十进制数输出。 范例4.2 IntegerTypeUnsigned.c 分别使用%d和%u格式输出常量-1。由于在系统中-1以补码形式存放,而%u格式将不考虑数据的符号,而直接将内存中的数值输出,因此得到与%d不一样的数值。,4.2.1 标准格式输出,4%c格式 %c格式以字符型将数据输出在屏幕上. 输出参数可以是字符型、整型或实型的常量或变量等。 例如: char c=a, cc=6; printf(“%c, %c, %cn”, c, cc, 122); 5%f格式 %f格式以浮点型输出,主要用于

6、输出float型和double型数据。默认输出小数点后6位数字,不够6位补零输出。 例如: printf(“%f, %fn”, 123.456, 789);,4.2.1 标准格式输出,6%e格式 %e格式以指数形式输出,指数形式由数符、数值、字符、阶符和阶码组成。如下图: 7%s格式 %s用于输出字符串。C语言中除了直接以普通字符形式输出字符串,还可以将字符串放在输出表列,以%s格式输出。例如: printf(%sn,Hello world);,4.2.1 标准格式输出,8%o和%x格式 %o和%x格式分别以无符号八进制和十六进制输出数据。例如: printf(%o, %xn,65535,65

7、535); 输出结果为:177777,ffff 9%和输出 由于%和本身作为特殊控制符,正常情况下无法输出这类符号,需要使用特殊格式才能将其输出。操作方法为在格式控制符%或前面重写一遍该字符。,4.2.2 格式输出控制,1%md和%-md格式 用于按指定的宽度m以十进制整型输出数据,m为整型值。 %md:输出数据宽度m,实际输出,输出数据宽度m,实际输出,输出数据宽度m,则右补空格,输出总共为m列。例如: printf(“%4d%4d%4dn”, 2, 34567, 789); printf(“%-4d%-4d%-4dn”,2,34567, 789); 输出结果: _ _ _2 | 34567

8、 | _789 2_ _ _ | 34567 | 789_,4.2.2 格式输出控制,2%mc和%-mc格式 用于按指定宽度m输出字符数据,m为整型值。 范例4.3 SpecialTypeOutFormatChar.c 使用%mc或%-mc格式输出如下图案: * * * * * * * * * * * *,4.2.2 格式输出控制,3%mf、%-mf、%.nf、%m.nf及%-m.nf格式 %mf与%-mf: 指定包括小数点在内的数据宽度m,当m大于实际数据宽度时,%mf左补空格,%-mf右补空格,当m小于等于实际数据宽度时,将以实际数值输出。 %.nf: 指定小数点后的输出宽度。当n大于数据

9、有效位数时右边补零,当n小于数据有效位时采用四舍五入处理。,4.2.2 格式输出控制,3%mf、%-mf、%.nf、%m.nf及%-m.nf格式 %m.nf: 指定包括小数点在内数据输出全部宽度,当m大于输出全部数据宽度时,左补空格,当m小于输出全部数据宽度时,将按实际宽度输出。n用于指定小数点后数据宽度,若n大于数据有效位宽度,右补零,若n小于等于数据有效位宽度,将采用四舍五入处理。例如: printf(%6.2f, %5.3f,%8.4fn,1.234,19.87654,100000.23); 输出结果为: _ _1.23, 19.877, 100000.2300,4.2.2 格式输出控制

10、,4%ms、%-ms、%m.ns、%-m.ns及%.ns格式 %ms和%-ms: 用于输出宽度为m列的字符串,当m小于实际字符串长度时,将按实际字符串输出,当m大于实际字符串长度时,%m格式左补空格,%-m右补空格。 %m.ns与%-m.ns: m用于指定输出字符串的长度,当m大于实际串长度时,分别左补或右补空格,当m小于等于实际字符串长度时,按实际字符串输出。n用于指定输出左边n个字符,当n大于实际字符串长度时,按实际字符串输出。需要注意的是,当m小于n时,忽略m的作用。,4.2.2 格式输出控制,4%ms、%-ms、%m.ns、%-m.ns及%.ns格式 %.ns: 用于输出字符串左边n个

11、字符,当n大于实际字符串长度时,按实际字符串输出。例如: printf(%3s,%7.2s,%.8s,%-5.3s, %6.7sn,china,china,china,china,china); 输出结果为: chi, _ _ _ _ _ch, china, chi_ _, _china,4.3 格式输入函数scanf,scanf用于接收从键盘等终端输入设备向程序输入数据,将接收到的数据存入内存指定区域并赋给某些变量或指向内存的数据对象。 使用scanf函数对某变量输入数据后,该变量的值将变为输入的数据值,直到该变量被重新赋值为止。 scanf函数调用需要添加stdio.h头文件包含。,4.3

12、.1 标准格式输入,scanf函数的一般形式为: scanf(“格式输入控制表列”,输入参数地址表列); 格式输入控制表列:除特殊符号外从键盘输入的字符。 输入参数地址表列:用于指定输入参数的地址,并且输入参数个数及类型应与格式控制表列中特殊控制符的个数与类型一一对应。 1%d格式 用于程序接收从键盘输入的整型和字符型数据。例如: int a = 0; scanf(“%d”, ,4.3.1 标准格式输入,范例4.4 ScanfWithIntegerInput.c 使用scanf函数输入三个int型变量值,求该这三个变量的和与积,并将结果打印到屏幕上,注意接收结果的精度与取值范围。 2%f格式

13、%f: 用于输入float型或double型变量的数据。使用%f格式时应与输入参数中变量格式匹配。例如: float f = 0.0; double d = 0.0; scanf(“%f , %f”, 键盘输入:123.456,789.987后,变量f的值变为: 789.987,变量d的值变为123.456。,4.3.1 标准格式输入,3%c格式 %c: 用于输入字符类型数据。空格、回车以及逗号等均作为字符处理。例如: char c1, c2, c3; scanf(“%c%c%c”, 键盘输入:a_b_c 输出为: a_b,即c1被赋值为a,c2被赋值为_,c3被赋值为b,另外两个字符_和c将

14、被作为无效字符丢弃。,4.3.1 标准格式输入,范例4.5 ScanfCharacterVariable.c 使用键盘输入字符串”Hello world”,定义11个字符变量用以存储各字符,并将其打印在屏幕上,注意输入的顺序以及输出的顺序。 4%s格式 %s: 用于输入字符串。程序将空格作为字符0处理,即作为字符串结束标志。例如: char s15; scanf(“%s”, s); printf(“%s”,s); 若输入:Hello world, 输出为:Hello。,4.3.2 格式输入控制,1%md和%*md格式 %md: 用于获取输入数据序列的前m位数,当m大于输出数据位数时,按实际数据

15、赋给变量。%*md用于忽略m位的数据输入。例如: int a=0, b=0; scanf(“%3d %2d”, 程序输入:123456, 输出:a=123, b=45。,4.3.2 格式输入控制,2控制输入表列中的普通字符 控制输入表列中存在普通字符时,一定原样输入,否则系统将因为匹配错误而不能将正确数据赋给相应变量。例如: int i=0; scanf(“i=%d”, 程序输入:100 输出:i=0,4.3.2 格式输入控制,3控制输入格式与输入参数变量类型一一对应 控制输入格式一定要与要输入数据的变量类型一致,否则程序无法将正确的数值赋给该变量。例如: int i=0; scanf(“%f

16、”, 程序输入:10 输出为:1092616192,4.4 字符输入输出函数,字符输入输出函数分别为getchar()和putchar函数。 4.4.1 putchar函数 putchar函数:向终端输出一个字符。其一般形式为 putchar(c) 其中c可以是字符变量,也可以是字符常量,当c为屏幕无法显示的符号时,以其功能输出,如回车符。例如: char a,b,c; a=D; b=O; c=G; putchar(a);putchar(b);putchar(c); 程序输出:DOG。,4.4.2 getchar函数,getchar函数: 用于从标准输入设备如键盘等获取一个字符,其一般形式为: getchar() 或者 c=getchar() 其中,c为字符型或整型变量。getchar()函数将键盘键入的任何信息都作为字符处理,因此,getchar函数常用于键盘控制指令。例如: char c; c=getchar(); putchar(c); 键盘输入:c,按回车键, 则输

温馨提示

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

评论

0/150

提交评论