清华谭浩强C语言教学第5章选择结构PPT课件

合集下载

C语言谭浩强完整课件

C语言谭浩强完整课件
2020/12/15
1.3 C语言的发展及其特点
➢C语言是国际上广泛流行的计算机高级
语言。 ➢C语言的发展:
具有多种数据类型
BCPL语言
B语言
C语言
2020/12/15
精练、接近硬件,但 过于简单, 无数据类型
1.3 C语言的发展及其特点
• 最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。
2020/12/15
函数体
1.4.1 最简单的C语言程序举 例
#include <stdio.h>
int main( )
{
printf (”This is a C program.\n”);
return 0;
输出函数
}
2020/12/15
输出语句
1.4.1 最简单的C语言程序举 例
#include <stdio.h> int main( ) {
2020/12/15
1.3 C语言的发展及其特点
• C语言主要特点: • 运算符丰富。 • 有34种运算符 • 把括号、赋值、强制类型转换等都作为运算符处理 • 表达式类型多样化
2020/12/15
1.3 C语言的发展及其特点
• C语言主要特点: • 数据类型丰富。 • 包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型 • C99又扩充了复数浮点类型、超长整型(long long)、布尔类型(bool) • 指针类型数据,能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。
会自动地、有条不紊地进行工作 ➢计算机的一切操作都是由程序控制的,
离开程序,计算机将一事无成
2020/12/15

第5章选择分支结构--C语言程序设计(谭浩强第三版)PPT课件

第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语言课件谭浩强chap5PPT教学课件

C语言课件谭浩强chap5PPT教学课件

