江苏七位体彩开奖结果
学霸学习网 这下你爽了
相关文章

江苏七位数走势带连线:C语言程序设计第5章_图文

江苏七位体彩开奖结果 www.jwbw.net
第5章 选择结构程序设计
选择结构是3种基本结构之一,它的作用 是根据条件P是否成立,从A、B两组操作中 选择其中的一组执行。 在C语言中,选择结构是用if语句实现的。 if语句最常用的形式为: if(关系表达式)语句1 else 语句2 或者,更一般地 if(逻辑表达式)语句1 else 语句2 else y=2*x; 成立 P A B 不成立

例如: if(x>=0)y=x+10; else y=10-x; 关系表达式

例如: if(x>=1 && x<=2)y=x*x; 逻辑表达式

为了描述各种条件,我们会用到关系表达式和逻辑表达式。为此,我们先 来学习关系表达式和逻辑表达式。

5.1 关系运算符和关系表达式
关系运算符都是双目运算符,用于将两个操作数进行比较, 共有以下几种: ①> :大于, 例如, a>b x>(y+3) ② >= ③ < ④ <= ⑤ == ⑥ != :大于等于, :小于, :小于等于, :等于, :不等于, 例如, a>=b 例如, a<b 例如, a<=b 例如, a==b 例如, a!=b a!=0 关系表达式

关系表达式就是用关系运算符把操作数连接起来的、符合C语法规则的式子。 在C语言中,关系表达式的值只有真和假两个结果,真用 1 表示,假用0 表示; 相应地,关系表达式的类型为 int 型。

对于关系表达式 a!=0
当a≠0时,其值为1;当a=0时,其值为0。

关系运算符的优先级和结合性
在优先级方面, >,>=,<,<= 的优先级高于 ==,!= 另外,关系运算符的优先级 低于算术运算符的优先级,但高 于赋值运算符的优先级。 因此, a>b==c 等价于 (a>b)==c 而且若定义 int a=1,b=2,c=3; 则该表达式的值为0。 因此,若定义 int a=1,b=2,c=3,f; 那么表达式 f=a>b+c 的值为0。 f=a>5 在结合性方面,关系运算符 的结合方向是从左至右。 f=0 0

因此, a<=b<=c 等价于 (a<=b)<=c 而且若定义 int a=-3,b=-2,c=-1; 则该表达式的值为0。

由此可以看出,虽然b的值大于a小于c,但表达式 a<=b<=c 并不反映这一 结果。实际上,要想正确描述“b的值大于等于a小于等于c”这个条件,应采 用逻辑表达式 (a<=b)&&(b<=c) 。

5.2 逻辑运算符和逻辑表达式
逻辑运算符共有3种: ① ! :逻辑非运算符,它是一个单目运算符,例如, !a 其作用是颠倒真假。若a的值为真,则!a的值为假;反之亦然。 ② && :逻辑与运算符,它是一个双目运算符,例如, a&&b 其运算规则是,只有a和b的值全为真时,a&&b的值才为真。 ③ || :逻辑或运算符,它是一个双目运算符,例如, a||b 其运算结果是,只要a和b的值有一个为真,a||b的值就为真。 逻辑表达式就是用逻辑运算符把操作数连接起来的、符合C语法规则的式子。 在C语言中,逻辑表达式的值只有真和假两个结果,真用 1 表示,假用0 表示; 相应地,逻辑表达式的类型为 int 型。

例如,对于逻辑表达式 (a<=b)&&(b<=c)
若b介于a、c之间,则其值为 1。否则,其值为 0。 因此,要想判断b的值是否介于a、c之间,可以使用该逻辑表达式。

逻辑运算符的优先级和结合性
关于逻辑运算符的优先级和结合方向, 如右表所示。 优先级 ! 算术运算符 关系运算符 && 自左至右 高 结合方向 自右至左

①&&高于||,!最高;
②算术运算符、关系运算符高于&&、|| ③赋值运算符低于&&、|| ④&&、|| 的结合性是“自左向右”。 例1, (a<=b)&&(b<=c)

||
赋值运算符 例2, 低

自左至右

等价于
a<=b && b<=c

!(x<=3)
并不等价于 !x<=3

逻辑表达式应注意问题
1.在C语言中,任何一个非零数据,都被认为是真的。
假若a=2,b=3, ① !a 的值为0。 ③ 4&&0||2 的值为1。 ④ !0 的值为1

② a&&b 的值为1。

⑤ ?a?&&?b? 的值为1

2.&&、|| 要求先对左侧操作数求值,而且一旦知道了表达式的值就 立即停止求解过程。
① (x!=0)&&(y==1/x)
② 若定义 int x=1; (2>3)&&(x=5)

③ a&&b&&c
④ a||b||c

3.逻辑表达式应用
①判别整型数据n是否为偶数: n%2==0 ②判别变量x的值介于a、b之间:(x>=a)&&(x<=b) ③判别年份year是否是闰年: (year%4==0&&year%100!=0)|| year%400==0

