第7讲 简单程序设计之二 (教材第七章).ppt_第1页
第7讲 简单程序设计之二 (教材第七章).ppt_第2页
第7讲 简单程序设计之二 (教材第七章).ppt_第3页
第7讲 简单程序设计之二 (教材第七章).ppt_第4页
第7讲 简单程序设计之二 (教材第七章).ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、,第7讲 简单C程序设计之二,掌握多分支选择结构switch语句 掌握循环嵌套 掌握break continue语句的用法,2,多重if,要处理多分支选择判断的情况,需要使用多重条件结构,多分支选择结构设计,嵌套 if,switch结构,3,多重 if 结构示例,问题描述: 编写一个程序,根据用户输入的期末考试成绩,输出相应的成绩评定信息。成绩大于等于90分输出“优”;成绩大于等于80分小于90分输出“良”;成绩大于等于60分小于80分输出“中”;成绩小于60分输出“差”。,#include void main() float grade; printf(n 请输入期末考试成绩: ); sca

2、nf(%f, ,4,#include void main() int a,b; printf(n 请输入 A 和 B 的值: ); scanf(%d%d, ,嵌套 if 结构的示例,5,switch 结构示例,问题描述: 要求用户输入一个字符值并检查它是否为元音字母。,char in_char; printf(n 请输入一个小写字母: ); scanf(%c, ,6,多重if结构和switch结构都可以用来实现多路分支 多重if结构用来实现两路、三路分支比较方便,而switch结构实现三路以上分支比较方便 在使用switch结构时,应注意分支条件要求是整型表达式,而且case语句后面必须是常量

3、表达式 有些问题只能使用多重if结构来实现,例如要判断一个值是否处在某个区间的情况,比较多重 if 和 switch 结构,7,示例1,问题描述: 要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII码值小于32的为控制字符。 在09之间的为数字,在AZ之间为大写字母, 在az之间为小写字母,其余则为其它字符。,void main() char c; printf(n 请输入一个字符: ); c=getchar(); if(c=0 ,8,示例2,问题描述: 编写一个简单的计算器,实现两个整型数的四则运算。,int a,b;char op; pri

4、ntf(n 输入操作数1,运算符,操作数2: ); scanf(%d,%c,%d, ,9,问题描述: 用“*”打印一个直角三角形图案。 图案如下所示: * * * * * * * * * *,(1)嵌套 while 循环示例,void main() int nstars=1,stars; while(nstars = 10) stars=1; while (stars = nstars) printf(*); stars+; printf(n); nstars+; ,内层循环控制每行打印*号的个数,外层循环控制打印的行数,10,问题描述: 用“*”输出一个菱形图案,图案如下: * * * *

5、* * * * * * * * * * * * * * * * * * * * *,(3)嵌套for循环,void main() int i,j,k; for(i=1;i=4;i+) for(j=1;j=4-i;j+) printf( ); for(k=1;k=2*i-1;k+) printf(*); printf(n); for(i=1;i=3;i+) for(j=1;j=i;j+) printf( ); for(k=1;k=7-2*i;k+) printf(*); printf(n); ,控制打印的行数,控制每行打印的空格数,控制每行打印的*号数,控制打印的行数,控制每行打印的空格数,控制

6、每行打印的*号数,* * * * * * * * * * * * * * * * * * * * * * * * *,11,问题描述: 1、判断一个数是素数。 分析:素数是指只能被1和它本身整除的数。算法比较简单,先将这个数被2除,如果能整除,且该数又不等于2,则该数不是素数。如果该数不能被2整除,再看则是否能被3整除。如果被3整除,并且该数不等于3,则该数不是素数,否则再判断是否被4整除,依此类推,该数只要是能被小于本身的某个数整除时,就不是素数。,(4)混合嵌套循环,void main() int i,j,n; n=15; j=2; while(n%j!=0) j+; if(n=j) pr

7、intf(“%4d是素数,n); else printf(“%4d不是素数,n); ,如果第一个能被整除的数等于该数本身,则说明该数为素数,从2到i之间寻找第一个能被整除的数,12,问题描述: 打印输出100至200之间的全部素数。,混合嵌套循环,void main() int i,j,n; n=0; for(i=100;i=200;i+) j=2; while(i%j!=0) j+; if(i=j) printf(%4d,i); n+; if(n%8=0) printf(n); printf(n); ,控制每行输出8个素数,如果第一个能被整除的数等于该数本身,则说明该数为素数,从2到i之间寻

8、找第一个能被整除的数,13,7.3. break 语句和continue 语句,break语句可以改变程序的控制流 break语句用于do-while、while、for循环中时,可使程序终止循环而执行循环后面的语句 break语句通常在循环中与条件语句一起使用。若条件值为真,将跳出循环,控制流转向循环后面的语句 如果已执行break语句,就不会执行循环体中位于 break 语句后的语句 在多层循环中,一个break语句只向外跳一层,break,14,问题描述: 统计从键盘输入的若干个字符中有效字符的个数,以换行符作为输入结束。有效字符是指第一个空格符前面的字符,若输入字符中没有空格符,则有效字符为除了换行符之外的所有字符。,#include void main() int count=0,ch; printf(n 请输入一行字符:); while(ch=getchar()!=n) if(ch= ) break; count+; printf(n 共有 %d 个有效字符。n,count); ,(1)break 语句示例,15,continue 语句,while() continue; ,while() break; ,跳出整个循环,继续下一次循环,16,问题描述: 求整数1100的累加值,但要求跳过所

温馨提示

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

评论

0/150

提交评论