例如,若a=3,b=2,c=1,则:
a>b的值为”真”,表达式的值为1。
(a>b)==c的值为“真”(因为a>b的值 为1,等于c的值),表达式的值为1。
b+c<a的值为“假”,表达式的值为0。
如果有以下赋值表达式:
d=a>b
d的值为1。
f=a>b>c f的值为0(因为“>” 运算符是自左至右的结合方向,先执行“a> b”,得值为1,再执行关系运算:“1>c”得 值0,赋给f
②若a=4,b=5,则a&&b的值为1。因为a和b均为非0, 被认为是“真”,因此a&&b的值也为“真”,值为1。
③a、b值同前,a||b的值为1。
④a、b值同前,!a||b的值为1。 ⑤4&&0||2的值为1。
通过这几个例子可以看出,由系统给出的逻辑运算结果不是 0就是1,不可能是其它数值。而在逻辑表达式中作为参加逻辑 运算的运算对象(操作数)可以是0(“假”)或任何非0的数 值(按“真”对待)。如果在一个表达式中不同位置上出现数 值,应区分哪些是作为数值运算或关系运算的对象,哪些作为 逻辑运算的对象,例如
第5章 选择结构程序设计
5.1 关系运算符和关系表达式
是逻辑运算中比较简单的一种。所谓“” 实际上是“比较运算”。将两个值进行比较, 判断比较的结果是否符合给定的条件。例如, a>3是一个关系表达式,大于号(>)是一 个关系运算符,如果a的值为5,则满足给定 的“a>3”条件,因此关系表达式的值为 “真”(即“条件满足”);如果a的值为2, 不满足“a>3”条件,则称关系表达式的值 为“假” (即“条件不满足”)。
实际上,逻辑运算符两侧的运算对象不但可以是0 和1,或者是0和非0的整数,也可以是任何类型的数 据。可以是字符型、实型或指针型等。系统最终以0 和非0来判定它们属于“真”或“假”。例如

C语言第5章 选择结构的程序设计PPT教学课件

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章选择结构程序设计

C语言课件(谭浩强版)第5章选择结构程序设计

C语言程序设计

a=4;b=5; !a a&&b a||b !a||b 4&&0||2 5>3&&2||8<45>3&&2||8<4-!0 ‘c’&& d’ &&‘d c &&
值为0 值为1 值为1 值为1 值为1 //(5>3)&&2||(8<(4-(!0))) 值为1 值为1
C语言程序设计
短路特性:逻辑表达式求解时, 短路特性:逻辑表达式求解时,并非所有的逻辑 运算符都被执行, 运算符都被执行,只是在必须执行下一个逻辑运 算符才能求出表达式的解时, 算符才能求出表达式的解时,才执行该运算符
内嵌if
内嵌if
if (expr1) if (expr2) else else if(expr3) else
statement1 内嵌if statement2 statement3 内嵌if statement4
C语言程序设计
例 输入两数并判断其大小关系
#include <stdio.h> main() { int x,y; printf("Enter integer x,y:"); 运行:Enter integer x,y:12,23↵ X<Y scanf("%d,%d",&x,&y); Enter integer x,y:12,6↵ if(x!=y) X>Y if(x>y) printf("X>Y\n"); Enter integer x,y:12,12↵ else printf("X<Y\n"); X==Y else printf("X==Y\n"); }

C语言程序设计第五版谭浩强 ppt课件

C语言程序设计第五版谭浩强 ppt课件

运行结果: sum=34
C语言程序设计
第一章 C语言概述
例1.3 从键盘输入两个整数,输出其中较大的数
#include <stdio.h> void main() 声明部分,定义变量 { int max(int x,int y)
输入:10,20 输出:max = 20
int a,b,c;
scanf(“%d,%d”,&a,&b);
第6章 循环控制
第8章 函数
第7章 数组
第9章 预处理命令
第10章 指针
第11章 结构体与共用体
第12章 位运算
第13章 文件
C语言程序设计
第1章 C语言概述
C语言发展历史 C语言的特点 简单的C程序介绍 C程序的上机步骤
第一章 C语言概述
C语言程序设计
§1.1 C语言发展历史
程序设计语言的发展
<
第一章 C语言概述
9种控制语句: if( )~else~ for( )~ while( )~ do~while( ) continue break switch goto return
C语言程序设计
第一章 C语言概述
表1.1 C语言与Pascal语言比较
C语言 {} if(e) S; int i; int a[10];
不产生编译代码
❖编译预处理命令
非法
<>
例: /*This is the main /* of example1.1*/ */
C语言程序设计
§1.4 C程序的上机步骤
C程序开发步骤
编辑
开始
第一章 C语言概述
程序代码的录入, 生成源程序*.c

第5章选择(无闰年)谭浩强 著 C程序设计PPT课件

第5章选择(无闰年)谭浩强 著 C程序设计PPT课件

C程序设计(第三版)
9
9
5.3 if语句
1.If语句的三种基本形式
(1)if (表达式) 语句
表达式
真(非0)
例:
语句
if(x>y) printf(“%d”10
5.3 if语句
(2)if(表达式) 语句1
else
语句2
例: if (x>y) printf(“%d”,x);
第五章
本章要点
关系表达式 逻辑表达式 选择结构程序设计
主要内容
5.1 关系运算符和关系表达式 5.2 逻辑运算符和逻辑表达式 5.3 if语句 5.4 switch语句 5.5 程序举例
5.1 关系运算符和关系表达式
1.关系运算符及其优先次序
1. <
(小于)
2. <= (小于或等于)
才需要判断c的值。 (2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才
判断b。a和b都为假才判断c
注意例:(m=a>b)&&(n=c>d)
当a=1,b=2,c=3,d=4,m由和于n的“原a>值b为”1的时值, 为0,因此m=0,而“n=c>d”不被执行,因此n的值不是 仍保持原值1。
3. >
(大于)
优先级相同(高)
4. >= (大于或等于)
5. == (等于)
6. 说!=明: (不等于)
优先级相同(低)
关系运算符的优先级低于算术运算符
关系运算符的优先级高于赋值运算符
C程序设计(第三版)
4
4
5.1 关系运算符和关系表达式
2.关系表达式
用关系运算符将两个表达式(可以是算术表达式,赋值

C语言说课PPT(谭浩强第五版)非常好

C语言说课PPT(谭浩强第五版)非常好

2.
培养学生编程基 本思想、编程基 本技能及逻辑思 维能力的必修课
3.
可用来解决岗位工 作中实际问题,为 提高职业能力和拓 展职业空间打下坚 实基础
说--课程标准
2、课程地位
专业基础课
课程 地位
通信技术专业 通信专业 软件工程
其它课程的先导课
单片机系统设计 嵌入式应用开发 传感器应用技术
省技能大赛基础课程
总学时数
章节主要内容
理论时数 实践时数
C语言概述,简单C程序及运行环境介绍 如何编辑、编译、连接、运行一个C程序
1
1
算法的概念及特性,简单算法举例。 算法的表示方法,流程图、N-S图的使用
2
C语言中数据类型介绍,常量、变量的概念 运算符和表达式、语句、输入输出函数
2
2
If语句、关系运算符和关系表达式、逻辑运算符和逻
①培养学生精益求精的工匠精神 ②培养学生团结合作、自主学习的能力 ③促进学生职业素养的形成
任务序号 第1章 第2章 第3章
4
第4章

第5章

第6章

第7章

第8章
第9章
第10章 复习
章节内容 程序设计和C语言
算法 顺序结构程序设计
选择结构程序设计
循环结构程序设计 数组 函数 指针
用户自定义数据类型 文件输入输出 复习
辑表达式、条件运算符和条件表达式、选择的嵌套、
3
3
Switch语句
While语句、Do..while语句、For语句、循环嵌套、 Break语句、Continue语句
3
3
一维数组、二维数组、字符数组
3
3

C语言谭浩强完整课件

C语言谭浩强完整课件

着广泛的应用。
计算机系统基本概念
计算机系统的组成
计算机系统由硬件系统和软件系统两大部分组成,硬件系统包括运算器、控制器、存储器 、输入设备和输出设备等五大部分;软件系统包括系统软件和应用软件两大类。
计算机的工作原理
计算机的工作原理可以概括为存储程序控制和程序控制流,即计算机通过执行存储在内存 中的程序来控制各部件协调工作。
在定义数组时,可以直接 对数组进行初始化,也可 以定义后再进行赋值。
一维数组的使用
通过下标访问数组元素, 下标从0开始,最大下标为 数组长度减1。
二维数组与多维数组
二维数组的定义
二维数组可以看作是一个 表格,由行和列组成,每 个元素都有两个下标。
二维数组的初始化
在定义二维数组时,可以 直接对数组进行初始化, 也可以定义后再进行赋值 。
scanf和printf函数都支持 格式化输入输出,可以通 过格式控制符指定输入输 出数据的类型和格式。
格式化输入
格式控制符
C语言提供了一组格式控制符,用于 指定输入输出数据的类型和格式,如 %d表示输入输出整数,%f表示输入 输出浮点数等。
格式化输入
格式化输出
使用printf函数进行格式化输出时, 可以指定输出数据的格式和显示方式 ,如控制小数位数、显示宽度等。
类型。
枚举常量的说明
在枚举类型定义中,可以列 出多个枚举常量,每个常量 对应一个整数值。默认情况 下,第一个枚举常量的值为0 ,后续常量的值依次递增1。
枚举变量的使用
声明枚举类型的变量后,可 以为其赋值。枚举变量的值 只能是枚举常量中定义的值 。使用枚举类型可以提高代 码的可读性和可维护性。
08
文件操作与数据处理

C语言(谭浩强)第05章 选择结构程序设计

C语言(谭浩强)第05章 选择结构程序设计


number>100


number>50

cost=0.15
cost=0.10
cost=0.075
cost=0.05
cost=0
说明: 说明: 1)if 语句中在if后面都有表达式,一般为逻辑表达式或 语句中在if后面都有表达式 一般为逻辑表达式 后面都有表达式, 逻辑表达式或 关系表达式,也可以为其它表达式 如果表示式的值为0, 其它表达式; 关系表达式,也可以为其它表达式;如果表示式的值为0, 则按“ 处理,如果为非0 则按“ 处理; 则按“假”处理,如果为非0,则按“真”处理; 例如: 直接执行打印“ 例如:if (3) printf(“O.K.”); 直接执行打印“O.K.” if (‘a’) printf(“%d”,’a’); 打印’a’的ASCII码97 打印’a’的ASCII码 2)注意在if 语句第二、三形式中每个语句后都有分号; 注意在if 语句第二、三形式中每个语句后都有分号; if (number>500) cost=0.15; cost=0.15; else if (number>300) cost=0.10; cost=0.10; else if (number>100) cost=0.075; cost=0.075; else if (number>50) cost=0.05; cost=0.05; else cost=0;
5.2逻辑运算符和逻辑表达式 5.2逻辑运算符和逻辑表达式
5.2.1逻辑运算符及其优先次序 5.2.1逻辑运算符及其优先次序 C语言提供三种逻辑运算符: 语言提供三种逻辑运算符: (1)&& ) (2) | | ) (3) ! ) 逻辑与(与运算符) 逻辑与(与运算符) 逻辑或(或运算符) 逻辑或(或运算符) 逻辑非(非运算符) 逻辑非(非运算符)

