版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 基本程序设计,3.1 顺序结构程序设计 3.2 选择结构程序设计 3.3 循环结构程序设计,第三章 基本程序设计,3.1 顺序结构程序设计,学习目标】 掌握字符输入输出函数getchar()和putchar() 掌握顺序结构程序设计的程序模式 掌握格式输出函printf()和格式输入函数scanf(,图3-1,实例11 输入与输出几个字符,输入几个字符然后输出。程序运行结果如图3-1所示,3.1 顺序结构程序设计,3.1 顺序结构程序设计,程序代码,include stdio.h main() char a,b,c; /*声明变量*/ /*使用getchar()函数接受用户输入的值*/
2、 printf(请输入字符:n); fflush(stdin); a=getchar(); fflush(stdin); b=getchar(); fflush(stdin); c=getchar(); /*使用putchar()函数输出这几个字符,并输出一个换行符*/ putchar(a); putchar(b); putchar(c); putchar(n); getch();,3.1 顺序结构程序设计,相关知识,1顺序结构 所谓“程序结构”,即指程序中语句的执行顺序。程序设计者要把事情交给计算机去做,使用的都是写出一条条语句,顺序地执行,这是顺序式结构。本例中的程序运行就是顺序执行每条语
3、句。 2getchar()函数 getchar()函数是一个没有参数的函数,它从标准输入(键盘)读取一个字符,返回改字符的编码值。当使用此函数时,按下的键将自动回显到屏幕上。使用getchar()函数时,任何键都是有效的返回值。调用没有参数的函数时应在函数名后写一对空括号。下面的代码演示了getchar()函数的用法: char c;fflush(stdin);c=getchar(); getchar()函数只能接受单个字符,输入数字也按字符处理。当输入多于一个字符时,只接收第一个字符。使用getchar()函数时需要注意这一点。 函数fflush()用于清空输入缓冲区。stdin是标准的输入
4、,即键盘输入。分配给键盘的缓冲区需要清空,以便存储新数据。有时,键盘缓冲区中保留着旧信息,如果不清空,在接受字符时会将旧信息返回,这样就可能引发错误,3.1 顺序结构程序设计,相关知识,3 putchar()函数 putchar()函数对应于getchar()函数。函数putchar把一个字符送到标准输出。例如: putchar(o); putchar(k); 两个字符“ok”将被送到标准输出。标准输出的默认连接通常是计算机显示器,因此,执行这两个语句的效果使字符在计算机屏幕上显示出来。实例中创建了3个变量a、b和c,getchar()函数将用户输入的字符存储在这些变量中。每个getchar(
5、)前都使用一个fflush()函数帮助清空缓冲区。在该程序中,如果不使用fflush(),也不会出现问题。随着每个getchar()函数的执行,输入的字符就显示在屏幕上。最后一行输出结果将显示前面输入的所有字符。此输出结果显然表明,使用putchar()函数后,所有字符将显示在同一行上,最后换一行(因为它输出一个换行符),程序随即结束,实例12 互换两个变量的值,接收两个整数,分别保存在两个变量中,通过第三个变量将这两个变量的值互换。运行结果如图3-2所示,3.1 顺序结构程序设计,图3-2,3.1 顺序结构程序设计,程序代码,include stdio.h main() int x,y,z;
6、 printf(n请输入第一个数:); scanf( %d,3.1 顺序结构程序设计,相关知识,1头文件“stdio.h” C语言格式输入函数scanf()和格式输出函数printf(),都在头文件stdio.h里。因此,程序中使用它们时,在程序的开始处,应该书写一条包含命令: #include stdio.h 或 #include 2格式化输出函数printf() 其功能是向显示器输出若干指定类型的数据。其一般格式为: printf(参数1,参数2,参数n) 其中参数1是”格式控制字符串”,即用双引号括起来的字符串,它包含两类字符信息: 一类是格式说明:由%开始的格式字符序列,如%d、%c、
7、%f等。表示表达式的值应以给定的格式输出。另一类是普通字符,按原样输出的字符,除了格式说明字符之外的全是普通字符,3.1 顺序结构程序设计,相关知识,参数2到参数n是n-1个表达式,其值按对应的格式说明要求进行输出。因此,表达式的数量和类型应与格式控制字符串中格式说明的数量和格式类型相一致,否则会造成错误。 (1)d格式符 它是十进制整数输出格式,它要求将一个整形数据以十进制整数输出,有以下几种形式: %d : 按实际数据长度输出。 %md: m为制定的输出宽度(正整数)。如果实际数据长度大于m,按实际长度输出;小于m,则在左端补以空格(又称右对齐)。 %-md: m同上含义,但是负号要求输出
8、右端补以空格(左对齐)。 %ld: 如为长整型数据,应在d前加1。 (2)o格式符 它是八进制整数输出格式,它要求将一个整形数据的机内代码以八进制数输出。因为机内代码为补码,因此负数输出时将不输出负号,而是将符号位当做数值输出,3.1 顺序结构程序设计,相关知识,-ms: m含义同上吗,但是右端补以空格(左对齐)。 %m.ns 输出宽度为m,是实际输出字符串的前n个字符。如n大于实际长度,全部输出。 (7)f格式符 它是小数格式输出的格式控制符,它是一个实型数据(包括单精度型与双精度型)以小数格式输出,有以下几种形式:: %f: 整数部分全部输出,小数部分输出6位(并非全部有效) %mf: m
9、为输出宽度,包括小数点,含义同前 %-mf: m为输出宽度,包括小数点,含义同前 %m.nf: m为输出宽度,n为指定小数输出位数,3.1 顺序结构程序设计,相关知识,3格式输出函数scanf( ) 功能是从键盘输入若干指定类型的数据,其一般格式为: scanf(参数1,参数2, 参数) 其中参数1为格式控制字符串,其含义与printf 相同、参数2到参数n是n-1个变量地址或字符串首地址,输入的指定格式数据送入这些地址,赋给对应变量。 4复合语句 在C语言程序中,可以用一对花括号把若干条语句括起来,形成一个整体。这个整体就被称为“复合语句”。从语法上讲,它相当于一个语句。复合语句的一般格式是
10、: 语句1; 语句2; 语句n; 续,3.1 顺序结构程序设计,相关知识,要注意,复合语句中可以出现变量说明,复合语句中的最后一条语句的语句结束符(分号)不能省略,否则会造成语法错误。另外,标识复合语句结束的右花括号的后面不能有语句结束符(分号)。 5空语句 在C语言中,称仅由一个分号组成的语句为“空语句”,即: ; 编译程序在遇到空语句时,不会为其产生任何相应的指令代码。这就是说,空语句不执行任何操作。因此,空语句只是C语言语法上的一个概念,它起到一个语句的作用,仅此而已,3.2 选择结构程序设计,学习目标,掌握if语句的语句格式与应用 掌握复合if语句的语句格式与应用 掌握条件运算符的用法
11、 掌握switch语句的语句格式与应用,3.2 选择结构程序设计,实例13 根据条件确定公司是否已经为司机投保,如果司机满足下列条件之一,公司则为他们投保。这三个条件是:(1)司机已婚。(2) 司机为30岁以上的未婚男性。(3)司机为25岁以上的未婚女性。如果以上条件一个也不满足,则公司不为司机投保。请编写一个程序,根据用户输入司机的婚姻状态、性别和年龄,判断该司机是否已投保。运行结果如图3-5所示,3.2 选择结构程序设计,程序代码,include stdio.h main() char gender,ms; int age; /*接受司机的详细信息*/ printf(nnt司机的详细信息n
12、n); printf(nt司机的婚姻状况(y/n):); scanf(n%c, 续,3.2 选择结构程序设计,程序代码,else if(gender=M|gender=m),3.2 选择结构程序设计,相关知识,1选择结构程序设计 选择结构又称分支结构,有二分支或多分支结构。这种结构根据条件判断结果,选择执行不同的程序分支。选择结构是程序的基本结构之一,几乎所有程序都包含选择结构。C语言中可以用两种控制语句来实现程序的分支控制,即if语句和switch语句。用它们均可构成选择结构。 2单分支选择if语句 单分支选择if语句的形式为: if(表达式)语句; 执行过程,先判断表达式的值,如果成立,则
13、行后面的语句。否则什么也不执行,3.2 选择结构程序设计,相关知识,3双分支选择if语句 双分支选择if语句的形式为: if(表达式)语句l; else 语句2; 这个条件语句的执行过程,先判断表达式的值,如果成立,执行语句1,如果不成立,执行语句2。 4多分支选择if语句 多分支选择if语句的形式为: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; else if(表达式n) 语句n; else 语句n+1; 其语句是,依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。如果所有的表达式均为
14、假,则执行语句n+1。然后继续执行后续程序,3.2 选择结构程序设计,相关知识,5. if语句的嵌套 在if语句中又内嵌if语句则称为语句的嵌套。前面已说明,多分支选择if语句本身就可看成为if语句的嵌套形式。其一般形式为: if () if () 语句1; /*内嵌if语句*/ else 语句2; else if 语句3; /*内嵌if语句*/ else 语句4; 在使用内嵌if语句时,要注意if和else的配对,因为if语句的第一种形式中只有if没有else。C语言在编译源程序时总是将else与它前面最近的if配对,3.3循环结构程序设计,学习目标】 掌握循环结构的内涵 掌握while、f
15、or、do-while循环语句的结构和应用 掌握break和continue语句的用法,实例15 while循环语句求1+2+100的和值,任务:用while语句求1+2+3+100的和值。程序的运行结果如图3-10所示,3.3循环结构程序设计,3.3循环结构程序设计,程序代码,include stdio.h main() int i=1,sum=0; while(i=100) sum=sum+i; /*随着i的变化,将i的值累加到sum中*/ i+; /*循环一次,i自动增1*/ printf(1+2+.+100的和值为:%dn,sum); getch();,相关知识,1循环结构程序设计 循
16、环结构是结构化程序三种基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。循环结构的特点是:在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件成为循环条件,反复执行的程序段称为循环体。C语言的循环体语句有while语句、do-while语句、for语句。 2while语句 while语句用于实现“当”型循环结构。其一般形式如下: while(表达式) 循环体 其执行过程是当表达式为非值时,执行循环体。循环体内语句可以是空语句,可以是一条语句,可以是多条语句。如果为空语句或一条语句,可略去。 循环执行过程中,如果参与表达式判断的变量值不能改变,则循环不会结束,
17、称为死循环,3.3循环结构程序设计,实例18 循环的嵌套结构百钱买百鸡问题,任务: 中国古代数学家张丘建在他的算经中提出了著名的“百钱百鸡问题”鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁,母,雏各几何?编写一程序解决此问题,程序运行结果如图3-13所示,3.3循环结构程序设计,3.3循环结构程序设计,程序代码,include stdio.h #include conio.h main() int i,j,k; /* 三个变量分别代表鸡翁、鸡母、鸡雏 */ /* 理论上鸡翁的循环范围是0-100,但实际上每个鸡翁值5钱, 如果鸡翁的数量超过20,那么钱数一定超过100,那么就不合题意了, 所以这里鸡翁的取值范围是0-20,内层循环的鸡母范围也是同理。 */ for(i=0;i=20;i+) for(j=0;j=33;j+) k=100-i-j; /* 计算鸡雏的数量 */ /* 鸡的数量和钱的数量同时扩大三倍,以防余数问题。 */ if(i*15+j*9+k=300) printf(n鸡翁 鸡母 鸡雏数分别为:%5d%5d%5d,i,j,k); getch();,相关知识,1 循环嵌套 在一个循环体内又完整地包含了另一个循环,称为循环嵌套。前面介绍的三种类型的循环都可以互相嵌套,循环的嵌套可以多层,但每一层循环在逻辑上必须是完整的。在编写程序时,循环嵌套
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能应用合作协议书
- 土地开发投资合作协议书
- 合同法律法规扣押身份证收取财物法律责任
- 软体家具企业通过价值溢价实现新一轮增长策略研究报告
- 做主播的合同7篇
- 电煮蛋机产业规划专项研究报告
- 工业安全鞋市场洞察报告
- 外科整形用人造髋关节产品入市调查研究报告
- 信件磅秤产品入市调查研究报告
- 瓶用倾倒嘴产品入市调查研究报告
- 重点环节、重点部位医院感染预防与控制
- 晕厥的诊断与治疗晕厥专家讲座
- 海尔bcd系列冰箱说明书
- 弘扬民族精神奔流不息民族魂
- 《最后一次讲演》优秀教案及教学反思(部编人教版八年级下册)共3篇
- 2023年公共营养师之三级营养师真题及答案
- 研学安全主题班会课件
- 《观察洋葱表皮细胞》实验记录单
- 国开电大中国古代文学(B)(1)形考四
- 幼儿园讲卫生健康科普认识医生和护士主题教育班会PPT教学课件
- 六年级上册数学《圆的面积》教学课件-A3演示文稿设计与制作【微能力认证优秀作业】
评论
0/150
提交评论