C语言程序设计--循环例子_第1页
C语言程序设计--循环例子_第2页
C语言程序设计--循环例子_第3页
C语言程序设计--循环例子_第4页
C语言程序设计--循环例子_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、c语言编程基础篇,第7章简单编程的2,2020/7/2,本章内容摘要,多分支选择结构基于switch语句循环嵌套break语句和continue语句程序示例,2020/7/2,教育目标,3个基本结构与本章相结合, 介绍流程控制的其他几个语句:实现了switch语句、break语句和continue语句和循环的嵌套、复杂算法,设计了结构清晰、功能强的程序,对c语言程序的开发设计有深刻的认识。2020/7/2,7.1多分支选择结构程序设计,1,语句形式:switch (式) case常数1:句1; case常数2:句2 case常数:句3case常数n:句n; default :文件n 1; ,根

2、据表达式的值,选择不同的程序分支。 也称为开关语句。 数值型或字符型、常数式的值必须互不相同。 否则,在执行时发生矛盾,即,相同的交换机值对应于多个执行计划。2020/7/2,2,语句执行过程:语句的最后一个语句是否为断开,简单语句和复合语句,case语句的出现顺序不影响执行结果。2020/7/2、语音主() int n; printf (请输入成绩: ); 编制scanf(%d”,【例7.1】程序,对学生的成绩进行排名。 把成绩分成几个等级。 059不合格,6069合格,7079中等,8089良好,90100优秀。 要求输入成绩,并输出相应的等级。 成绩: 78?22222222222222

3、222222222222226?在2020/7/2,“switch”语句中,“case常数表达式”相当于一个语句的标签,如果表达式的值和某个标签相等,则向该标签执行,但该标签因此,c语言提供了break语句,并起着从其中的switch语句中脱离的作用。 将2020/7/2、上例7.1修改为: void main() int n; printf (请输入成绩: ); 扫描(“% d”,成绩: 78; 请注意,如果您使用switch语句,则成绩78的等级为中等、2020/7/2,并且switch后面括号中的表达式值和case语句的常量表达式值都必须是整数类型、枚举类型或字符类型,而不是浮点类型。

4、case之后的每个常量表达式的值不能相同。 每个case子句可以是一个语句,也可以是多个语句。 对于多个语句,不需要用括号括起来。 可以更改单个case和default子句的优先级,而不影响程序的执行结果。 可以省略default子句。 可以在多个case之后共享一系列执行语句。 例如,7.1中排名优秀的判定程序是:2020/7/2,交换机(int ) (n/10 ) ) case 10: case 9: printf (成绩%d的排名优秀 n ); break; ,2020/7/2,7.2嵌套的环路结构程序设计在一个环路中完全包括另一个环路,称为环路嵌套。 for语句可以与while语句、d

5、o-while语句相互嵌套,如:2020/7/2,(1)(2)for()dowhile (); (3) while () for () for () for () 、2020/7/2、for (i=1; i=9; i ) 印刷第行,【例7.2】印刷乘法小九九表。的双曲馀弦值。 使用9次循环语句,每循环打印一行。 打印第I行,循环I次,每循环打印公式。 for (j=1; j=i; j ) 打印第一个表达式,打印一行后换行,2020/7/2,#include void main() int i,j; for (i=1; i=9; i ) for (j=1; j=i; j )打印( % d * %

6、 d=%-3d ,I,j,i*j ); printf(n ); 、程序的动作为1 *1=1*2*1=2*2=4*3*1=3*2=6*3=9*1=4*2=8*3=12 *4=16 *5*1=5*2=10 *3=15 *4=20 *5=25 *1=6* 6 4=28 *7=35 *6=42 *7=49 *8*1=8*2=16 *3=24 *8*4=32 *8*5=40 *6=48 *7=56 *8=64 *9*1=9*2=18 *3=27 *4=36 *5=4 for(x=1; x=20; 在嵌套的for循环中,公鸡为1、2、20只*/for(y=1; y=33; y ) /*母鸡1,2,33只*

7、/for (z=3; z100; z=3) /*小鸡为3,6,99只*/if (x*5 y*3 z/3=100 ),程序的执行结果如下:公鸡4只,母鸡18只,小鸡78只公鸡8只,母鸡11只,小鸡81只公鸡12只,母鸡4只,小鸡84只在7.3break和continue语句的循环中的应用break语句只能在switch语句或循环语句中使用,并从switch语句中退出,或从其层次的循环中退出,执行后续程序。 因为break语句的迁移方向很明确,所以不需要匹配语句的标签。 请注意,break语句的常用格式是break。 break语句不能用于if-else条件语句。 在多级循环中,break语句仅向

8、外跳动一级。 如果使用break语句,则循环语句中只能使用多个出口、2020/7/2、continue语句和continue语句。 其一般形式是continue。结束这次循环的意思是,不执行循环体的continue语句以后的语句,转移到下一个循环条件的判断和执行。 请注意,此语句只能结束此层次的此循环,而不会跳出循环。 continue语句仅在for、while、do-while等循环体中与if条件语句一起使用,以加速循环。 1) while (式1) if (式2)break; ,2) while (式1) if (式2)continue; ,2020/7/2,2020/7/2,【例7.4】

9、输出100以内能被7除尽的数。# include stdio.h void main () intn; for(n=1; na1,交换之后,比较第二个数和第三个数依次类推,进行第次冒泡排序,直到第n-1个个数和第n个个数比较为止,其结果,最大的数量被配置在最后的元素位置,最初的第n-1个个数进行第二次冒泡排序, 因此,下一个最大的数字位于第n-1个元素位置,总计经过第n-1个冒泡排序,结束排序,然后是2020/7/2,例如,38、49、76、97、13、97 27、97、30、97、13、76、27、30, 27,38,27,38,30,38,2020/7/2,#包含主() int a 10 ,I,j,t; printf(input10numbers:n ); for(i=0; PS;PS。 aj=aj 1; aj 1=t; printf ( thesortednumbers :n ); for(i=0; i10; I )打印(“% d”,ai ); ,2020/7/2,【例7.11】数组元素排序选择排序(以升顺序为例),排序过程:首先在n-

温馨提示

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

评论

0/150

提交评论