第4章-结构化程序设计.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第4章结构化程序设计4.1程序的三种基本结构4.2选择结构程序设计4.3循环结构程序设计4.4编译预处理本章要点两种运算符和表达式(关系运算符、逻辑运算符及其表达式)两种选择语句(if,switch语句)四种循环语句(goto,while,do-while,for语句)编译预处理4.2选择结构程序设计4.2.1关系运算符和关系表达式例inta=3,b=2,c=1,d,f;ab(ab)==cb+cad=abf=abc关系运算注意:4.2.3if语句条件运算符条件运算符是由两个运算符组成,符号为::?条件运算符是C语言中唯一的一个三目运算符,要求有3个操作对象。由条件运算符组成的条件表达式一般形式为:表达式1?表达式2:表达式3执行过程如图:使用条件运算符时,应注意以下几个问题:(1)条件运算符的结合性为“至右向左”。如:ab?a:cd?c:d//ab?a:(cd?c:d)(2)表达式2和表达式3不仅可以是数值表达式,还可以是赋值表达式或函数表达式。如:ab?printf(“%d”,a):printf(“%d”,b);(3)条件运算符的优先级低于关系运算符、逻辑运算符和算术运算符,但高于赋值运算符。如:max=(ab)?a:b;//max=ab?a:b;例输入一个正整数,判断这个数是奇数还是偶数。4.2.4switch语句一般格式为:执行过程为当执行switch语句时,首先计算紧跟在其后一对括号中的表达式的值,然后在switch语句体内寻找与该值吻合的case标号,如果有与该值相等的标号,则执行该标号后开始的各语句,遇break语句跳出switch语句体,执行其后的语句。如果没有与该值相等的标号,并且存在default部分,则从default标号后的语句开始执行,直到switch语句体结束。如果没有与该值相等的标号,且不存在default标号,则跳过switch语句体,什么也不做。例给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。关于switch语句体说明几点:(1)switch是关键字,其后的表达式必须是整形或字符型,不能为实型。switch语句后面用花括号括起来的部分称为switch语句体。(2)case后的表达式是可以求得整形量或字符型量的常量表达式,其类型必须与switch语句后表达式类型相同。常量表达式中不允许包含有变量和函数调用。各case语句标号的值应该互不相同。(3)default也是关键字,起标号的作用。代表所有case标号之外的那些标号。default通常出现在switch的最后部分,但这不是它的唯一位置,它可以出现在case之间,也可以出现在所有case之前,但等效于出现在switch的最后部分。(4)break语句也称间断语句。在switch语句体中,每到执行到break语句时,立即跳出switch语句体。如果执行完某一个case的语句块后没有遇到break语句,则进入到下一个case的语句块或进入到default后的语句块去执行。4.2.5应用举例例4.11某产品的国内销售价:80箱以下,每箱350元,超过80箱,超过部分每箱优惠20元;国外销售价:1000箱以下,每箱900元,超过1000箱,超过部分每箱优惠15元。试编写计算销售额的程序。题中产品分国内、国外两种销售价格,适宜使用if-else结构语句处理。在每一种销售价格中,又要根据销售量的不同计算销售额的方法也不同。所以,本题可以采用if嵌套语句来实现。输入数字1/0代表国内销售还是国外销售,1表示国内销售,0代表国外销售;产品数目也需从键盘输入。程序如下:例4.13先从键盘上输入两实数,再输入四则运算符“+”、“-”、“*”、“/”中的一个,然后进行四则运算。若输入其他字符,则屏幕显示出错信息。main(){floata,b,s;charc;printf(inputexpression:a+(-,*,/)b\n);scanf(%f%c%f,a,c,b);swi

文档评论(0)

金华 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档