5.3 if语句
C语言提供了3种形式的if语句。 1. if(表达式)语句1 例如, if(x>0)y=x+2; if(x!=2) { y++; x+=3; }

其中,语句1被称为if语句的 内嵌语句,内嵌语句既可以是单个 语句,也可以是复合语句。
这种if语句的作用是,若表达 式的值为真,则执行语句1;否则, 什么也不做。例如(ch5\if-1.c) 再次强调,如果在表达式为真 时,希望执行多条语句,必须将这 些语句用花括号括起来,构成复合 语句。 建议复合语句采用 缩进格式。

表达式 真 语句1



if(score>=60) { printf("\nPassed"); printf("\nYeah!!“); }

5.3 if语句
2. if(表达式)语句1 else 语句2 例如, if(x>3||x<1) { x++; printf(”%d”,x+2); } else y=--x; 这种if语句的作用是,若表达式 的值为真,则执行语句1;否则,执 行语句2。例如(ch5\if-2.c)。 真 假

表达式

语句1

语句2

请注意:
else部分是整个if语句的一个子句,它不能脱离if语句而独立存在。

5.3 if语句
例如, if(g>=90)putchar(?A?); else if(g>=80)putchar(?B?); else if(g>=70)putchar(?C?); else if(g>=60)putchar(?D?); else putchar(?E?); 该语句的执行流程图(P97图5-6)是: 若表达式1的值为真,则执行语句1, 假 表达式 1 语句1执行后,整个if语句执行完毕; 否则,再根据表达式2的值来决定下 真 假 表达式 2 一步操作。 假 真 若表达式2的值为真,则执行语句2, 表达式3 语句2执行后,整个if语句执行完毕; 假 真 表达式 m 否则,再根据表达式3的值来决定下 一步操作?!?真 若表达式1~m的值全为假,则执行 语句1 语句2 语句3 语句m 语句n 语句n,语句n执行后,整个if语句执 行完毕。例如(exc\ch5\if-3.c)。 3. if(表达式1)语句1 else if(表达式2)语句2 … … else if(表达式m)语句m else 语句n

if语句举例和嵌套
例5.1 输入两个实数,按由小到大的顺序输出。(exc\ch5\ex5-1.c) 例5.2 输入3个实数,按由小到大的顺序输出。(exc\ch5\ex5-2.c) 4. if语句的嵌套 if语句中的内嵌语句还可以是一个if语句,这就形成了if语句的嵌套, 其一般形式如下所示,其执行过程遵循if的语句执行过程。 if(表达式1) if(表达式2)语句1 else 语句2 else if(表达式3)语句3 else 语句4 值得注意的是,C系统在处理嵌套的if语句时,会把else子句与它上面 的、最近的、未配对的if结合。

if语句的嵌套
假设某人按右边的模式写了一段程序, 他本来的目的是,若表达式1的值为真,则执 行内嵌的if语句,否则执行语句2。 但是,C系统按照上面的原则,会认为红 色的是配对的,是一个内嵌的if语句。 这样一来,若表达式1的值为假,并不执 行语句2,而是什么也不做,造成了与程序 员的出发点不符。 if(表达式1) if(表达式2)语句1 else 语句2 if(表达式1) if(表达式2)语句1 else 语句2

为了避免出现类似错误,可以采取两种手段之一。 ①给内嵌的if语句加{ },明确内嵌的 if语句的范围。 if(表达式1) { if(表达式2)语句1} else 语句2 ②给内嵌的if语句添加else子句。 if(表达式1) if(表达式2)语句1 else ; else 语句2

条件运算符
我们介绍一个与if语句功能类似的运算符,即条件运算符。 条件运算符是唯 一的三目运算符,它需要3个操作数,其一般形式如下: 值为a、b中 表达式1?表达式2:表达式3 的较大者 由该运算符构成的表达式称为条件表达式。例如, a>b?a:b 条件表达式的求解过程:若表达式1的值为 ?真,则求解表达式2,而且把表达式2的值作为整个条件表达式的值; ?假,则求解表达式3,而且把表达式3的值作为整个条件表达式的值。 条件运算符的优先级倒数第三, 仅高于赋值、逗号运算符。 因此,max=a>b?a:b 可将a、b中的较大者赋值给max。

另外,条件运算符的结合性是自右至左,于是

a>b?c:d>e ?f:g

等价于

a>b?c:(d>e ?f:g)

我们来看P104例5.4(exc\ch5\ex5-4.c)。

5.4 switch语句
if语句仅允许在两个操作中选择,当有多个可能的选择时,可以使用 switch语句。switch语句是多分支选择语句,它的一般形式为: switch(表达式0) switch语句的执行过程: { 先计算表达式0的值,如果该值和某 case 常量表达式1:语句1 个常量表达式的值相同,假设和常量表 …… 达式 i 的值相同,则依次执行语句 关于 switch 语句强调以下几点: i、语 句i+1、…、语句m、语句n即执行语句i case 常量表达式i:语句i ①常量表达式中不允许出现变量。 后的所有语句。 …… 如果表达式 0的值,不同于任何常量 case 常量表达式m:语句m ②每个 case 常量表达式:仅起到了 表达式的值,则执行语句 n。 标号/站牌的作用。case与常量表达 default: 语句n 式之间要有空格。 例如(exc\ch5\switch-1.c) }

③如果想在执行完语句i后就结束switch语句,可以加上break语句来实现; 最后一个分支可以不加break语句。
④语句i既可以为单条语句,也可以是多条语句。即使是多条语句,也无需用 { }构成复合语句。

5.5 程序举例
例一、P111习题5.5 例二、P108例5.6,求一元二次方程的根。 (参见 exc\ch5\ex5-6.c 和 exc\ch5\realEQ.c) 例三、从键盘上输入年、月、日,计算该日期是当年的第多少天。 (exc\ch5\yeardays.c)


推荐相关:

c语言程序设计第5章课件._图文.ppt

c语言程序设计第5章课件. - C 语言程序设计 第5章 选择结构程序设计 池州

第5章_C语言程序设计_图文.ppt

第5章 C/C++语言程序设计 1 内容提要: ? C55x C/C++语言概述 ? ? ? C55x C/C++语言编程基础 C55x C/C++编译器的使用 TMS320C55x的C代码优化 2 5.1...

C语言程序设计第5章_图文.ppt

C语言程序设计第5章 - 第5章 数据类型、运算符与表达式 5.1 概述 whi

C语言程序设计(第5章)_图文.ppt

C语言程序设计(第5章) - 电子与信息工程学院 C 语言程序设计 第 5 章 循环结构程序设计 第 5 章 循环结构程序设计 课前预习检查 C 1. 2. 3. 4. 第 ...

C程序设计谭浩强第四版第5章_图文.ppt

C程序设计谭浩强第四版第5章 - C语言程序设计 第五章 循环控制 第5章 循环

C语言程序设计教程 第5章_图文.ppt

C语言程序设计教程 第5章 - 第五章 循环结构 5.1 while语句 5.2

《C语言程序设计》第5章指针._图文.ppt

C语言程序设计第5章指针. - 第五章 指针 Pointer 5.1 指针的

C语言程序设计实用教程第5章_图文.ppt

C语言程序设计实用教程第5章 - 第5章指针 本章要点 ? ? ? ? 5.1

C语言程序设计__第5章_图文.ppt

C语言程序设计__第5章 - C语言程序设计电子教案 第5章 循环结构 第5章 循环结构 主讲:张广路 C语言程序设计电子教案 第5章 循环结构 目 1 录 循环结构(wh...

大学C语言程序设计基础第5章_图文.ppt

大学C语言程序设计基础第5章 - 第5章 循环结构程序设计 ? 循环结构是结构化

C语言程序设计第5章 函数_图文.ppt

C语言程序设计第5章 函数 - 第5章 函数 ? ? ? ? ? 函数的定义 函

C语言程序设计第5章 算法_图文.ppt

C语言程序设计第5章 算法 - 第5讲 算法的基本概念与表示方法 程序的灵魂

C语言程序设计第5章 循环结构_图文.ppt

目录页 Contents page 第1章 初识C语言 第6章 数组 第2章 数据类型、运算符与表达式 第7章 函数 第3章 顺序结构程序设计 第8章 结构体、共用体和枚举类型 ...

5、C语言程序设计第五章节(选择结构)_图文.ppt

5、C语言程序设计第五章节(选择结构)_理学_高等教育_教育专区。许老师1825

第5章C语言程序设计_图文.ppt

第5章C语言程序设计 - 第五章 数组 本章目录 5.1一维数组 5.2二维数组

C语言程序设计 第5章_图文.ppt

C语言程序设计 第5章 - C语言程序设计 第5章 循环结构及其应用 ? 学习目

C语言程序设计第5章_图文.ppt

C语言程序设计第5章 - 第5章 选择结构程序设计 选择结构是3种基本结构之一,

C语言程序设计第5章(选择结构程序设计)_图文.ppt

C语言程序设计第5章(选择结构程序设计) - 第五章 选择结构程序设计 要设计选

C语言程序设计实用教程第5章_图文.ppt

C语言程序设计实用教程第5章_计算机软件及应用_IT/计算机_专业资料。第5章指针本章要点 ? ? ? ? 5.1 数据存储的位置 5.2 指针运算与数组 5.3 字符串比较...

c语言程序设计 谭浩强第5章_选择_图文.ppt

c语言程序设计 谭浩强第5章_选择 - 第五章 ? 本章要点 ? ? 关系表达式

江苏七位体彩开奖结果 | 江苏七位体彩开奖结果
All rights reserved Powered by 江苏七位体彩开奖结果 江苏七位体彩开奖结果 www.jwbw.net
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。[email protected]