版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第03章顺序结构解析第一节格式化输入输出函数
标准函数库中定义了一些输入输出函数,程序在调用这些库函数时,必须在源文件的开始处加上头文件的“包含命令”。格式:
#include<库函数头文件名>
#include"库函数头文件名"不同的函数其头文件不同,如输入输出函数所在的头文件为:。在头文件中包含了与用到的函数有关的信息。文件后缀h是head的缩写。2/14/20232C语言程序设计一、格式输出函数格式:printf(“格式控制字符串”,输出项表)
printf(字符串)功能:将输出项的值对应到格式控制字符串中的对应格式说明符位置,输出格式控制字符串。如:printf(“Hello,welcome.\n”);printf(“a=%d,b=%d\n”,a,b);2/14/20233C语言程序设计1.格式控制字符串用一对双引号括起来,包含以下三部分内容。(1)按原样输出的字符;(2)转义字符;(3)与输出项对应的“格式说明符”:要求以%开头,格式说明符在个数和类型上应该与输出项相对应。2/14/20234C语言程序设计各种格式控制符列表:2/14/20235C语言程序设计格式符输出形式输出项类型数据输出方式%-md%-mo%-mx%-mud十进制整数o八进制整数x十六进制整数u无符号整数int,shortunsignedintunsignedshortchar有-,指定的宽度内向左对齐;无-,右对齐m表示数据的输出宽度(即:位数)。无m或总宽度超过m位时按实际宽度输出;不足m位时,补空格%-mld%-mlo%-mlx%-mluld十进制整数lo八进制整数lx十六进制整数lu无符号整数longunsignedlong%-m.nf%-m.ne%<f,e>f十进制小数e十进制指数自动选定格式floatdouble有-,左对齐;无-,右对齐;m表示数据的输出宽度(即:位数),n表示小数位数;无m.n或总宽度超过m时,则按实际宽度输出;有m.n输出m位,其中小数n位;不足m位时,加空格%g自动选定f或e格式floatdouble不输出尾数中无效的0,以尽可能少地占输出宽度。%-mcc单个字符char有-,左对齐;无-,右对齐无m则输出单个字符;有m则输出m位,不足m位时补空格%-m.nss字符串字符串有-,左对齐;无-,右对齐无m.n则按实际输出全部字符串有m.n则输出前n个字符串附加格式说明符:m、n均是正整数,m主要用于控制输出数据的总宽度,n用于控制输出实数的小数位数或控制输出字符串时可以输出的实际字符数。对齐标志:“-”,左对齐,右端补空格。缺省时为右对齐,左端补空格。长度字符“l”:长整型。2/14/20236C语言程序设计如:longa=135790;printf("%ld",a);如果用%d输出,就会发生错误,因为整型数据的范围为-32768~32767,对long型数据应当用%ld格式输出。对长整型数据也可以指定字段宽度,如将上面printf函数中的"%ld"改为"%8ld",则输出为:
□□□135790
2/14/20237C语言程序设计2.输出项表printf函数中的“输出项表”部分由表达式组成,这些表达式应与“格式控制字符串”中的格式说明符的类型一一对应,若“输出项表”中有多个表达式,则每个表达式之间应由逗号隔开,各输出项可以是任意合法的表达式(包括常量、变量和函数调用)。因此printf函数也具有计算的功能。2/14/20238C语言程序设计printf("%d\n",100);/*输出显示100*/printf("%d\n",1234000+5678);/*输出显示:1239678*/printf("%f\n",(x=123.0)+(y=0.4567));/*输出显示:123.456700*/printf("%6.2f\n",123.4567);/*输出显示:123.46*/printf("%.3f\n",123.4567);/*输出显示:123.457*/printf(“%d+%d=%d”,a,b,a+b);2/14/20239C语言程序设计说明:(1)格式控制符,按从左到右的顺序,与输出项表中的每个数据一一对应,且须与输出项的数据类型一致,输出项的值在对应格式控制符的位置上输出。(2)对于实数,可用%e,以标准指数形式输出;或使用%g,让系统根据数值的大小,自动选择%f或%e格式、且不输出无意义的零。(3)类型转换字符x、e、g,大小写均可。大写时,输出数据中包含的字母也大写。其它类型转换字符,必须小写。例如,%f不能写成%F。2/14/202310C语言程序设计(4)准确地使用转义字符。特点:通常在输出时产生一个控制操作。例如,转义字符'\n',输出时产生一个“换行”操作。printf函数实际输出格式控制字符串的内容,只不过将输出项的值对应到格式控制字符串中相应的格式字符对应的位置即可。2/14/202311C语言程序设计例:请写出下列程序的执行结果。#include<>main(){inta,b;a=10;b=20;printf(“a=%d\tb=%d\n”,a,b);printf(“a+b=%d\na-b=%d\na*b=%d\na/b=%d\n”,a+b,a-b,a*b,a/b)}2/14/202312C语言程序设计二.格式输入函数给程序提供数据,可以使用:(1)赋值语句。只能赋一个固定的值,解决1个特定的问题。(2)输入函数scanf()。能解决1类特定的问题。显然,采用scanf()函数,使得程序具有更好的适应性。2/14/202313C语言程序设计格式:
scanf("格式控制字符串",输入项地址列表);功能:按格式字符串中规定的格式,在键盘上输入各输入项的数据,并依次赋给各输入项,且具有对从输入流中接收到的数据进行格式转换的功能。因为要求在内存中保存所接收到的数据,因此,需要提供接收数据的变量的地址。intr;scanf(“%d”,&r);2/14/202314C语言程序设计1.格式控制字符串2/14/202315C语言程序设计格式符输入形式输入项类型数据输入方式%md%mo%mxd十进制整数o八进制整数x十六进制整数int,shortunsignedintunsignedshort无m按实际位数输入有m只能输入m位不足m位,以Enter键或空格结束%mld%mlo%mlxld十进制整数lo八进制整数lx十六进制整数longunsignedlong%mf%mef十进制小数e十进制指数floatdouble%mlf%mlelf十进制小数le十进制指数floatdouble%mcc单个字符char无m仅取单个字符,以Enter结束有m输入m个字符,仅取第一个%mss字符串字符串无m输入字符至回车或空格结束有m仅取前m个字符2、输入项地址表可以是变量首地址、数组名,或者指针变量。变量首地址的表示:&变量名地址运算符&用于取得指定变量的地址。相邻2个输入项首地址,用逗号分开。当以数值格式从输入流中读取数据时,scanf()可以跳过空格、换行及跳格符(在输入流中,数值型数据须以这些空白字符分隔)。2/14/202316C语言程序设计地址运算符scanf(“%d%f”,&a,&b);当程序执行到输入语句时,会停止运行,等待用户输入。2/14/202317C语言程序设计3.说明(1)在scanf函数“格式控制”部分中的每个格式说明符都必须在“地址表”中有一个变量与之对应,且类型一致。输入的数据必须是常量,不能是表达式,而且按输入项的前后次序顺序输入数据。(2)在输入数值型数据时,各数据之间要使用“空格”、“Tab”或“回车”键(Enter键)作为分隔;如果格式说明符之间包含其他字符,则输入数据时,应输入与这些字符相同的字符做间隔(如逗号)。2/14/202318C语言程序设计(3)在输入字符型数据时,由于“空格”也作为有效字符输入,因此,不需要用“空格”做分隔,只要输入一个字符即可。故输入字符型数据时,数据之间不用分隔符。(4)在格式说明符的前面指定输入数据所占的列数时,系统将自动按此列数来截取所需的数据。(5)如果在格式控制字符串中,含有不属于格式说明的其他字符,在输入数据时,必须在对应位置上原样输入这些字符,尽量不要包含其它字符。2/14/202319C语言程序设计(6)如果在%后有一个“*”附加说明符,表示跳过输入流中它对应的数据(P29)。(7)在scanf函数中不使用%u说明符,对unsigned型数据,以%d或%o、%x格式输入。(8)在用scanf函数输入数据时,不能规定精度。2/14/202320C语言程序设计三、字符输入、输出函数1.字符输入函数格式:[变量=]getchar()——头文件:[变量=]getch()——头文件:功能:用于从键盘输入一个字符。前者的执行过程:执行到此将等待输入,只有当用户输入字符,并按Enter键后,才接收输入的第1个字符,并在屏幕上回显该字符,同时送到内存的缓冲区,赋给指定的变量。并且对空格符、制表符(Tab键)和回车符(Enter键)都被当作有效字符读入。2/14/202321C语言程序设计getch()函数是立即接收用户来自键盘上的输入(不等按下回车),不把字符回显到屏幕上。2.字符输出函数格式:putchar(字符表达式)功能:将指定字符表达式的值在标准输出设备(通常是显示器)上输出。可以是字符常量、字符变量或整型表达式,其功能等价于:printf("%c",ch)。2/14/202322C语言程序设计#include<>
main()
{
charc;
c=getchar();
/*从键盘读入字符直到回车结束*/
putchar(c);
/*显示输入的第一个字符*/
printf("Pressanykeytocontinue...");
getch();
/*等待按任一健*/
}2/14/202323C语言程序设计第二节顺序结构程序设计一、顺序结构程序一般包括两部分:1.程序开头的编译预处理命令。如果要在程序中使用标准库函数,则必须使用编译预处理命令#include,将相应的头文件包含进来。2/14/202324C语言程序设计2.函数体(1)变量定义语句;(2)输入语句;(3)运算语句;(4)输出语句。3.执行流程各语句是按照出现的位置次序,被顺序执行,且每个语句都会被执行到2/14/202325C语言程序设计二、赋值语句赋值语句是由赋值表达式加上一个分号构成。一个程序用得最多的语句是赋值语句。例:输入三角形的三边长,求三角形面积。设输入的三边长a、b、c能构成三角形。从数学知识已知求三角形面积的公式为:area=
√(s*(s-a)*(s-b)*(s-c));其中s=(a+b+c)/2。2/14/202326C语言程序设计#include<>#include<>main(){floata,b,c,s,area;scanf(“%f,%f,%f”,&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.2f\n",a,b,c,s);printf("area=%7.2f\n",area);}2/14/202327C语言程序设计运行情况如下:3,4,6↙
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年扬州市江都妇幼保健院公开招聘编外合同制专业技术人员备考题库参考答案详解
- 苗木租山合同范本
- 莆田渔政协议书
- 蜜桔买卖协议书
- 认罪认罚协议书
- 设备通讯协议书
- 试剂销售协议书
- 试药免责协议书
- 年度会员合同范本
- 手术前麻醉协议书
- 埃斯特维华义制药有限公司年产35吨4800、25吨4790高级中间体技改项目环境影响报告书
- 魔力宝贝宠物卡片武器物品编码
- 小学毕业班动员会教学课件
- 汽车坡道玻璃雨棚施工方案
- 护理质量检查记录69528
- 盆底肌表面肌电解读
- 《南州六月荔枝丹》公开课PPT
- 四川省地震灾区重大地质灾害治理工程资料全套表格
- 核对稿-700单元联锁
- 山塘整治工程建设方案
- 中国医院质量安全管理 第4-6部分:医疗管理 医疗安全(不良)事件管理 T∕CHAS 10-4-6-2018
评论
0/150
提交评论