- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 选择结构程序设计 内容概述 关系运算符和表达式 逻辑运算符和表达式 if语句 switch语句 教学目标 掌握关系运算符及其表达式。 掌握逻辑运算符及其表达式。 掌握条件运算符及其表达式。 掌握if语句和switch语句。 3.1 关系运算符和关系表达式 3.1.1关系运算符及其优先级 例如: 关系表达式“8==4”的值为“假”,表达式的值为0。 关系表达式“50”的值为“真”,表达式的值为1。 若a=5,b=3,c=1,则 abc的计算过程是: 先计算ab,结果为真,值为1 再计算1c,结果为假,值为0 f=bc!=a的计算过程是: 先计算bc,结果为1 再计算1!=a结果为1 最后将1赋值给f 课堂练习4:若x=3,y=7求逻辑表达式!(1x)||29-y的值. ① 括号()优先级最高,先计算1x,值:1; ② !优先级高于其它算符,计算!①,值:0 ③ -优先级高于其余算符,计算9-y,值:2 ④ 运算优先级高于逻辑或||,计算2③,值:0 ⑤ ||最后运算,②||④,值:0 所以,表达式!(1x)||29-y的值是0。 3.3 if语句3.3.1 if语句有三种基本形式 用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。 if语句有三种基本形式: if if-else if-else-if 第一种形式为基本形式,形式为: 其语义是: 如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为右图。 【例】由键盘输入两个不同的整数给变量a和b,然后输出a和b中较大的数。 #include stdio.h int main() { int a,b,max; printf(Input two numbers: ); scanf(%d%d, a, b); max=a; if (maxb) max=b; printf(max=%d\n, max); return(0); } 第二种形式为: if-else if(表达式) 语句1; else 语句2; 【例】用if-else语句改写上例 #include stdio.h int main() { int a, b; printf(Input two numbers: ); scanf(%d%d, a, b); if(ab) printf(max=%d\n, a); else printf(max=%d\n, b); return(0); } 第三种形式为: if-else-if 前两种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句。 其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。 【例】个人年收入低于1万元,可免个人所得税;年收入在1万~2万元之间,超过1万元的部分交5%的个人所得税;年收入在2万元以上则交总收入的7%的个人所得税。请编写一个程序,根据个人年收入计算个人所得税(精确到元)。 #includestdio.h void main() { int x,y; printf(请输入个人年收入:); scanf(%d,x); /*输入个人年收入*/ if (x =10 000) /*个人年收入低于1万元*/ y= 0; else if (x=20 000) /*1万~2万元之间*/ y =(x-10 000)*5/100; else /*个人年收入高于2万元*/ y =x*7/100; printf(个人所得税=%d元\n,y); } #includestdio.h void main() { int score, grade; printf(请输入成绩:); scanf(%d,score); /*输入成绩*/ if(score89) /*90~100分,积点5*/ grade=5; else if(score79) /*80~89分,积点4*/ grade=4; else if(score69) /*70~79分,积点3*/ grade=3; else if(score59)
文档评论(0)