版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一节 格式化输入输出函数 标准函数库中定义了一些输入输出函数,程序在调用这些库函数时,必须在源文件的开始处加上头文件的“包含命令”。 格式: #include #include 库函数头文件名 不同的函数其头文件不同,如输入输出函数所在的头文件为:stdio.h。在头文件中包含了与用到的函数有关的信息。文件后缀h是head的缩写。11/4/20211 1C语言程序设计第1页/共31页 一、格式输出函数一、格式输出函数 格式: printf(“格式控制字符串”,输出项表) printf(字符串) 功能:将输出项的值对应到格式控制字符串中的对应格式说明符位置,输出格式控制字符串。 如:print
2、f(“Hello,welcome.n”); printf(“a=%d,b=%dn”,a,b);11/4/20212 2C语言程序设计第2页/共31页1 1格式控制字符串格式控制字符串用一对双引号括起来,包含以下三部分内容。(1)按原样输出的字符;(2)转义字符;(3)与输出项对应的“格式说明符”:要求以%开头,格式说明符在个数和类型上应该与输出项相对应。11/4/20213 3C语言程序设计第3页/共31页各种格式控制符列表:11/4/20214 4C语言程序设计格式符格式符输出形式输出形式输出项类型输出项类型数据输出方式数据输出方式-md-mo-mx-mud十进制整数o八进制整数x十六进制整
3、数u无符号整数int, shortunsigned intunsigned shortchar有-,指定的宽度内向左对齐;无-,右对齐m表示数据的输出宽度(即:位数)。无 m 或总宽度超过位时按实际宽度输出;不足m 位时,补空格-mld-mlo-mlx-mluld十进制整数lo八进制整数lx十六进制整数lu 无符号整数longunsigned long-m.nf-m.nef十进制小数e十进制指数自动选定格式floatdouble有-,左对齐;无-,右对齐 ;m表示数据的输出宽度(即:位数),n 表示小数位数;无 m.n 或总宽度超过时,则按实际宽度输出;有 m.n 输出 m 位,其中小数 n
4、位;不足 m 位时,加空格g自动选定f或e格式floatdouble不输出尾数中无效的0 ,以尽可能少地占输出宽度。-mcc单个字符char有-,左对齐; 无-,右对齐无 m 则输出单个字符;有 m 则输出m 位,不足 m 位时补空格-m.nss字符串字符串有-,左对齐;无-,右对齐无 m.n 则按实际输出全部字符串 有 m.n 则输出前n 个字符串第4页/共31页 附加格式说明符: m、n 均是正整数, m 主要用于控制输出数据的总宽度,n 用于控制输出实数的小数位数或控制输出字符串时可以输出的实际字符数。 对齐标志:“-”,左对齐,右端补空格。缺省时为右对齐,左端补空格。 长度字符“l”:
5、长整型。11/4/20215 5C语言程序设计第5页/共31页如:long a=135790;printf(%ld,a);如果用%d输出,就会发生错误,因为整型数据的范围为3276832767,对long型数据应当用%ld格式输出。对长整型数据也可以指定字段宽度,如将上面printf函数中的%ld改为%8ld,则输出为: 135790 11/4/20216 6C语言程序设计第6页/共31页2 2输出项表输出项表printf函数中的 “输出项表”部分由表达式组成,这些表达式应与 “格式控制字符串”中的格式说明符的类型一一对应,若 “输出项表”中有多个表达式,则每个表达式之间应由逗号隔开,各输出项
6、可以是任意合法的表达式(包括常量、变量和函数调用)。因此 printf 函数也具有计算的功能。11/4/20217 7C语言程序设计第7页/共31页 printf ( %dn , 100) ; /*输出显示100*/ printf ( %dn , 1234000+5678) ; /*输出显示:1239678*/ printf ( %fn , (x=123.0)+(y=0.4567) ; /*输出显示:123.456700*/ printf ( %6.2fn , 123.4567) ; /*输出显示:123.46*/ printf ( %.3fn , 123.4567) ; /*输出显示:123
7、.457*/ printf(“%d+%d=%d”,a,b,a+b);11/4/20218 8C语言程序设计第8页/共31页 说明: (1)格式控制符,按从左到右的顺序,与输出项表中的每个数据数据一一对应,且须与输出项的数据类型一致,输出项的值在对应格式控制符的位置上输出。 (2)对于实数,可用%e%e,以标准指数形式标准指数形式输出;或使用%g%g,让系统系统根据数值的大小,自动选择自动选择%f或%e格式、且不输出无意义的零。 (3)类型转换字符x x、e e、g g,大小写均可。大写时,输出数据中包含的字母也大写。 其它类型转换字符,必须小写。例如,%f不能写成%F。11/4/20219 9
8、C语言程序设计第9页/共31页(4)(4)准确地使用转义字符。准确地使用转义字符。特点:通常在输出时产生一个控制操作。例如,转义字符n,输出时产生一个“换行”操作。printf函数实际输出格式控制字符串的内容,只不过将输出项的值对应到格式控制字符串中相应的格式字符对应的位置即可。11/4/20211010C语言程序设计第10页/共31页例:请写出下列程序的执行结果。#include main() int a,b; a=10;b=20; printf(“a=%dtb=%dn”,a,b); printf(“a+b=%dna-b=%dna*b=%dna/b=%dn”,a+b,a-b,a*b,a/b)
9、11/4/20211111C语言程序设计第11页/共31页二二. . 格式输入函数格式输入函数给程序提供数据,可以使用:(1)赋值语句。只能赋一个固定的值,解决1 1个个特定的问题。(2)输入函数scanf() 。能解决1 1类类特定的问题。显然,采用scanf( )scanf( )函数函数,使得程序具有更好的适应性适应性。11/4/20211212C语言程序设计第12页/共31页格式:scanf(格式控制字符串,列表);功能:按格式字符串中规定的格式,在键盘上输入各输入项的数据,并依次赋给各输入项,且具有对从输入流中接收到的数据进行格式转换的功能。因为要求在内存中保存所接收到的数据,因此,需
10、要提供接收数据的变量的地址。int r;scanf(“%d”,&r);11/4/20211313C语言程序设计第13页/共31页1 1格式控制字符串11/4/20211414C语言程序设计格式符输入形式输入项类型数据输入方式mdmomxd十进制整数o八进制整数x十六进制整数int, shortunsigned intunsigned short无 m 按实际位数输入 有 m只能输入 m 位 不足 m 位,以 Enter 键或空格结束mldmlomlxld十进制整数lo八进制整数lx十六进制整数longunsigned longmfmef十进制小数e十进制指数floatdoublemlf
11、mlelf十进制小数le十进制指数floatdouble mcc单个字符char无 m仅取单个字符,以 Enter 结束有 m 输入 m 个字符,仅取第一个 mss字符串字符串无 m 输入字符至回车或空格结束 有 m 仅取前 m 个字符 第14页/共31页、输入项地址表、输入项地址表可以是变量首地址变量首地址、数组名数组名,或者指针变量指针变量。变量首地址的表示: & &变量名变量名地址运算符&用于取得指定变量的地址。相邻2个输入项首地址,用逗号分开。当以数值格式从输入流中读取数据时,scanf()可以跳过空格、换行及跳格符(在输入流中,数值型数据须以这些空白字符分隔)
12、。11/4/20211515C语言程序设计地址运算符第15页/共31页scanf(“%d%f”,&a,&b);当程序执行到输入语句时,会停止运行,等待用户输入。11/4/20211616C语言程序设计第16页/共31页3 3说明说明(1)在 scanf函数 “格式控制”部分中的每个格式说明符都必须在“地址表”中有一个变量与之对应,且类型一致。输入的数据必须是常量,不能是表达式,而且按输入项的前后次序顺序输入数据。 (2)在输入数值型数据时,各数据之间要使用 “空格”、“Tab”或 “回车”键(Enter 键)作为分隔;如果格式说明符之间包含其他字符,则输入数据时,应输入与这些字
13、符相同的字符做间隔(如逗号)。11/4/20211717C语言程序设计第17页/共31页 (3)在输入字符型数据时,由于“空格”也作为有效字符输入,因此,不需要用“空格”做分隔,只要输入一个字符即可。故输入字符型数据时,数据之间不用分隔符。 (4)在格式说明符的前面指定输入数据所占的列数时,系统将自动按此列数来截取所需的数据。 (5)如果在格式控制字符串中,含有不属于格式说明的其他字符,在输入数据时,必须在对应位置上原样输入这些字符,尽量不要包含其它字符。11/4/20211818C语言程序设计第18页/共31页 (6)如果在% 后有一个 “*”附加说明符,表示跳过输入流中它对应的数据(P29
14、)。 (7)在scanf函数中不使用u说明符,对unsigned型数据,以d或o、x格式输入。 (8)在用scanf函数输入数据时,不能规定精度。 11/4/20211919C语言程序设计第19页/共31页三、字符输入、输出函数三、字符输入、输出函数1 1字符输入函数字符输入函数 格式: 变量=getchar() 头文件:stdio.h 变量=getch() 头文件:conio.h 功能:用于从键盘输入一个字符。 前者的执行过程:执行到此将等待输入,只有当用户输入字符,并按 Enter键后,才接收输入的第 1 个字符,并在屏幕上回显该字符,同时送到内存的缓冲区,赋给指定的变量。并且对空格符、制
15、表符(Tab 键)和回车符(Enter 键)都被当作有效字符读入。11/4/20212020C语言程序设计第20页/共31页 getch()函数是立即接收用户来自键盘上的输入(不等按下回车),不把字符回显到屏幕上。2 2字符输出函数字符输出函数 格式:putchar(字符表达式) 功能:将指定字符表达式的值在标准输出设备(通常是显示器)上输出。可以是字符常量、字符变量或整型表达式,其功能等价于:printf(%c,ch)。 11/4/20212121C语言程序设计第21页/共31页#include main() char c; c=getchar(); /*从键盘读入字符直到回车结束*/ pu
16、tchar(c); /*显示输入的第一个字符*/ printf(Press any key to continue.); getch(); /*等待按任一健*/ 11/4/20212222C语言程序设计第22页/共31页 第二节顺序结构程序设计第二节顺序结构程序设计 一、顺序结构程序一、顺序结构程序 一般包括两部分: 1程序开头的编译预处理命令编译预处理命令。 如果要在程序中使用标准库函数,则必须使用编译预处理命令#include#include,将相应的头文件包含进来。11/4/20212323C语言程序设计第23页/共31页2函数体(1)变量定义语句;(2)输入语句;(3)运算语句;(4)
17、输出语句。 3执行流程各语句是按照出现的次序,被顺序执行,且每个语句都会被执行到11/4/20212424C语言程序设计第24页/共31页二、赋值语句赋值语句是由赋值表达式加上一个分号构成。一个程序用得最多的语句是赋值语句。例:输入三角形的三边长,求三角形面积。设输入的三边长a、b、c能构成三角形。从数学知识已知求三角形面积的公式为:area=(s*(s-a)*(s-b)*(s-c);其中s=(a+b+c)/2。11/4/20212525C语言程序设计第25页/共31页 #include #include main() float a,b,c,s,area; scanf(“%f,%f,%f”,
18、&a,&b,&c);/*注意输入数据的分隔*/ s=(a+b+c)/2; area=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); 11/4/20212626C语言程序设计第26页/共31页 运行情况如下: 3,4,6 a= 3.00,b= 4.00,c= 6.00,s= 6.50 area= 5.33 程序说明:程序中sqrt()是求平方根的函数。 由于要调用数学函数库中的函数,必须在程序的开头加一条#include命令,把文件math.h包含到程序中。 请注意,以后凡在程序中要用到数学函数库中的函数,都应当包含math.h头文件。11/4/20212
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年个人股份转让与清算服务协议范本4篇
- 2025年离婚手续办理与婚姻解除后财产清算及分配合同3篇
- 2025年度个人与银行消费贷款合同(二零二五版)4篇
- 建设工程勘察设计合同(2篇)
- 初三学习策略讲解模板
- 二零二五年度智能设备模具定制加工合同范本4篇
- 音乐核心素养课程设计
- 二零二五年度门诊药品销售权承包合作协议3篇
- 配电柜拆除施工方案
- 造价管理课程设计
- 小学数学六年级解方程练习300题及答案
- 电抗器噪声控制与减振技术
- 中医健康宣教手册
- 2024年江苏扬州市高邮市国有企业招聘笔试参考题库附带答案详解
- 消费医疗行业报告
- 品学课堂新范式
- GB/T 1196-2023重熔用铝锭
- 运输行业员工岗前安全培训
- 公路工程安全风险辨识与防控手册
- 幼儿园教师培训:计数(数数)的核心经验
- 如何撰写和发表高水平的科研论文-good ppt
评论
0/150
提交评论