chap03-分支结构.ppt_第1页
chap03-分支结构.ppt_第2页
chap03-分支结构.ppt_第3页
chap03-分支结构.ppt_第4页
chap03-分支结构.ppt_第5页
免费预览已结束,剩余40页可下载查看

下载本文档

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

文档简介

Chap3分支结构,3.1简单的猜数游戏3.2四则运算3.3查询自动售货机中商品的价格,本章要点,什么是分支结构?它的作用是什么?switch语句中的break起什么作用?逻辑运算和关系运算的相同之处是什么?它们之间又有什么不同?字符型数据在内存中是如何存储的?,3.1简单的猜数游戏,3.1.1程序解析3.1.2二分支结构和ifelse语句3.1.3多分支结构和elseif语句,例3-1简单的猜数游戏。输入你所猜的整数(假定1100内),与计算机产生的被猜数比较,若相等,显示猜中;若不等,显示与被猜数的大小关系。,3.1.1程序解析,#includeintmain(void)intmynumber=38;intyournumber;printf(Inputyournumber:);scanf(%d,多层缩进的书写格式使程序层次分明,Inputyournumber:48Sorry!yournumberisbiggerthanmynumber!,Inputyournumber:38Ok!youareright!,3.1.2二分支结构和if-else语句,if(表达式)语句1else语句2,if(表达式)语句1,一条语句,判断数字的奇偶性,例3-2输入1个整数,判断该数是奇数还是偶数。,number%2=0,读入一个整数if(该数能被2整除)则该数为偶数else该数为奇数,源程序-判断数字的奇偶性,#includeintmain(void)intnumber;printf(Enteranumber:);scanf(%d,Enteranumber:329Thenumberisodd.,Enteranumber:1028Thenumberiseven.,统计学生的成绩,例3-3输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计不及格成绩的个数。,for(i=1;i=a,0-11x,x=-1并且x=-1charch;digit=letter=other=0;printf(“Enter10characters:);for(i=1;i=a,例3-7输入10个字符,统计其中英文字母、数字字符和其他字符的个数。,input10characters:Reold123?letter=5,digit=3,other=2,3.3查询自动售货机中商品的价格,3.3.1程序解析3.3.2switch语句3.3.3多分支结构,例3-8查询自动售货机中商品的价格,3.3.1程序解析,假设自动售货机出售4种商品,薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),售价分别是每份3.0、2.5、4.0和3.5元。在屏幕上显示以下菜单,用户可以连续查询商品的价格,当查询次数超过5次时,自动退出查询;不到5次时,用户可以选择退出。当用户输入编号14,显示相应商品的价格;输入0,退出查询;输入其他编号,显示价格为0。1Selectcrisps2Selectpopcorn3Selectchocolate4Selectcola0Exit,#includeintmain(void)intchoice,i;doubleprice;for(i=1;i=5;i+)printf(1Selectcrispsn);printf(2Selectpopcornn);printf(3Selectchocolaten);printf(4Selectcolan);printf(0exitn);printf(Enterchoice:);scanf(%d,1Selectcrisps2Selectpopcorn3Selectchocolate4Selectcola0ExitEnterchoice:1price=3.01Selectcrisps2Selectpopcorn3Selectchocolate4Selectcola0ExitEnterchoice:7price=0.01Selectcrisps2Selectpopcorn3Selectchocolate4Selectcola0ExitEnterchoice:0Thanks,3.3.2switch语句,处理多分支选择问题,3种情况1、在switch语句的每个语句段中都使用break语句switch(表达式)case常量表达式1:语句段1;break;case常量表达式2:语句段2;break;.case常量表达式n:语句段n;break;default:语句段n+1;break;,switch(表达式)case常量表达式1:语句段1;break;case常量表达式2:语句段2;break;.case常量表达式n:语句段n;break;default:语句段n+1;break;,switch(choice)case1:price=3.0;break;case2:price=2.5;break;case3:price=4.0;break;case4:price=3.5;break;default:price=0.0;break;,用else-if如何实现?,求解简单表达式,例3-9输入一个形式如“操作数运算符操作数”的四则运算表达式,输出运算结果。(要求用switch语句实现)例如:输入:3.1+4.8输出:7.9,源程序,#includeintmain(void)charop;doublevalue1,value2;printf(Typeinanexpression:);scanf(%lf%c%lf,Typeinanexpression:3.1+4.8=7.9,如果除数为0?,2、在switch中不使用break,switch(表达式)case常量表达式1:语句段1;case常量表达式2:语句段2;.case常量表达式n:语句段n;default:语句段n+1;,switch(表达式)case常量表达式1:语句段1;case常量表达式2:语句段2;.case常量表达式n:语句段n;default:语句段n+1;,switch(choice)case1:price=3.0;case2:price=2.5;case3:price=4.0;case4:price=3.5;default:price=0.0;,price=?,3、在switch的某些语句段中使用break,例3-10输入10个字符,分别统计出其中空格或回车、数字字符和其他字符的个数。,比较:例3-7输入10个字符,统计其中英文字母、数字字符和其他字符的个数。,intmain(void)intblank,digit,i,other;charch;blank=digit=other=0;printf(Enter10characters:);for(i=1;i=10;i+)ch=getchar();switch(ch)case:casen:blank+;break;case0:case1:case2:case3:case4:case5:case6:case7:case8:case9:digit+;break;default:other+;break;printf(blank=%d,digit=%d,other=%dn,blank,digit,other);return0;,Enter10characters:Reold123?blank=1,digit=3,other=6,3.3.3多分支结构,分支结构一般分为二分支和多分支两种结构二分支结构用基本的if语句实现多分支结构用实现方法:elseif语句switch语句嵌套的if-else语句,嵌套的if-else语句,if(表达式)语句1else语句2,if语句,if语句,if(表达式1)if(表达式2)语句1else语句2elseif(表达式3)语句3else语句4,嵌套的ifelse语句,if(表达式1)if(表达式2)语句1else语句2elseif(表达式3)语句3else语句4,例3-11求解简单表达式。要求对除数为0的情况作特别处理。,#includeintmain(void)doublevalue1,value2;charop;printf(Typeinanexpression:);scanf(%lf%c%lf,Typeinanexpression:3.1+4.8=7.9,Typeinanexpression:3.4/0Divisorcannotbe0!,else和if的匹配,if(表达式1)if(表达式2)语句1else语句2elseif(表达式3)语句3else语句4,if(表达式1)if(表达式2)语句1elseif(表达式3)语句3else语句4,else与最靠近它的、没有与别的else匹配过的if匹配,if(表达式1)if(表达式2)语句1elseif(表达式3)语句3else语句4,改变else和if的配对,例3-12改写下列if语句,使else和第1个if配对。if(x2)if(x1)y=x+1;elsey=x+2;,if(x2)if(x1)y=x+1;elsey=x+2;,if(x2)if(x1)y

温馨提示

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

最新文档

评论

0/150

提交评论