




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章要求:,进一步理解C程序的组成,了解C语句的分类掌握C语言中数据的输入/输出方法,常用输入/输出函数的使用掌握顺序结构程序设计方法,能编写简单的C程序,本章难点:数据输出格式控制符的使用,本章重点:格式输入/输出函数(scanf()/printf())的使用,第3章简单的C程序设计,3.1顺序结构的基本语句3.2数据的输入与输出3.3字符数据的输入输出*3.4较复杂的输入输出问题本章小结,第3章顺序结构程序设计,内容要点提示:顺序结构中基本的语句有哪些?输出函数printf有哪些格式说明符?利用scanf函数输入数据时,要注意什么?,程序设计其实是对数据的设计和对操作的设计。数据设计是通过一系列的数据描述语句来实现,主要用来定义数据的类型,完成数据的初始化等;而操作设计是通过一系列的操作控制语句来完成,其作用是向计算机系统发出操作指令,以完成对数据的加工计算和流程控制。程序的结构分为顺序结构、选择结构和循环结构,3.1顺序结构的基本语句,C语句是C程序的最基本成分。C语句必须由分号“;”结尾,哪怕只有一个分号也能构成一个空语句。在C语言中只有“可执行语句”,没有“非执行语句”。,一个大型C程序的结构如图3-1所示,即一个C程序可以由若干个源程序文件组成,一个源文件可以由若干个函数和预编译命令组成,一个函数又由数据定义部分和执行部分组成。,3.1顺序结构的基本语句,顺序结构主要使用的是简单语句(包括数据输入输出语句)、空语句和复合语句。,3.1.1简单语句,1.表达式语句由表达式组成的语句称为表达式语句。即在表达式后面加上分号就成为表达式语句。表达式;/*分号是C语言语句的结束符*/例如:i+;-j;,3.1顺序结构的基本语句,2.赋值语句例如:y=10;/*把10赋值给变量y*/x=y+1;x=x*6*sin(x)/*计算右边表达式的值,并赋值给变量x*/3.函数调用语句函数调用语句由函数名和实际参数加上分号组成。形式如下:函数名(实际参数列表);例如:scanf(“%d”,3.1顺序结构的基本语句,3.1.2空语句只有一个分号的语句,它什么也不做。有时用作转向语句或后面章节提到的循环语句中的循环体。例如:while(getchar()!=n)/*这是循环控制语句*/;/*这是空语句*/3.1.3复合语句把多条语句用花括号“”括起来组成的语句称为复合语句。在程序中应把复合语句看成是单条语句,即在语法上相当于一条语句。,3.1顺序结构的基本语句,复合语句的形式:数据说明语句1;语句2;语句n;注意:在复合语句的“数据说明”中定义的变量是局部变量,仅在复合语句中有效;复合语句结束花括号“”之后不需再加分号。例如:intx=3,y=7;/*x,y变量仅在复合语句中有效*/x=x+y;printf(“x=%dn”);,3.1顺序结构的基本语句,【例3-1】输入三角形的三条边长,计算并输出三角形的面积。假设输入的三条边能构成三角形的。根据三条边的边长,计算三角形面积的公式如下:,#include#include/*数学函数的头文件*/voidmain()floatx,y,z,s,area;printf(Inputa,b,c:n);scanf(%f,%f,%f,/*输出三角形面积*/,思考:输入任意3个值作为三角形的边都能计算出三角形面积?,3.2.1数据输入/输出的概念,数据输入/输出是相对计算机内存,3.2数据的输入/输出,在语言中所有的数据输入输出都是由库函数完成的。因此都是函数语句。在C语言中使用库函数时,要使用预编译命令#include将相关的头文件(*.h)包含到用户源文件中。使用形式:#include“头文件”或#include,说明:1.标准输入/输出头文件是:stdio.h2.常用的输入输出函数有:printf()scanf()putchar()getchar()getch()getche()函数等,3.2数据格式输入/输出,3.2.1数据格式输出printf()函数,格式化输出函数printf()功能:按控制字符串规定的格式,向输出设备输出各输出项其基本格式为:printf(“控制字符串”,输出项列表),3.2数据格式输入/输出,输出项可以是常量、变量、表达式,其类型与个数必须与控制字符串中格式字符的类型、个数一致、当有多个输出项时,各项之间用逗号分隔。控制字符串由格式说明和普通字符两部分组成。,1格式说明一般格式为:%格式字符规定了输出项的输出格式,常用格式字符见表3-2,表3-2输出格式字符,3.2.1数据格式输出printf()函数,(1)字段宽度修饰符该修饰符用于确定数据输出的宽度、精度、小数位数、对齐方式等,用于产生更规范整齐的输出,表3-3列出了字段宽度修饰符。,表3-3字段宽度修饰符,3.2.1数据格式输出printf()函数,例如:voidmain()inta=123;floatx=12.345678;printf(%5d,%5.2fn,a,x);printf(%2d,%2.1fn,a,x);程序的运行结果如下:,说明:当指定宽度小于数据的实际宽度时,对整数,按该数的实际宽度输出。对浮点数,相应小数位的数四舍五入。若度宽小于等于浮点数整数部分的宽度,则该浮点数按实际位数输出,但小数位数仍遵守宽度修饰符给出的值。,3.2.1数据格式输出printf()函数,(2)对齐方式修饰符一般的输出数据为右对齐格式,加“-”号,变为“左对齐”方式。例如:voidmain()inti=123;floata=12.34567;printf(%6d%10.4fn,i,a);printf(%-6d%10.4fn,i,a);printf(%6d%-10.4fn,i,a);程序运行结果如图所示:,3.2.1数据格式输出printf()函数,(3)长度修饰符l和h可以与输出格式字符d、f、u等连用,以说明是用long型或short型格式输出数据,如:hd短整型lf双精度型ld长整型hu无符号短整型,2普通字符普通字符包括可打印字符和转义字符。可打印字符是一些说明字符,这些字符按原样显示在屏幕上转义字符是不可打印的字符,它们其实是一些控制字符,控制产生特殊的输出效果。常用的有“t”,“n”,其中t为水平制表符,作用是跳到下一个水平制表位,“n”为回车换行符,遇到“n”,显示自动换到新的一行。,3.2.1数据格式输出printf()函数,例如:voidmain()inti=123;longn=456;floata=12.34567,y=20.5;printf(i=%4dta=%7.4fntn=%lun,i,a,n);printf(y=%5.2f%n,y);程序运行的输出结果如下:,3.2.1数据格式输出printf()函数,3.2.2数据格式输入scanf()函数,scanf()的功能:从键盘上输入数据,该输入数据按指定的输入格式被赋给相应的输入项。函数一般格式为:scanf(控制字符串,输入项地址列表);控制字符串规定数据的输入格式,其内容由格式说明和普通字符两部分组成。输入项地址列表由一个或多个变量地址组成,各变量地址之间用逗号“,”分隔。scanf()中各变量要加地址操作符,表示如下:/*变量fahr表示华氏温度,变量sius表示摄氏温度*/printf(请输入华氏温度=);scanf(%d,控制字符串的两个组成部分:格式说明和普通字符。,1.格式说明格式说明规定输入项中的变量以何种类型的数据格式被输入,形式是:%各个格式字符及其意义见表3-5,表3-5输入格式字符,3.2.2数据格式输入scanf()函数,各修饰符是可选的,这些修饰符是:(1)字段宽度例:scanf(%3d,getchar()函数的作用:从系统的输入设备键盘输入一个字符。从功能角度来看,scanf()函数可以完全代替getchar()函数。例:charc1;则c1=getchar();可使用等价语句:scanf(%c,3.3字符数据非格式输入/输出函数,说明:(1)getchar()函数一次只能返回一个字符,即调用一次只能输入一个字符。(2)程序第一次执行getchar()函数时,系统暂停等待用户输入,直到按回车键结束,如果用户输入了多个字符,则该函数只取第一个字符,多余的字符(包括换行符n)存放在键盘缓冲区中,如果程序再一次执行getchar()函数,则程序就直接从键盘缓冲区读入,直到读完后,如果还有getchar()函数才会暂停,再次等待用户输入。,3.3字符数据非格式输入/输出函数,2.getch()和getche()函数这两个函数也都是从键盘上读入1个字符,与getchar()函数的区别是输入不需要回车键结束,即输入一个字符就自动结束输入。它们的调用格式为:getch();getche();,两者的区别是:getch()函数不将读入的字符回显在显示屏幕上getche()函数将读入的字符回显到显示屏幕上,3.3字符数据非格式输入/输出函数,例3-6#includevoidmain()charc,ch;c=getch();/*从键盘上读入一个字符不回显送给字符变量c*/putchar(c);/*输出该字符*/ch=getche();/*从键盘上带回显的读入一个字符送给字符变量ch*/putchar(ch);,3.3字符数据非格式输入/输出函数,利用回显和不回显的特点,两个函数经常用于交互输入的过程中完成暂停等。在调试程序时,也经常可在main函数最后增加一个“getch(),可直接观察程序的运行结果而不必使用“Alt+F5”切换窗口。例3-7#includevoidmain()floatx;printf(EnterTheNumberx:);scanf(%f,/*等待输入任一键*/,3.3字符数据非格式输入/输出函数,3字符输出函数putchar()putchar()函数的格式:putchar(ch);该函数的功能是向显示器终端输出一个字符。其中,ch可以是一个字符变量或常量,也可以是一个转义字符。说明:(1)putchar()函数只能用于单个字符的输出,且一次只能输出一个字符。(2)从功能角度printf()函数可以完全代替putchar()函数,其等价形式:printf(%c,ch)。,3.3字符数据非格式输入/输出函数,例3-8输入一个字符,回显该字符并输出其ASCII码值。#includevoidmain()charch1,ch2;ch1=getchar();ch2=getchar();putchar(ch1);putchar(ch2);printf(%Cn%c,ch1,ch2);程序运行后,若ch1、ch2分别得到字符A、B,应输入AB,如果输入A,则实际上ch1被赋值为字符A,ch2被赋值为字符换行符n,3.3字符数据非格式输入/输出函数,补充例子:编一程序,从键盘输入一个大写字母,要求改用小写字母输出(提示:大写字母对应的ASCII码序号比相应的小写字母的ASCII码序号小32)。#includestdio.hvoidmain()charc1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);,应用程序举例,程序运行情况:AA,65a,97,补充例子:输入时间(小时,分和秒)然后使用输出消息框输出其计多少秒。分析:hh代表小时,mm代表分钟,ss代表秒,tss代表总的秒数值,则:其总时间秒:tss=hh*3600+mm+60+ss程序代码如下:voidmain()inthh,mm,ss;longtss;/*定义为长整型数据,因int整数的最大数据是32767*/printf(Enterhh:mm:ss=);/*提示用户输入数据*/scanf(%d:%d:%d,应用程序举例,补充例子:编一程序,求一内半径R1=10cm外半径R2=20cm的球环的体积。要求按四舍五入保留到小数点后4位。#definePI3.1415926/*定义符号常量PI代表*/voidmain()doubler1,r2;/*r1,r2表示球的内外半径*/doublevol;/*vol表示体积*/printf(Enterr1,r2=);scanf(%lf,%lf,程序运行结果如下:,3.5应用程序举例,本章小结,本章介绍C语言的基本语句及输入/输出函数的使用,它们属于顺序结构程序设计,是一种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西省运城市重点中学2024-2025学年高三下学期单元检测试题物理试题含解析
- 山西能源学院《建筑环境交互原理》2023-2024学年第一学期期末试卷
- 吉林省四平市公主岭市第五高级中学2024-2025学年高中毕业班第一次诊断性检测试题语文试题含解析
- 上海市浦东新区第一教育署市级名校2025届初三3月中考适应性调研考试数学试题试卷含解析
- 2025年药剂师资格考试试卷及答案
- 2025年体育教师招聘考试真题及答案
- 辽宁生态工程职业学院《熔焊原理》2023-2024学年第二学期期末试卷
- 2025年土木工程施工管理考试试卷及答案
- 景德镇陶瓷大学《运动心理学》2023-2024学年第一学期期末试卷
- 吉林省前郭尔罗斯蒙古族自治县重点中学2025年初三仿真模拟(二)生物试题试卷含解析
- 2024年浙江省宁波市鄞州区部分学校九年级6月中考联考英语试卷
- 中医内科学2黄疸
- 广东省茂名市小升初语文期末试卷
- 我的叔叔于勒课本剧
- Python Django Web典型模块开发实战
- 闽教版2023版3-6年级全8册英语单词表
- 欧美聊天话术大全
- 新收入准则深度解读和案例分析以及税会差异分析
- 遵义职业技术学院招聘考试题库2024
- MOOC创新创业与管理基础(东南大学)
- 照片档案整理规范
评论
0/150
提交评论