C语言程序设计_课件_第五章(适于清华谭浩强版)

C语言程序设计_课件_第五章(适于清华谭浩强版)

5.3 do while语句
5.3.1 do while 语句的语法和框图 do while循环语句的语法是: do { 语句; } while (表达式); 功能: 执行“语句”,计算表达式的值,如果表 达式的值非零(真),继续执行“语句”,直 到表达式的值为零(假),循环结束。
do while与while语句的区别是: do whil总是要先做一遍循环体,再做表 达式的判断,因此循环体中的语句肯定要做一 次。在设计程序时,如果不知道重复执行的次 数,而且第一次必须执行时,常采用do while 语句。
需要注意以下几点:
(1) 循环次数的控制要正确。
(2) 循环体包含一个以上的语句时,一定要用花 括号括起来,否则,可能与程序要求不符。 (3) 在循环体内要有使循环趋向于结束的语句, 否则,可能引起无限循环。
(4) 循环表达式可以是真,通过在循环体中加if 语句对循环进行控制。
判断程序结果: #include "stdio.h" void main() { int i; i=0;
while (i<20) i++;
printf("%d ",i);
printf("\n");
}
判断程序结果: #include "stdio.h" void main() { int i; i=1;
while (i<=20) printf("%d ",i);
i++;
printf("\n ");
}
判断程序结果: #include "stdio.h" void main() { int i; i=1; while (10) /*循环表达式为真 { printf("%d ",i); if (i<20) i++; else break; } printf("\n "); } */

