C程序语言课件:第5章 选择控制结构_第1页
C程序语言课件:第5章 选择控制结构_第2页
C程序语言课件:第5章 选择控制结构_第3页
C程序语言课件:第5章 选择控制结构_第4页
C程序语言课件:第5章 选择控制结构_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-4-182/562022-4-183/562022-4-184/562022-4-185/562022-4-186/562022-4-187/562022-4-188/562022-4-189/562022-4-1810/562022-4-1811/56Start/EndProcessInput/OutputTestConnectorFlow of activities2022-4-1812/56 2022-4-1813/56price = quantity*pricePerkg;scanf(%d, &quantity); scanf(%d, &pricePerkg)

2、;printf(%d, price);ABC2022-4-1814/56 2022-4-1815/562022-4-1816/56Relational OperationDescriptionExamples of ExpressionValueLess than6 91 (true)=Less than or equal to5 Greater than2 60 (false)=Greater than or equal to9 = 51 (true)=Equal to7 = 50 (false)!=Not equal to6 != 51 (true)2022-4-1817/56step a

3、if startstep mstep nend_ifstep b2022-4-1818/56Syntax:复合语句复合语句compound statement被当作一条语句看待被当作一条语句看待2022-4-1819/56Syntax:2022-4-1820/56#include main() int a, b, max; printf(Input a,b:); scanf(%d,%d, &a, &b); if (a b)max = a; if (a = b)max = b; printf(max = %dn, max);Input a,b: _Input a,b: 20 15

4、_Input a,b: 20 15max = 20_2022-4-1821/56Step aif startStep mStep nend_ifelse startStep xStep yend_elseStep z2022-4-1822/56Syntax:or2022-4-1823/562022-4-1824/562022-4-1825/56#include main() int a, b, max; printf(Input a, b:); scanf(%d,%d, &a, &b); if (a b) max = a; else max = b; printf(max =

5、%d, max); if (a b) max = a; if (a = b) max = b;2022-4-1826/56#include main() int a, b, max; printf(Input a, b:); scanf(%d,%d, &a, &b); if (a b) max = a; else max = b; printf(max = %d, max); max = a b ? a : b;2022-4-1827/56Step a (expression1)Step m (expression2) Step n Step z2022-4-1828/56St

6、ep a(expression1) Step m (expression2) Step n Step x Step z2022-4-1829/56The structure is similar to multiple selection (flowchart)2022-4-1830/56Important Rule !2022-4-1831/56Example: switch (month) case 1:printf(Januaryn);break;case 2:printf(Februaryn);break;case 3:printf(Marchn);break;default:prin

7、tf(Othersn);break; printf(End);January_JanuaryEnd _2022-4-1832/56Example: switch (month) case 1:printf(Januaryn);break;case 2:printf(Februaryn);break;case 3:printf(Marchn);break;default:printf(Othersn);break; printf(End);March_MarchEnd _2022-4-1833/56Example: switch (month) case 1:printf(Januaryn);b

8、reak;case 2:printf(Februaryn);break;case 3:printf(Marchn);break;default:printf(Othersn);break; printf(End);2022-4-1834/56Example: switch (month) case 1:printf(Januaryn);break;case 2:printf(Februaryn);case 3:printf(Marchn);break;default:printf(Othersn);break; printf(End);2022-4-1835/56Example: switch

9、 (month) case 1:printf(Januaryn);break;case 2:printf(Februaryn);case 3:printf(Marchn);break;default:printf(Othersn);break; printf(End);February_March _End _2022-4-1836/56Example: switch (month) case 1:printf(Januaryn);break;case 2:printf(Februaryn);case 3:printf(Marchn);break;default:printf(Othersn)

10、;break; printf(End);最好不省略最好不省略!2022-4-1837/562022-4-1838/56Why?注释掉会怎样注释掉会怎样? ?2022-4-1839/562022-4-1840/56空格空格2022-4-1841/562022-4-1842/56取绝对值函数取绝对值函数2022-4-1843/56else-ifelse-if比比switchswitch的条件控制更强大一些的条件控制更强大一些elseelse- -ifif可以依照各种逻辑运算的结果进行流程控制可以依照各种逻辑运算的结果进行流程控制switchswitch只能进行只能进行=判断,并且只能是判断,并且只

11、能是整数判断整数判断csaecsae后面的常量表达式不能用一个区间表示,也不后面的常量表达式不能用一个区间表示,也不 能出现任何运算符。能出现任何运算符。 例:例: csae 90=score=100:csae 90=score=100:语句;语句; case 90100:case 90100:语句;语句;switchswitch比比else-ifelse-if更清晰更清晰两者都要尽量避免用得过多、过长,尤其不要嵌套得太多两者都要尽量避免用得过多、过长,尤其不要嵌套得太多, ,否则否则, ,会会大大增加程序的分支,使逻辑关系显得混乱,不大大增加程序的分支,使逻辑关系显得混乱,不易维护,易出错。

12、易维护,易出错。2022-4-1844/562022-4-1845/56aba & b a | b!a!b0000110101101001011111002022-4-1846/562022-4-1847/56在逻辑表达式的求值过程中,并不是所有的逻辑运算符都被执在逻辑表达式的求值过程中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的值时行,只是在必须执行下一个逻辑运算符才能求出表达式的值时,才执行该运算符。,才执行该运算符。 a & b & c 只有只有a为真时为真时,才需要,才需要判别判别b的值的值,只有,只有a和和b的值都为真时的值

13、都为真时才需要才需要判别判别c的值的值。如:如:int i=10;则表达式则表达式i & (i=0) & (+i)的的值为值为?变量变量i的值的值为为?0(假),(假),该表达式该表达式运算结束后运算结束后,变量变量i的值为的值为0,而不是而不是1。 a | b|c 只要只要a为真为真,就,就不必须判断不必须判断b和和c;只有只有a为假为假,才,才判别判别b;a和和b 都为假都为假才才判别判别c。如:如:int i=1,j; 则表达式则表达式i+|i+|i+的的值为值为?变量变量i的值为的值为?1(真),(真),运算结束后,运算结束后,变量变量i的值为的值为2,而不是而不是4。2022-4-1848/56对于数学上的表示多个数据间进行比较的表达对于数学上的表示多个数据间进行比较的表达式,在式,在C中要拆写成多个条件并用逻辑运算符连中要拆写成多个条件并用逻辑运算符连接形成一个逻辑表达式。接形成一个逻辑表达式。如:在数学上,要表示一个变量如:在数学上,要表示一个变量a的值处于的值处于-1和和-9之间时,可以用之间时,可以用-9a-9 &

温馨提示

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

评论

0/150

提交评论