C语言之选择程序设计概述-创新互联

一.选择结构

根据一定的条件分别执行不同的操作。

网站制作、成都做网站介绍好的网站是理念、设计和技术的结合。成都创新互联拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。

5b783a8f71ee4179850d705e40acd4b5.jpg

根据选择结构的表示方法,分析问题时着重明确以下两点:

  1. 条件是什么?
  2. 条件成立和不成立时分别执行什么操作?
二.条件表达式

在C语言中,不论采用何种形式的选择,都必须有用做
判断的条件表达式,且条件表达式的类型不限于关系表达式或逻辑表达式,而只要能判断表达式的值为0或非0即可,所以选择结构中的条件表达式的类型可以是任意类型的表达式。

关系运算:是对两个操作数进行比较运算,其中操作数可以是常量、变量。

778525db55694fd9951bd0d9fde8621c.jpg

ps:

  1. “等于”的关系运算符是“==”,而“=”是赋值运算符,要注意这两个运算符的区别。
  2. 关系运算符的优先级低于算术运算符的优先级。
  3. 关系运算符的优级高于赋值运算符的优先级。
  • 关系表达式:用关系运算符将两个表达式连接起来组成的有意义的式子。

b4eca283b63245da91e1511a88573386.jpg

关系表达式的值:真(1)假  (0)

关系表达式的值,还可以参与其它种类的运算,例如算术运算,逻辑运算等。

  • 逻辑表达式:逻辑表达式的值是逻辑量“真”或“假”。

e3abdd9c106241ae9427953be7161dae.jpg

优先级:

e438f63dcf9942bc9825a3ea9e113208.jpg

C语言编译系统表示逻辑运算结果时:真用1表示,假用0表示。

判断一个量的真假时:用0表示假,用非0表示真
假用0表示

ed6644361beb478fb79b7c1ed6fb0a2b.jpg

实际上,逻辑运算符两侧的运算对象不但可以是0和1,0和非0,也可以是字符型、实型和指针型等。系统最终是以0和非0来判定它们的真假的。

短路特征:

就是在运算过程中,如果计算第一个操作数时,就能得知运算结果,就不会再计算第二个操作数。

1e12c20311334ce0bdf88405cfb741ba.jpg

C语言编译系统在对逻辑表达式的求解中,并不是所有的运算符都被执行,只是在必须执行后面的运算符才能求出表达式值时,才执行其后的运算。

例1:

 (m=a>b)&&(n=c>d)

若a=1,b=2,c=3,d=4,m=n=1,进行下述运算后,m、n的值分为:

由于a>b不成立值为0,因此m=0,二者只要有一个为假就说明此式为假,所以n=c>d不执行,因此n的值仍为1。

例2:

a--|| b--&&--c

若int a=1,b=1,c=1;则表达式 a--|| b--&&--c的值为多少?

不仅要考虑短路,还要考虑优先级,原式等价于:

 a--||( b--&&--c)

a--先赋值1再减减,左侧已经为真,右侧无需计算。

所以:表达式 a--|| b--&&--c的值为1,a=0,b=1,c=1。

三.关于条件的表达 1.不要与数学运算符的写法混淆

数学:                 C语言:

f574cf800c7b49438c1da1549b454e29.jpg

2.>=、<=、==、和!=中间不要有空格

当做一个整体,不可拆。

3.不要把相等符号(==)写成赋值号(=)

C语言中==相当于数学=。

4.避免直接对浮点数做相等或不相等的判断

一般是相减后小于某一范围,一般情况下用1e-6,若感觉精度不够,可将1e-6适当调整为更小的数。

5.字符可参与比较。比较时,以字符的ASCII码值与其他值进行比较。

如‘A'>1314为假。

6.当要表达多个条件时,需要用逻辑运算符连接各个条件。

如,a比5大,比10小。a>5&&a<10。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

网站栏目:C语言之选择程序设计概述-创新互联
转载来源:https://www.cdcxhl.com/article16/dpcddg.html

成都网站建设公司_创新互联,为您提供App设计软件开发微信公众号全网营销推广外贸网站建设网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营