谭浩强C程序设计课件完整版第5章

谭浩强C程序设计课件完整版第5章

5.3字符数组和字符 字符数组和字符 串
字符数组是用来存放字符型数据 的数组,字符数组中的每一个元素存 放一个字符,字符数组可以存放字 符串.
5.3.1字符数组的定义 字符数组的定义
字符数组的定义与普通数组类似,形式为: 类型说明符 数组名[常量表达式]; 其中,char是字符型数据类型说明符,常量表达 式表示数组的元素的个数,即数组的长度,字符 数组的每一个元素存放一个字符. 例如: char c[5]; 定义字符数组c包含5个元素即5个字符,或者存放 一个长度不大于5的字符串. 字符数组同样有二维和多维的,如: char c[3][4]; 定义了一个3行4列的字符数组.
从上例看出数组元素只能逐个赋初值,比较的时候也是逐 个进行比较,通过数组的下标来区分数组元素.
5.1.3一维数组的初始化 一维数组的初始化
数组元素的赋初值和普通变量一样,数组初始化的 一般形式如下: 数据类型 数组名[常量表达式]={初值表}; 对数组元素的赋初值有下面几种情况: 1.一维数组可以在定义时可以对全部数组元素进行初始化, 数据间用逗号隔开.例如: int a[6]={1,3,5,7,9,11}; 经过上述初始化后, a[0]=1,a[1]=3,a[2]=5,a[3]=7,a[4]=9,a[5]=11.在这种情况 下,数组长度可以省略,即int a[ ]={1,3,5,7,9,11};
图5.5
5.3.4字符串及其常用函数 字符串及其常用函数
字符串是用双括号括起来的字符序列.在C语言中, 没有专门的字符串变量,而在实际的编程工作中, 字符串的应用又非常广泛,如:人的姓名,身份 证号码,产品编号等,为了解决这个问题,我们 使用字符数组来存放和处理字符串. 1.字符串的表示方式
字符数组的长度和字符串的有效长度很多时候是不同的,而 人们往往关心的是字符串的有效长度,为此,C语言规定 以'\0'作为字符串的结束标志,当遇到'\0'时,表示字符串 结束. 系统对字符串常量也自动加一个'\0'作为结束标志.例如字符 串"student"有7个字符,在内存却要占用8个字节,因为最 后一个字节用来存放字符'\0'. 从ASCII码表中可以查到,'\0'的ASCII码为0,它不是一个可 以显示的字符,在字符串中仅作为字符串的结束标志.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5.3 if语句
例5.2 输入三个数a,b,c,要求按由小到大的顺序输出。
a>b
n
If a>b 将a和b对换 If a>c 将a和c对换 If b>c 将b和c对换
a>c n y
y a和b交换 a和c交换
b>c y c和b交换
5.3 if语句
#include <stdio.h> void main ( ) { float a,b,c,t; scanf(″%f,%f,%f″,&a,&b,&c); if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf("%5.2f,%5.2f,%5.2f\n",a,b,c); }
5.3 if语句
2.if语句的嵌套
在if语句中又包含一个或多个if语句称为if语句的嵌套。
形式:
if()
if() 语句1
else 语句2 else
内嵌if
if() 语句3
else 语句4
5.3 if语句
匹配规则:
else总是与它上面的,最近的,统一复合语句中的,未配
对的if语句配对。
例:
例:
if()
3. >
(大于)
优先级相同(高)
4. >= (大于或等于)
5. == 6. !=
(等于) (不等于)
优先级相同(低)
说明:
关系运算符的优先级低于算术运算符
关系运算符的优先级高于赋值运算符
5.1 关系运算符和关系表达式
2.关系表达式 • 用关系运算符将两个表达式(可以是算术表达式或
关系表达式,逻辑表达式,赋值表达式,字符表达式) 接起来的式子,称关系表达式 C语言中没有专用
5.3 if语句
例5.1 输入两个实数,按代数值由小到大的顺序输出这两
个数。
#include<stdio.h>
void main()
a>b
{float a,b,t; scanf(″%f,%f″,&a,&b); if(a>b)
y
T=a
n
{t=a;
A=b
a=b;
B=t
b=t;}
printf(″%5.2f,%5.2f\n″,a,b);}
5.2 逻辑运算符和逻辑表达式
用逻辑表达式来表示闰年的条件
•能被4整除,但不能被100整除。 •能被100整除,又能被400整除。

