- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
选择结构1.三种基本结构选择结构也叫分支结构,它的作用是根据给定的条件是真还是假,决定后面的操作或做进一步的判断。 一.结构化程序设计该题要使用选择结构来编程求解,其中的条件“30到100之间的一个奇数”如何用C语言的语句来描述呢?问题 任意输入一个整数,判断这个数是不是位于30到100之间的一个奇数,如果是则在屏幕上输出“通过验证”;如果不是则在屏幕上输出“该数不合法”。 借助关系表达式和逻辑表达式来实现: (x=30x=100x%2)==1 如果x满足条件,整个表达式的的结果就为真; 如果x不满足条件,整个表达式的的结果就为假。 引 例1. C语言提供了六种关系运算符: 运算符含义优先级小于优先级相同高=小于或等于大于=大于或等于==等于优先级相同低!=不等于二.关系运算符与关系表达式2.关系运算符与其它运算符优先级关系 算术运算符→关系运算符→赋值运算符 (1)算术运算符优先级高于关系,如: ca+b 等效于c(a+b) (2)关系运算符优先级高于赋值,如: a=bc 等效于a=(bc)3.关系运算符的结合性 优先级相同时,从左往右算,即左结合。如: abc==d等效于((ab)c)==d 4.关系表达式的值 关系表达式的结果为逻辑值,即“真”或“假”。在C中表示逻辑值,1代表“真”;0代表“假”。二.关系运算符与关系表达式举 例若 int a=3,b=2,c=1,f ; 表达式结果说明ab真a大于b,关系成立,即为真ab==c真先判断ab,结果为真,即为1;再判断1==c,关系成立,结果为真f=abcf=0先判断ab,结果为真,即为1;再判断1c,关系不成立,结果为假,即为0;最后将0赋给fprintf(“%d”, 12);输出结果为:012关系不成立,结果为假三.逻辑运算符与逻辑表达式C语言提供了 三种逻辑运算符,分别为:! 逻辑非 逻辑与||逻辑或ab!a!baba||b真真真假假假真真假真假真假真假假真假假真真真假假逻辑表达式计算的结果为逻辑值,即“真”或“假”。 在C中表示逻辑运算结果, 1代表“真”;0代表“假”。 判断一个量是否为“真”时,非0为“真”; 0为“假”。逻辑运算真值表逻辑表达式的值逻辑运算符的优先级和结合性 !→算术运算符→关系运算符→→||→赋值运算符优先级相同时: 和||从左向右算,即左结合; !为单目运算符,是右结合 例如:a=!b+2=3||c+13 等效于 a=( ( ( (!b)+2)=3) || ( (c+1)3) )设b=3,c=1,则运算后a=1。 举 例用C语言表达式表示下列条件:(1)x的取值区间为[a,b] 表达式:(x=ax=b)==1 (2)变量c不是数字字符 表达式:(c‘0’||c‘9’)==1(3)a是大于30,且不大于100的奇数 表达式:(a30a=100a%2!=0)==1(4)year为闰年 表达式: ((year%4==0year%100!=0)||(year%400==0))==1在逻辑表达式求值过程中,一旦能确定逻辑表达式的值,就不再逐步求值。注意逻辑表达式计算优化设int a=0,b=2,c=1; 求下列表达式的值及各变量的值:(1)ab++--c 结果:表达式的值为0,a=0,b=2,c=1(2)a||b--||c++ 结果:表达式的值为1,a=0,b=1,c=1(3)x=ab||c++ 结果:x=1,a=0,b=2,c=1条件运算符和条件表达式条件运算符 ? : 是C语言中唯一的三目运算符。表达式形式为: 表达式1? 表达式2: 表达式3 例如:两个数a、b求最大,将较大数赋给max。表达式为:max=(ab)? a:b条件运算符的优先级和结合性 1. 条件运算符优先级高于赋值、逗号运算符,低于其它运算符 。例如: (1)mn ? x : a+3 等效于:(mn) ? x :(a+3) (2)a++=10 b--20 ? a : b 等效于: (a++=10 b--20) ? a : b (3)x=3+a5 ? 100 : 200 等效于: x= (( 3+a5 ) ? 100 : 200 ) 优先级和结合性2. 结合性当一个表达式中出现多个条件运算符时,结合方向为自右至左,即应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。 例如: wx ? x+w : xy ? x : y 等效于: wx ? x+w : ( xy ? x : y) 四.if语句if语句也称为条件语句,是用来判定所给的条件是真还是假,然后决定执行给出的两种操作之一。C语言提供了三种基本形式的if语句:单分支、双分支、和多分支,这三种形式可单独使用;如果if语句(基本型)中又包含一个或多个if语
文档评论(0)