C05第5章选择结构程序设计PPT课件
合集下载
c语言(第五章选择结构) c语言 教学课件
▪ 非闰年的判别:
• !((year%4==0 && year%100!=0)||year%400==0)或者:
• (year%4!=0 )||( year%100==0 && year%400!=0)
C语言程序设计
第五章 选择结构程序设计
5.3 if语句(条件选择语句)
• if语句的三种形式 ▪ 形式一: • 格式:
语句2
=0
表达式3 非0
语句3
=0 语句4
C语言程序设计
第五章 选择结构程序设计
• 例:
if (salary>1000) else if (salary>800) else if (salary>600) else if (salary>400) else index=0;
index=0.4; index=0.3; index=0.2; index=0.1;
if (x>0) printf(“%f”,x) ;
else printf(“%f”,-x);
(3)在if 和else 后面可以只含一个内嵌的语句,也可以有 多个操作语句,此时用花括号将几个语句括起来成为一 个复合语句。如:
if (x>y)
{ t=x ; x=y ; y=t ; }
C语言程序设计
第五章 选择结构程序设计
a=4;b=5;
!a
//值为0
a&&b //值为1
a||b
//值为1
!a||b
//值为1
4&&0||2 //值为1
5>3&&2||8<4-!0 //(5>3)&&2||(8<(4-(!0))) 值为1
• !((year%4==0 && year%100!=0)||year%400==0)或者:
• (year%4!=0 )||( year%100==0 && year%400!=0)
C语言程序设计
第五章 选择结构程序设计
5.3 if语句(条件选择语句)
• if语句的三种形式 ▪ 形式一: • 格式:
语句2
=0
表达式3 非0
语句3
=0 语句4
C语言程序设计
第五章 选择结构程序设计
• 例:
if (salary>1000) else if (salary>800) else if (salary>600) else if (salary>400) else index=0;
index=0.4; index=0.3; index=0.2; index=0.1;
if (x>0) printf(“%f”,x) ;
else printf(“%f”,-x);
(3)在if 和else 后面可以只含一个内嵌的语句,也可以有 多个操作语句,此时用花括号将几个语句括起来成为一 个复合语句。如:
if (x>y)
{ t=x ; x=y ; y=t ; }
C语言程序设计
第五章 选择结构程序设计
a=4;b=5;
!a
//值为0
a&&b //值为1
a||b
//值为1
!a||b
//值为1
4&&0||2 //值为1
5>3&&2||8<4-!0 //(5>3)&&2||(8<(4-(!0))) 值为1
C语言之选择结构程序设计PPT课件
char grade;
printf("请输入学生成绩:"); scanf("%d",&score); temp=score/10;
第32页/共45页
switch(temp) { case 10: case 9: grade='A'; break; case 8: grade='B'; break; case 7: grade='C'; break; case 6: grade='D'; break; case 5: case 4: case 3: case 2: case 1: case 0: grade='E'; }
else if (表达式3) 语句3
…
else 语句n
第22页/共45页
练习:判断由键盘输入的字符是数字、大写字母、小写字母、空格还是其他字符。
#include <stdio.h> void main() { char c; c=getchar();
第23页/共45页
if(c<='9'&&c>='0') printf("%c 是字符!\n",c);
第2页/共45页
5.1 关系运算符与关系表达式
1、关系运算符 假值用0表示,非0都为真; 关系运算符与优先级: < <= > >= (高) == != (低) 结合性:左到右
第3页/共45页
2、关系表达式
赋值运算 关系运算 算术运算(高) 例: c>a+b 等价于 c>(a+b)
a=b>c等价于 a=(b>c)
printf("请输入学生成绩:"); scanf("%d",&score); temp=score/10;
第32页/共45页
switch(temp) { case 10: case 9: grade='A'; break; case 8: grade='B'; break; case 7: grade='C'; break; case 6: grade='D'; break; case 5: case 4: case 3: case 2: case 1: case 0: grade='E'; }
else if (表达式3) 语句3
…
else 语句n
第22页/共45页
练习:判断由键盘输入的字符是数字、大写字母、小写字母、空格还是其他字符。
#include <stdio.h> void main() { char c; c=getchar();
第23页/共45页
if(c<='9'&&c>='0') printf("%c 是字符!\n",c);
第2页/共45页
5.1 关系运算符与关系表达式
1、关系运算符 假值用0表示,非0都为真; 关系运算符与优先级: < <= > >= (高) == != (低) 结合性:左到右
第3页/共45页
2、关系表达式
赋值运算 关系运算 算术运算(高) 例: c>a+b 等价于 c>(a+b)
a=b>c等价于 a=(b>c)
第5章选择分支结构--C语言程序设计(谭浩强第三版)PPT课件
8<3逻辑值为0
1&&0逻辑值为0
(3)短路现象:一个逻辑表达式中的逻辑运算符并不一定全 部执行.
例如: a&&b&&c 当a=0(假)时, 当a=1,b=0,
例如: a ¦¦b ¦¦c 当a=1时,
b,c不需判断。 c不需判断。
b, c均不必判别。
例如: a=1,b=2,c=3,d=4,m=1,n=1
else if (表达式2) 语句2
else if (表达式3) 语句3
…
…
else if(表达式n) 语句n
else
语句n+1
#include <stdio.h>
例6:输入一个字符,请 判断是字母、数字还 是特殊字符。
main( )
{ char ch;
printf("Please input a character:\n");
! 逻辑非(条件为真,运算后为假,条件为假,运 算后为真)
“&&”,“||”是双目运算符,“!”是单目运算符。
例:a&&b a||b !a
若a,b为真,则a&&b为真。 若a,b之一为真,则a||b为真。 若a为真,则!a为假。
2021
7
(2)逻辑运算真值表
a
b
!a
真真 假
真假 假
假真 真 假假 真
!a
值为0
a&&b
值为1
a||b
值为1
!a||b 4&&0||2
值为1 值为1
5>3&&8<4-!0 (5>3)&&(8<(4-(!0))) 值为0
C语言第5章 选择结构的程序设计PPT教学课件
开始
输入a,b,c
a<b?
F
T a与b交换
a<c?
F
T a与c交换
b<c?
F
T b与c交换
输出a,b,c
2020/12/10
结束
11
2.双分支if语句——if_else语句
格式:
if (<表达式>) 语句1
else
语句2
2020/12/10
12
2. if_else语句
功能:
T 语句1
表达式
F 语句2
2020/12/10
13
3. 多分支if语句
格式:
if (<表达式1>) 语句1 else if (<表达式2>) 语句2 else if (<表达式3>) 语句3
…... else if (<表达式n-1>) 语句n-1 else 语句n
2020/12/10
14
3. 多分支语句
功能: F 表达式1
(4)default一般出现在所有的case之后,也可以出现在 case之前或两个case语句之间。Default可以省略。
2020/12/10
23
5.2 switch语句
例1 用switch语句设计程序,实现输出学生成绩和 等级的功能。 分析:因为分数x为0~100分,则x/10的值为0,1,2, 3,4,5,6,7,8,9,10。
…… case <常量表达式n>:语句n default 语句n+1
}
2020/12/10
21
5.2 switch语句
功能:
首先计算<表达式>的值,然后依次与<常量表达式i> (i=1,2,…,n)比较,若表达式的值与<常量表达式j>相 等,则从<常量表达式j>处开始执行,这里就是执行的 入口,直到switch语句结束。若所有的<常量表达式i> (i=1,2,…,n)的值均不等于表达式的值,则从default处 开始执行。
C语言课件 第5章
如果x<y, max=y, min=x ③ 输出最大值max、 最小值min
第5章 选择结构程序设计
/*程序 5 - 3, 求两个数的最大值、 最小值*/ main( ) { float x, y; float max, min; printf(″请输入两个数x, y: ″); scanf(″%f, %f″, &x, &y); if (x>y) {max=x; min=y; } else {max=y; min=x; } printf(″max=%6.2f, min=%6.2f\n″, max, min); } 输入数据: 1.2, 2.54 运行结果: max= 2.54, min= 1.20
第5章 选择结构程序设计
5.1.3 多分支if语句
多分支if语句不是一条具体的语句,它通过if语句的嵌套实
现。其一般形式为: if (条件表达式1)
if (条件表达式2) 语句1
else 语句2 else if (条件表达式3) 语句3 else 语句4
第5章 选择结构程序设计
T T
条件表达式1 条件表达式2
}
第5章 选择结构程序设计
例 5 — 7 将例 5 — 5 用switch语句实现。
switch ((int)(cj/10)) { 10: 9: ch=′A′; break; /*注意选择表达式的构造*/
8: ch=′B′; break;
7: ch=′C′; break; 6: ch=′D′; break;
第5章 选择结构程序设计
例 5 –3 输入两个数, 求两个数的最大值、最小值。 数据分析:
输入量: 两个数x、 y, float
第5章 选择结构程序设计
/*程序 5 - 3, 求两个数的最大值、 最小值*/ main( ) { float x, y; float max, min; printf(″请输入两个数x, y: ″); scanf(″%f, %f″, &x, &y); if (x>y) {max=x; min=y; } else {max=y; min=x; } printf(″max=%6.2f, min=%6.2f\n″, max, min); } 输入数据: 1.2, 2.54 运行结果: max= 2.54, min= 1.20
第5章 选择结构程序设计
5.1.3 多分支if语句
多分支if语句不是一条具体的语句,它通过if语句的嵌套实
现。其一般形式为: if (条件表达式1)
if (条件表达式2) 语句1
else 语句2 else if (条件表达式3) 语句3 else 语句4
第5章 选择结构程序设计
T T
条件表达式1 条件表达式2
}
第5章 选择结构程序设计
例 5 — 7 将例 5 — 5 用switch语句实现。
switch ((int)(cj/10)) { 10: 9: ch=′A′; break; /*注意选择表达式的构造*/
8: ch=′B′; break;
7: ch=′C′; break; 6: ch=′D′; break;
第5章 选择结构程序设计
例 5 –3 输入两个数, 求两个数的最大值、最小值。 数据分析:
输入量: 两个数x、 y, float
C语言程序设计第5章 选择结构程序设计简明教程PPT课件
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
输出某整数的绝对值 void main(){
int i;
printf("input an integer:"); scanf("%d",&i); if(i < 0){ i = -i;
}
printf("absolute value is %d\n", i); }
执行语句集合1
} else{
if(判断表达式){ if(判断表达式){ 执行语句集合 } } } 后续语句 或者 else{ }
执行语句集合2
执行语句集合3
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.4 if的嵌套 •在外层的if的执行语句集合中可能出现单独if 的情况,也可能出现if…else的情况。 •可能出现多个if与多个else扎堆出现的情况。 •C语言中规定,以else之前最近的if为配对的 判断语句。 •按照缩进的方式书写程序,能帮助避免配对 错误
执行语句集合n
else{
执行语句集合n+1
后续语句
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.3 多分支判断执行语句 •这种结构是从上到下逐个的对条件进行判断。 •一旦条件判断表达式运算为真值,则执行相关的 语句集合,并结束整个判断语句,其他的情况会 被跳过。 •如果所有的条件判断表达式均为假值,则执行 else所对应的执行语句集合。
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.3 多分支判断执行语句 if…else if…else if…else
4.2 C语言if选择结构
输出某整数的绝对值 void main(){
int i;
printf("input an integer:"); scanf("%d",&i); if(i < 0){ i = -i;
}
printf("absolute value is %d\n", i); }
执行语句集合1
} else{
if(判断表达式){ if(判断表达式){ 执行语句集合 } } } 后续语句 或者 else{ }
执行语句集合2
执行语句集合3
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.4 if的嵌套 •在外层的if的执行语句集合中可能出现单独if 的情况,也可能出现if…else的情况。 •可能出现多个if与多个else扎堆出现的情况。 •C语言中规定,以else之前最近的if为配对的 判断语句。 •按照缩进的方式书写程序,能帮助避免配对 错误
执行语句集合n
else{
执行语句集合n+1
后续语句
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.3 多分支判断执行语句 •这种结构是从上到下逐个的对条件进行判断。 •一旦条件判断表达式运算为真值,则执行相关的 语句集合,并结束整个判断语句,其他的情况会 被跳过。 •如果所有的条件判断表达式均为假值,则执行 else所对应的执行语句集合。
计算机科学与技术学院—— C语言程序设计
4.2 C语言if选择结构
4.2.3 多分支判断执行语句 if…else if…else if…else
第5章 选择结构程序设计PPT教学课件
2020/12/11
6
private void button1_Click(object sender, System.EventArgs e) {
double k,m; k=double.Parse(tCost.Text); if (k<1000)
{ m=k*0.9;
} else
{ m=k*0.8;
用选择语句实现该操作。
分析:本题使用编辑框实现 命令接受工作,使用if语句实 现判断。采用基本的控件实 现如图5-4所示。
2020/12/11
图5-4 口令验证
8
代码如下。
private void button1_Click(object sender,
System.EventArgs e)
{ if(textBox1.Text=="abc") // 设口令为“abc” label2.Text="欢迎使用本系统!"; // 如果输入正确,显
} pCost.Text=m.ToString( ); }
2020/12/11
7
(4) 编译、运行程序 单击工具栏上的启动按钮,或按〈F5〉键执行程序,显 示Windows窗体。在“请输入所购商品的总金额”文本 框中输入相关金额,单击【打折】按钮,完成相应的功 能。 【例5-2】编辑框的PasswordChar属性可以隐蔽用户通过 键盘输入的字符,常用来编写检查用户口令的程序。使
第5章 选择结构程序设计
5.1 选择结构程序的设计
在C#中,提供两种选择语句实现流程的改变: if语句,用于判断特定的条件能否满足,用于单 分支选择,也可以通过嵌套实现多分支选择。 switch语句,用于多分支选择。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2)对于逻辑或运算,如果第一个操作数被判定为 “真”,系统不再判定或求解第二操作数。
例如,假设n1、n2、n3、n4、x、y的值分别为1、2、 3、4、1、1,则求解表达式“(x=n1>n2)&&(y=n3>n4)” 后,x的值变为0,而y的值不变,仍等于1!
[Return]
5.3 if语句和条件运算符
5.1.1 关系运算符及其优先次序
1.关系运算符
C语言提供6种关系运算符:
<(小于),
<=(小于或等于), >(大于),
>=(大于或等于), ==(等于),
!=(不等于)
注意:在C语言中,“等于”关系运算符是双等号 “= =”,而不是单等号“= ”(赋值运算符)。
3
2.优先级 (1)在关系运算符中,前4个优先级相同,后2个也相同,且前4 个高于后2个。 (2)与其它种类运算符的优先级关系 关系运算符的优先级,低于算术运算符,但高于赋值运算符。
10
5.3.1 if语句的三种形式
1. if(表达式) {语句组1;}
例如:if(x>y)printf(“%d”,x); 2. if(表达式)
{语句组1;}
else {语句组2;}
例如:if(x>y)printf(“%d”,x); else printf(“%d”,y); 3. if(表达式1) {语句组1;}
2
5.1 关系运算及其表达式
所谓“关系运算”实际上就是“比较运算”,即将 两个数据进行比较,判定两个数据是否符合给定的关系。
例如,“a > b”中的“>”表示一个大于关系运算。 如果a的值是5,b的值是3,则大于关系运算“>”的结果 为“真”,即条件成立;如果a的值是2,b的值是3,则 大于关系运算“>”的结果为“假”,即条件不成立。
8
逻辑表达式的值也是一个逻辑值(非“真”即 “假”)。
2.逻辑量的真假判定──0和非0 C语言用整数“1”表示“逻辑真”、用“0”表示 “逻辑假”。但在判断一个数据的“真”或“假”时, 却以0和非0为根据:如果为0,则判定为“逻辑假”; 如果为非0,则判定为“逻辑真”。 例 如 , 假 设 num=12, 则 : ! num 的 值 = 0 , num>=1 && num<=31的值=1 ,num || num>31的值 =1。
&&
逻辑与(相当于“同时”)
||
逻辑或(相当于“或者”)
!
逻辑非(相当于“否定”)
6
例如,下面的表达式都是逻辑表达式:
(x>=0) && (x<10) ,(x<1) || (x>5) ,! (x= =0),
(2)运算规则 1)&&:当且仅当两个运算量的值都为“真”时, 运算结果为“真”,否则为“假”。 2) || :当且仅当两个运算量的值都为“假”时,运 算结果为“假”,否则为“真”。 3) ! :当运算量的值为“真”时,运算结果为 “假”;当运算量的值为“假”时,运算结果为“真”。 例如,假定x=5,则(x>=0) && (x<10)的值为“真”, (x<-1) || (x>5)的值为“假”。
5.1.2 关系表达式
1.关系表达式的概念
所谓关系表达式是指,用关系运算符将两个表达式连 接起来,进行关系运算的式子。
例如,下面的关系表达式都是合法的: a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)= =(b>c) 2.关系表达式的值——逻辑值(非“真”即“假”)。
else if(表达式2){语句组2;} else if(表达式3) {语句组3;}
…
else if(表达式m) {语句组m;} else {语句组n;} (实际是else子句中嵌套if语句)
3.说明 (1)逻辑,也可以是其它任何类型的数据,如实型、字 符型等。
9
(2)在计算逻辑表达式时,只有在必须执行下一个表 达式才能求解时,才求解该表达式(即并不是所有的表达 式都被求解)。换句话说:
1)对于逻辑与运算,如果第一个操作数被判定为 “假”,系统不再判定或求解第二操作数。
7
2.逻辑运算符的运算优先级
(1)逻辑非的优先级最高,逻辑与次之,逻辑或最低, 即:
!(非) → &&(与) → ||(或) (2)与其它种类运算符的优先关系
!→ 算术运算 → 关系运算 → &&→ || → 赋值运算
5.2.2 逻辑表达式
1.逻辑表达式的概念 所谓逻辑表达式是指,用逻辑运算符将1个或多个表达 式连接起来,进行逻辑运算的式子。在C语言中,用逻辑表 达式表示多个条件的组合。 例如, (year%4==0)&&(year%100!=0)||(year%400==0)就是一个 判断一个年份是否是闰年的逻辑表达式。
1
第5章 选择结构程序设计
要设计选择结构程序,要考虑两个方面的问 题:一是在C语言中如何来表示条件,二是在C 语言中实现选择结构用什么语句。
在C语言中表示条件,一般用关系表达式或 逻辑表达式,实现选择结构用if语句或switch语 句。
5.1 关系运算及其表达式 5.2 逻辑运算及其表达式 5.3 if语句 5.4 switch语句 5.5 选择结构程序举例 良好的源程序书写风格──注释
参与其它种类的运算,例如算术运算、逻辑运算等。
[Return]
5.2 逻辑运算及其表达式
5
关系表达式只能描述单一条件,例如“x>=0”。如果 需要描述“x>=0”、同时“x<10”,就要借助于逻辑表达 式了。
5.2.1 逻辑运算及其优先次序
1.逻辑运算符及其运算规则
(1)C语言提供三种逻辑运算符:
由于C语言没有逻辑型数据,所以用整数“1”表示 “逻辑真”,用整数“0”表示“逻辑假”。
4
例如,假设num1=3,num2=4,num3=5,则: (1)num1>num2的值=0。 (2)(num1>num2)!=num3的值=1。 (3)num1<num2<num3的值=1。 思考题:任意改变num1或num2的值,会影响整个 表达式的值吗?为什么? ( 4 ) ( num1<num2)+num3 的 值 = 6 , 因 为 num1<num2的值=1,1+5=6。 强调:C语言用整数“1”表示“逻辑真”,用整数 “0”表示“逻辑假”。所以,关系表达式的值,还可以
例如,假设n1、n2、n3、n4、x、y的值分别为1、2、 3、4、1、1,则求解表达式“(x=n1>n2)&&(y=n3>n4)” 后,x的值变为0,而y的值不变,仍等于1!
[Return]
5.3 if语句和条件运算符
5.1.1 关系运算符及其优先次序
1.关系运算符
C语言提供6种关系运算符:
<(小于),
<=(小于或等于), >(大于),
>=(大于或等于), ==(等于),
!=(不等于)
注意:在C语言中,“等于”关系运算符是双等号 “= =”,而不是单等号“= ”(赋值运算符)。
3
2.优先级 (1)在关系运算符中,前4个优先级相同,后2个也相同,且前4 个高于后2个。 (2)与其它种类运算符的优先级关系 关系运算符的优先级,低于算术运算符,但高于赋值运算符。
10
5.3.1 if语句的三种形式
1. if(表达式) {语句组1;}
例如:if(x>y)printf(“%d”,x); 2. if(表达式)
{语句组1;}
else {语句组2;}
例如:if(x>y)printf(“%d”,x); else printf(“%d”,y); 3. if(表达式1) {语句组1;}
2
5.1 关系运算及其表达式
所谓“关系运算”实际上就是“比较运算”,即将 两个数据进行比较,判定两个数据是否符合给定的关系。
例如,“a > b”中的“>”表示一个大于关系运算。 如果a的值是5,b的值是3,则大于关系运算“>”的结果 为“真”,即条件成立;如果a的值是2,b的值是3,则 大于关系运算“>”的结果为“假”,即条件不成立。
8
逻辑表达式的值也是一个逻辑值(非“真”即 “假”)。
2.逻辑量的真假判定──0和非0 C语言用整数“1”表示“逻辑真”、用“0”表示 “逻辑假”。但在判断一个数据的“真”或“假”时, 却以0和非0为根据:如果为0,则判定为“逻辑假”; 如果为非0,则判定为“逻辑真”。 例 如 , 假 设 num=12, 则 : ! num 的 值 = 0 , num>=1 && num<=31的值=1 ,num || num>31的值 =1。
&&
逻辑与(相当于“同时”)
||
逻辑或(相当于“或者”)
!
逻辑非(相当于“否定”)
6
例如,下面的表达式都是逻辑表达式:
(x>=0) && (x<10) ,(x<1) || (x>5) ,! (x= =0),
(2)运算规则 1)&&:当且仅当两个运算量的值都为“真”时, 运算结果为“真”,否则为“假”。 2) || :当且仅当两个运算量的值都为“假”时,运 算结果为“假”,否则为“真”。 3) ! :当运算量的值为“真”时,运算结果为 “假”;当运算量的值为“假”时,运算结果为“真”。 例如,假定x=5,则(x>=0) && (x<10)的值为“真”, (x<-1) || (x>5)的值为“假”。
5.1.2 关系表达式
1.关系表达式的概念
所谓关系表达式是指,用关系运算符将两个表达式连 接起来,进行关系运算的式子。
例如,下面的关系表达式都是合法的: a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)= =(b>c) 2.关系表达式的值——逻辑值(非“真”即“假”)。
else if(表达式2){语句组2;} else if(表达式3) {语句组3;}
…
else if(表达式m) {语句组m;} else {语句组n;} (实际是else子句中嵌套if语句)
3.说明 (1)逻辑,也可以是其它任何类型的数据,如实型、字 符型等。
9
(2)在计算逻辑表达式时,只有在必须执行下一个表 达式才能求解时,才求解该表达式(即并不是所有的表达 式都被求解)。换句话说:
1)对于逻辑与运算,如果第一个操作数被判定为 “假”,系统不再判定或求解第二操作数。
7
2.逻辑运算符的运算优先级
(1)逻辑非的优先级最高,逻辑与次之,逻辑或最低, 即:
!(非) → &&(与) → ||(或) (2)与其它种类运算符的优先关系
!→ 算术运算 → 关系运算 → &&→ || → 赋值运算
5.2.2 逻辑表达式
1.逻辑表达式的概念 所谓逻辑表达式是指,用逻辑运算符将1个或多个表达 式连接起来,进行逻辑运算的式子。在C语言中,用逻辑表 达式表示多个条件的组合。 例如, (year%4==0)&&(year%100!=0)||(year%400==0)就是一个 判断一个年份是否是闰年的逻辑表达式。
1
第5章 选择结构程序设计
要设计选择结构程序,要考虑两个方面的问 题:一是在C语言中如何来表示条件,二是在C 语言中实现选择结构用什么语句。
在C语言中表示条件,一般用关系表达式或 逻辑表达式,实现选择结构用if语句或switch语 句。
5.1 关系运算及其表达式 5.2 逻辑运算及其表达式 5.3 if语句 5.4 switch语句 5.5 选择结构程序举例 良好的源程序书写风格──注释
参与其它种类的运算,例如算术运算、逻辑运算等。
[Return]
5.2 逻辑运算及其表达式
5
关系表达式只能描述单一条件,例如“x>=0”。如果 需要描述“x>=0”、同时“x<10”,就要借助于逻辑表达 式了。
5.2.1 逻辑运算及其优先次序
1.逻辑运算符及其运算规则
(1)C语言提供三种逻辑运算符:
由于C语言没有逻辑型数据,所以用整数“1”表示 “逻辑真”,用整数“0”表示“逻辑假”。
4
例如,假设num1=3,num2=4,num3=5,则: (1)num1>num2的值=0。 (2)(num1>num2)!=num3的值=1。 (3)num1<num2<num3的值=1。 思考题:任意改变num1或num2的值,会影响整个 表达式的值吗?为什么? ( 4 ) ( num1<num2)+num3 的 值 = 6 , 因 为 num1<num2的值=1,1+5=6。 强调:C语言用整数“1”表示“逻辑真”,用整数 “0”表示“逻辑假”。所以,关系表达式的值,还可以