(year%4==0&&year%100!=0)||year%400==0

值为真(1)是闰年,否则为非闰年。
5.3 if语句
1.if语句的三种基本形式
(1)if (表达式) 语句
第五章
本章要点
关系表达式 逻辑表达式 选择结构程序设计
主要内容
5.1 关系运算符和关系表达式 5.2 逻辑运算符和逻辑表达式 5.3 if语句 5.4 switch语句 5.5 程序举例
5.1 关系运算符和关系表达式
1.关系运算符及其优先次序
1. <
(小于)
2. <= (小于或等于)
表达式
真(非0)
例:
语句
if(x>y) printf(“%d”,x);
假 (0)
5.3 if语句
(2)if(表达式) 语句1
else
语句2
例: if (x>y) printf(“%d”,x); else printf(“%d”,y);
Y 条件 N
语句1
语句2
5.3 if语句Βιβλιοθήκη (3)if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 …… else if(表达式m)语句m else 语句n
a||b 若a,b之一为真,则a||b为真。 !a 若a为真,则!a为假。
优先次序:
•!(非)->&&()->||() •逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算 术运算符
5.2 逻辑运算符和逻辑表达式
2.逻辑表达式 •用逻辑运算符将关系表达式或逻辑量连接起来的式子就 是逻辑表达式。 •逻辑表达式的值应该是一个逻辑量“真”或“假”。
的逻辑值,1代表
例:a>b,a+b>b+c,(a=3)>(b=5),’a’<‘b’,(a>真b),>(0b代<c表) 假
• 关系表达式的值是一个逻辑值,即“真”或“假”。
例:关系表达式”a>b”的值为“真”,表达式的值为1。
5.2 逻辑运算符和逻辑表达式
1.逻辑运算符及其优先次序 (1)&& (逻辑与) 相当于其他语言中的AND (2)|| (逻辑或) 相当于其他语言中的OR (3)! (逻辑非) 相当于其他语言中的NOT 例:a&&b 若a,b为真,则a&&b为真。
if()
if() 语句1
{if() 语句1}
else
else
if() 语句2
if() 语句2
else 语句3
else 语句3
当if和else数目不同时,可以加花括号来确定配对关系。
5.3 if语句
例:
if (number>500)cost=0.15; else if(number>300)cost=0.10; else if(number>100)cost=0.075; else if(number>50)cost=0.05; else cost=0;
5.3 if语句
说明:
(1)3种形式的if语句中在if后面都有表达式, 一般为逻辑表达式或关系表达式。
(2)第二,第三种形式的if语句中,在每个 else前面有一个分号,整个语句结束处有一 个分号。
(3)在if和else后面可以只含有一个内嵌的操 作语句,也可以由多个操作语句,此时用花 括号将几个语句括起来成为一个复合语句。
任何非零的数值被认作“真”
例:设a=4,b=5:
!a的值为0
a&&b的值为1
a||b的值为1
!a||b的值为1
4&&0||2的值为1
5.2 逻辑运算符和逻辑表达式
例:5>3&&8<4-!0
自左向右运算
5>3逻辑值为1
!0逻辑值为1
4-1值为3
表达式值为0
1&&0逻辑值为0 8<3逻辑值为0
5.2 逻辑运算符和逻辑表达式
在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。 (1)a&&b&&c 只有a为真时,才需要判断b的值,只有a和b都为真时
才需要判断c的值。 (2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才
判断b。a和b都为假才判断c
例:(m=a>b)&&(n=c>d)
当a=1,b=2,c=3,d=4,m和n的原值为1时,由于“a>b”的值 为0,因此m=0,而“n=c>d”不被执行,因此n的值不是0 仍保持原值1。
相关文档
最新文档