chap03_分支结构

合集下载

《chap分支结构》PPT课件

《chap分支结构》PPT课件
《chap分支结构》PPT课 件
本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢!
语句
常见的C语句:
选择: if switch 循环: while, do, and for 跳转: break, continue, goto,return
5
判等运算符
C 判等运算符:
== equal to != not equal to
返回0 (false) or 1 (true) 判等运算符优先级低于关系运算符
i < j == j < k
相当于
(i < j) == (j < k)
6
逻辑运算符
逻辑与 && 逻辑或 || X && Y 逻辑非 !
如果想让if语句处理多条语句,需使用复合语句.
{ 多条语句 }
内部语句仍然以分号结尾 if (line_num == MAX_LINES) {
line_num = 0; page_num++; }
在语法上要求用一条语句的地方都可以用复合语句
14
else 子句
if 语句可以附带 else 子句:
else if ( j > k) max = j; else max = k;
表达式1 真
语句1

表达式2 真
n个分支需要n-1次比较

假 …
假 表达式n-1

语句2

语句n-1
语句n
16

数据结构chap03

数据结构chap03

top top
X C B A
-出栈:Pop_Stack(s) 初始条件:栈s存在且非空 操作结果:栈s的顶部元素从栈中删除,栈中少了一个元素。 栈发生变化。
top top
X C B A
-读栈顶元素:Top_Stack(s) 初始条件:栈s存在且非空 操作结果:栈顶元素作为结果返回,栈不变化。
Example: Reversing a list of numbers

栈的链式存储结构称为链栈,它是运算受限的单链表,插 入和删除操作仅限制在表头位置上进行。由于只能在链表 头部进行操作,故链表没有必要像单链表那样附加头结 点。栈顶指针就是链表的头指针。

链栈的类型说明tacknode {
datatype struct

插入
一个栈是一些元素的线形列表,其中元素的插入和删除 均在表的同一端进行。插入和删除发生的一端称为栈顶( the top of the stack)。
栈的特点是“后进栈的元素 第一个进栈的元素在栈底, 先出栈”(last in, first out), 最后一个进栈的元素在栈顶,
第一个出栈的元素为栈顶元素, 故栈又称为后进先出表(LIFO)。 最后一个出栈的元素为栈底元素。
L
5 1
4 2
3
4 2
5 1
Status Reverse(Sqlist L,Stack *s) { Init_stack(s); for(i=0;i<L-length;i++) push_stack (s,L[i]); while(!empty_stack(s)) {for(i=0;i<L-length;i++) L[i]=pop_stack(s); } }

二级必过法宝之chap03程序的简单算法制定

二级必过法宝之chap03程序的简单算法制定

第9页 页
三.循环结构 循环结构是在某个条件为真的情况下,重复执行某 循环结构是在某个条件为真的情况下, 重复执行 某 个框中的内容。循环结构有两种基本形态: 个框中的内容。循环结构有两种基本形态:while型循环 型循环 型循环。 和do_while型循环。 型循环 ①while型(当型)循环的流程图 型 当型) while型循环的执行顺序为:重复判断条件、如果条件为 型循环的执行顺序为:重复判断条件、 型循环的执行顺序为 真则执行A,一但条件为假,则跳出循环。 真则执行 ,一但条件为假,则跳出循环。 ②do-while(直到型)型循环的流程图 (直到型) do_while型循环的执行顺序为:先执行A,再判断条件, 型循环的执行顺序为:先执行 ,再判断条件, 型循环的执行顺序为 若条件为真则重复执行A,一但条件为假,则跳出循环。 若条件为真则重复执行 ,一但条件为假,则跳出循环。
• 一步累加:sum = sum + i; • 重复累加,用循环语句实现,在循环过程中:
(1) 判别 i 是不是偶数:用分支控制语句来实现。 (2) 对循环次数进行控制:通过 i 值的变化
21:44
第18页 页
问题分析与算法设计
1)思路 ——》确定算法 2)算法:一组明确的解决问题的步骤,它产生 结果并可在有限的时间内终止。 3)算法的描述:
算法可采用自然语言、流程图、 - 图 算法可采用自然语言、流程图、N-S图、PAD图、伪代 自然语言 图 码等方法来描述。 码等方法来描述。 § 3.2.1 流程图 流程图是用不同的几何图来代表不同性质的操作, 流程图是用不同的几何图来代表不同性质的操作,用 流程线来指示算法的执行方向, 流程线来指示算法的执行方向,所有的流程图用一带箭头 的流程线相连。 的流程线相连。

第五章--分支结构PPT课件

第五章--分支结构PPT课件
)
2021/7/22
8
例2.用cond函数来描述下列计算式: x 0≤x<2
F(x)=
x2 2≤x<5 x3 5≤x<7
ex x≥7
程序为:
(initget 7)
(setq x (getreal “Enter x=? (x >= 0)”))
(setq fx (cond ((and (>= x 0) (< x 2)) x)
可以是表。
2021/7/22
5
2.〈测试—表达式〉的值不一定必须为T才算成立,因为从逻辑角度来说任何 非 nil 的 表 达 式 都 与 T 等 效 , 只 要 其 值 为 非 nil 即 可 , 例 如 〈 测 试 — 表 达 式 〉 为 1.2.“text”,(List 1 2 3),(setq a 3.0) (+ 13 8),(print “a”),a(已赋值)等,其值虽非T, 但为非nil,固测试均成立。并进行〈则—表达式〉。只有〈测试—表达式〉的值 为nil,如/(),(and (< 4 1) (> 3 2))测试不成功,则进行〈否则—表达式〉。
执行该函数时对表达式依次求值,只要有一个表达式的值为非nil则返回T。
只有2全021部/7/2表2 达式的值为nil,才返回nil,例如:
3
(or 1 2 3 nil)
返回值T
(or (< 5 3) (= 2 1) (/= 2 2) (> 3 5)
返回值nil
(or a b c d)
返回值nil
;(a b c d均未赋值)
((and (>= x 2) (< x 5)) (* x x))
((and (>= x 5) (< x 7)) (expt x 3))

Chap003 中文

Chap003 中文

3-6
The Next Wave of Computing minisupercomputers; connecting all the power of unused desktops in an organization
❖ Distributed (Grid) Computing - parallel computing over a network
❖Advantages - purchase nodes as a commodity, economies of scale
❖ Disadvantages - untrustworthy calculations, lack of centralized control
❖ Internet of Things (IoT)
3-13
II. Input technologies
Input Devices - keyboards, mice, light pens, trackballs, touch screens Speech Recognition Systems understands spoken commands/words
controlled by the CPU ❖Offline - separate from and not
controlled by the CPU
3-12
II. Input technologies
Source Document - the original record of the data, very important for auditing purposes; now accepted in both electronic or physical form Graphical User Interface (GUI) - presents icons, buttons, windows, etc. for use with Pointing Devices (as opposed to a textbased interface)

数据结构(C语言版CHAP3

数据结构(C语言版CHAP3

S.top
n+1 n n-1 i-1 i-2
0
e an ai ai-1 a1
STA作图示
S.top
S.top n n-1 i-1 i-2 S.base 0
an ai ai-1
n+1 n n-1 i-1 i-2
e an
ai ai-1 a1
STACK_INIT_SIZE
3.1 栈
二 栈的基本操作 1) 初始化操作InitStack((&S) 功能:构造一个空栈S; 2) 销毁栈操作DestroyStack(&S) 功能:销毁一个已存在的栈; 3) 置空栈操作ClearStack(&S) 功能:将栈S置为空栈; 4) 取栈顶元素操作GetTop(S, &e) 功能:取栈顶元素,并用e 返回; 5)进栈操作Push(&S, e) 功能:元素e进栈; 6)退栈操作Pop(&S, &e) 功能:栈顶元素退栈,并用e返回; 7)判空操作StackEmpty(S) 功能:若栈S为空,则返回True,否则返回False; 第 9 页
S.top
n n-1
an
i-1 i-2
1 0
ai ai-1
a2 a1
STACK_INIT_SIZE
S.base
S.stacksize
第 13 页
3.1 栈
当栈用顺序结构存储时, 栈的基本操作如建空栈、 进栈、出栈等操作如何实现?
第 14 页
3.1 栈
二 顺序栈基本操作的算法 1)初始化操作InitStack_Sq((SqStack &S)
a1
STACK_INIT_SIZE
S.base S.stacksize

chap-03 ASP脚本语言

chap-03  ASP脚本语言
第 3 章 ASP脚本语言
3.1 ASP脚本语言简介
3.2 VBScript 基础
3.3 VBScript 过程和函数 3.4 Javascript 脚本语言
3.1 ASP脚本语言简介

ASP动态网页可以使用VBScript或JavaScript作为脚本语言。

在HTML页面中添加脚本代码时,必须运用<script>…</script> 标记。属性language指定所使用的脚本语言。
Preserve 关键字说明需要保留数组的原有内容。
3.2.2 表达式与运算符
运算符优先级:算术运算符 & 比较运算符 逻辑运算符
3.2.3 VBScript流程控制

1.条件语句
IF <条件表达式> THEN 语句1 ELSE 语句2 END IF
IF <条件表达式1> THEN 语句1 ELSEIF <条件表达式2> THEN 语句2 END IF
3.2 VBScript 基础
3.2.1 数据类型和变量

VBScript只有一种数据类型,称为Variant。 Variant 根据赋值的不同自动确定变量的数据子类型。如: Variable=2005 Variable=“2005-3-18” Variable=3.1415926
在程序中,可使用 Vartype() 函数返回数据的Variant子 类型。
从左边截取长度为len的子字符串 从右边截取长度为len的子字符串
LCase(string)
UCase(string) StrComp(str1,str2)
大写字母转换为小写字母
小写字母转换为大写字母 比较str1和str2,若相同,返回0;若大返 回1;若小返回-1

Chap03-基本控制结构

Chap03-基本控制结构

Chap03基本控制结构程勇信息科学与技术学院计算机系Sept. 2006课程提纲Chap01 绪论Chap02 数据类型与表达式Chap03 基本控制结构Chap04 数组和字符串Chap05 指针Chap06 函数Chap07 程序组织与预处理Chap08 类和对象Chap09 运算符重载Chap10 继承与派生Chap11 虚函数和多态性Chap12 异常处理Chap13 输入与输出Chap14 范型程序设计与STL本章提纲选择语句if语句if-else语句switch语句循环语句while循环do-while循环for循环转向语句break语句continue语句goto语句选择语句选择结构能够根据特定条件的判断来选择程序所要执行的分支。

if语句if (表达式)语句if-else语句if (表达式)语句1else语句2if语句可以嵌套,但要避免else 悬空(else语句与最近的if语句配对);if语句逻辑选择语句(续)多分支选择结构(switch语句)一般格式switch (表达式) {case 常量表达式1:语句(块)1case 常量表达式2:语句(块) 2┆case 常量表达式n:语句(块) ndefault : 语句(块) n+1}几点说明表达式可以是可以是整型、字符型、枚举型;Switch语句中包含n个常量表达式,与Case一起作为n组分支的标号;以case中的常量表达式值为入口标号,由此开始顺序执行。

因此,每个case分支最后应该加break语句;若干分支执行内容相同可共用一组语句;循环语句重复结构(循环结构)是十分重要的程序结构,分为“当型”和“直到型”两种控制形式。

在C++中,有三种循环结构while循环do-while循环for循环while循环格式while (exp)语句(块)当循环条件表达式的值为真,则执行循环体,直至exp的值为假。

故称为“当型”循环;exp可以是算术表达式、关系表达式和逻辑表达式;while语句循环语句(续)do-while循环一般格式do {语句;while (exp);while循环和do-while循环的区别:while语句先判断条件是否满足,然后才执行循环体,因此可能一次也不执行do-while语句至少执行一次循环体后再判断循环条件是否满足,因此必须执行一次循环体;在大多数情况下可以相互替代;do-while语句循环语句(续)for循环一般格式for (exp1; exp2; exp3)语句exp1: 用来设置循环控制变量初值,一般是赋值表达式;exp2: 其计算结果可以用来作为循环条件,一般是关系表达式或逻辑表达式;exp3: 用来修改循环控制变量的值。

chap选择结构程序设计

chap选择结构程序设计
}
4
C#语i言n程cl序u设d计e <stdio.h> 第4章 选择结构程序设计
例m{ a:il一no(n)个g 5g位e,s数hi,,q判ian断,w它an是,x不; 是回文数,即12321 p是rin回tf文("p数le,as个e i位np与ut万th位e相5 b同it,s n十u位mb与er千: "位);相同。
2. 浮点数的绝对值
{
double fabs(double
int x,y; printf("Please
input
x:"3).; 库函数的头文件
scanf("%d",&x);
#include <math.h>
y=x;
iyf=(ya(<ibn0st))(fxa)b; s(x);
y= -y;
} printf("absolute value is %d\n",y);
cc==cc-+3322; ;
printf("%c\n",c); }
7
C语言程序设计
第4章 选择结构程序设计
4.1 二路分支——if语句 使用库函数:
例:求一个数的绝对值。 1. 整数的绝对值
#include <stdio.h> #include <math.h>
int abs(int i);
main()
6
C语言程序设计
第4章 选择结构程序设计
4.1 二路分支——if语句
例:将小写字母转换为大写字母
#include <stdio.h> main() {
char c;

第3章 操作系统结构

第3章 操作系统结构


有正常物理计算机典型的、有时更为强大的结构和计算 能力,但却没有物理芯片的很多问题和局限性 最早的虚拟机,1964年IBM为System/360设计的提供分 时的操作系统 每个人或程序按需支配整个虚拟S/360,而不必担心该 程序是不会导致另一个程序的崩溃

VM/CMS


VM/CMS models
Command-interpreter system


命令解释程序是OS和用户之间的接口 命令解释程序可以用在交互系统和批处理系统中 许多命令通过控制语句交给操作系统,来完成以下 管理: 进程的创建和管理 主存的管理,文件操作 I/O控制,外存的管理 网络Networking, 保护


System generation


对于特定的计算机场所,必须要配置和生成系统 系统生成程序要取得特定系统的配置信息
什么CPU 多大内存容量 什么可能设备 需要的参数值(CPU调度算法)

生成方法


全编译 – 生成专门适用于特定系统的OS输出目标代码 重连接 – 需要时链接到操作系统 表驱动 – 代码选择发生在执行时
OS API (System Call)

进程和操作系统之间参数传递的方法 用寄存器传递参数


将参数存储在一个内存表里,然后把表地址 作为送到寄存器 (linux,下图) 使用栈
Types of system calls



进程控制 文件管理 设备管理 信息维护 通信
OS API: Process control

Monolithic structure
Layered structure

Chap3ARM7体系结构[1]

Chap3ARM7体系结构[1]
ARM体系结构从最初开发到现在有了很大的 改进,并仍在完善和发展。为了清楚的表达每个 ARM应用实例所使用的指令集,ARM公司定义了6 种主要的ARM指令集体系结构版本,以版本号 V1~V6表示。
PPT文档演模板
Chap3ARM7体系结构[1]
3.1 ARM简介
n 各ARM体系结构版本——V1
该版本的ARM体系结构,只有26位的寻址空 间,没有商业化,其特点为:
▪每条数据处理指令都对算术逻辑单元和移位器控 制,实现了ALU和移位器的最大利用; ▪地址自动增加和减少寻址模式,优化程序循环; ▪多寄存器装载和存储指令实现最大数据吞吐量; ▪所有指令的条件执行实现最快速的代码执行。
PPT文档演模板
Chap3ARM7体系结构[1]
3.1 ARM简介
n 各ARM体系结构版本
PPT文档演模板
Chap3ARM7体系结构[1]
3.1 ARM简介
ARM公司简介
ARM是Advanced RISC Machines的缩写,它是一家微处 理器行业的知名企业,该企业设 计了大量高性能、廉价、耗能低 的RISC (精简指令集)处理器。
公司的特点是只 设计芯片,而不生产。它将技术 授权给世界上许多著名的半导体、 软件和OEM厂商,并提供服务。
低功耗的可预测的指令执行时间的 硬实时应用设计
ARM968E-S:最小、功耗最小 的 ARM9E系列处理器,针对嵌入 式实时应用设计;
ARM9E是针对微控制器、DSP和Java的单处理 器解决方案;
ARM Jazelle 技术提供 8倍的 Java 加速性能 (ARM926EJ-S) ; 5-级整数流水线; 在0.13µm工艺下最高性能可达到300MIPS (Dhrystone 2.1测试标准); 可选择的 向量浮点单元VFP9 协处理器指令优 秀海浮点性能,对于3D图形加速和实时控制可 达到 215MFLOPS。 高性能的AHB总线,带MMU 可在0.18µm, 0.15µm, 0.13µm工艺的硅芯片上实 现。

分支结构1ppt课件

分支结构1ppt课件
成立与否,在两个预定的处置步骤中,选 择执行其中的一个处置步骤。 3.单分支、双分支的区别 4.它们都是一个入口,一个出口 5.学会绘制分支构造流程图
用流程图描画以下问题的算法。
1、某超市促销苹果,购买一斤苹果,每斤5元, 购买5斤及以下每斤原价;超越5斤部分每斤打8 折,输入购买的斤数,输出应付款额。 〔假设变量:weight表示斤数,pay表示应付款 额〕
a
顺序构造能处理各种问题吗?
二、选择方式
〔分支构造〕
分支构造的两种类型
1〕单分支
2〕双分支
N 条件
Y
步骤
Y 步骤1
条件
N 步骤2
特点:先找出断定条件,然后根据条件的成立与否, 在两个预定的处置步骤中,选择其中的一个处置步 骤来执行。
判别是单分支还是双分支?
例1:从键盘输入两个数,输出其中较大的数。 〔用双分支实现〕
2、输入两个数a,b,比较大小,将大数放在a中, 小数放在b中,然后输出a,b。〔用单分支构造 实现〕
例2:输入两个数,按从小到大的次序输出这 两个数。〔双分支〕
开场开场
输入输a入,ba,b
YY
a>ba?<b?
NN
输出输b出,aa,b
输出输a出,bb,a
终了终了
例3:输入一个数a,输出它的绝对值。〔分别 用单分支和双分支实现〕
开场
输入a
Y
N
Байду номын сангаас
a>=0?
输出a
输出-a
终了
总结
1.用分支构造处理问题 2.特点:先找出断定条件,然后根据条件的

c语言chap3

c语言chap3
+2=. 、a+-==a、-=*a=*、=a/=、%=
例如:a+=b 等价于 a=a+b;
归纳为 a 1.op求=eexxpp;(的其值中::2o+p4为=运6算符,exp为表达式) 求2值. 过把程6与: 变量a作op运算:12*6=72 13. .求再ex把p的2.值的结果赋给变量a:a=72
2. 把求出的exp与a作op运算 3. 把2. 的结果再赋给变量a

unsigned
long
double
float

强制类型转换
格式:
(类型名) 变量名(或表达式)
例如:
(double) a (float) (b*c)
区别:
int a; 与 (int) a (int) x+y 与 (int) (x+y)
注意:强制类型转换只能对变量或表达式的数据
作暂时性的类型转换,并不能改变变量在程序中 定义的数据类型。
i=+4+;后置,先取i的值4赋值给 j=j+,+然i; 后i再自加1 例4:执行下列i程的序值段为以5,后j,的i值、为k的4 值?
i=3; k=(++i)+(++i)+(++i);
算术运算符小结
优先级别:
++、--、-(取负运算符) 高
*、/、%
+、-

结合性 ++、--、-(取负运算符):从右至左 *、/、%、+、-:从左至右
例:若a=12,则a*=2+4的值?
三、逗号运算
逗号运算符:,
逗号表达式

《分支结构》PPT课件

《分支结构》PPT课件
-1 (x<0)
分段函数学生容易理解,条件显而易见, 可以用数轴的办法,让学生观察数值区域, 选择从大到小,或从小到大的判断方法, 用分支嵌套来实现。
此处是判断框,其中x=0是关系表达式,=是关系运算符。
此处是处理框,其中的y=0是赋值语句,=是赋值号。
注意语句的书写规范,IF和END IF成对出现。
1. 分支结构的概念:根据给定条 件是否成立而决定执行不同步 骤的算法结构。
2. 基本模式:双分支结构和单分 支结构
3. 复习算法基础中的“算术表达 式”、“关系表达式”和 “逻 辑表达式” ,找出其本质的不 同。
4. 执行到分支结构时,在两条可 能的路径中,根据条件是否成 立而选择其中一条执行。
3
精选课件ppt
5.流程图规范画法
▪ 流程线,走直角,自上而下。
▪ 双分支结构中,条件判断的是、否 结果左右分列;单分支结构中,条 件判断成立时,往下执行预定步骤 ,否则跳过预定步骤。
▪ 无论单、双分支都一定有判断框和 汇聚点,判断框是分支结构的开始 ,汇聚点是分支结构的结束。
▪ 判断框有一个入口,两个出口,而 分支结构只有一个入口,即判断框 的入口,一个出口,即汇聚点的出 口。
6
精选课件ppt
分支结构的两种基本模式与程序设计中的IF语句:
此时,一定要问清楚学生,“否” 的这个分支含义是什么,这样当学 生学习IF语句中的ELSE时,可以 理解ELSE语句中其实隐含着不成 立的条件,无须重复书写。
双分支结构
单分支结构
7
精选课件ppt
分支结构的两种基本模式与程序设计中的IF语句对应关系:
9
精选课件ppt
选用的例题意图及学生容易出现的错误
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3
关系运算符
C的关系运算符 的关系运算符: 的关系运算符
< > <= >= less than greater than less than or equal to greater than or equal to
关系运算符优先级低于算术运算符
i + j < k - 1 相当于 + j) < (k - 1). 相当于(i
21
switch 语句
switch语句:
switch(整数 整数表达式){//表达式只能为字符、数字、枚举 整数 case value1: 语句1; break; case value2: 语句2; break; … default: 语句n; } 等价于: 等价于: if(整数表达式 整数表达式==value1) 整数表达式 语句1; 语句 else if(整数表达式 整数表达式==value2) 整数表达式 语句2; 语句 … else 语句n; 语句 } 08:46:19 22
switch 语句可读性更好 语句可读性更好. switch 语句执行效率通常更高
24
switch 语句注意事项
case 语句不能重复 case 语句的顺序没有要求 default 默认放在最后,但不强制 默认放在最后, 多个case 标号可以放置在同一组语句前面 多个 switch (grade) { case 4: case 3: case 2: case 1: printf("Passing"); break; case 0: printf("Failing"); break; default: printf("Illegal grade"); break; }
假 表达式n-1 表达式1 表达式 真 假
n个分支需要 次比较 个分支需要n-1次比较 个分支需要
假 表达式2 表达式 假


> k) = j;
语句1 语句 语句2 语句 …

语句n-1 语句
语句n 语句
= k;
16
else 子句
每个else与离它最近的 匹配 与离它最近的if匹配 每个 与离它最近的 为了避免出错,尽量添加{}: 为了避免出错,尽量添加
如上代码简写为
printf("%d\n", i > j ? i : j);
20
switch 语句
级联式 if 语句根据成绩的等级显示相应的评语
if (grade == 4) printf("Excellent"); else if (grade == 3) printf("Good"); else if (grade == 2) printf("Average"); else if (grade == 1) printf("Poor"); else if (grade == 0) printf("Failing"); else printf("Illegal grade");
交易额范围 Under $2,500 $2,500–$6,250 $6,250–$20,000 $20,000–$50,000 $50,000–$500,000 Over $500,000 佣金费用 $30 + 1.7% $56 + 0.66% $76 + 0.34% $100 + 0.22% $155 + 0.11% $255 + 0.09%
25
switch 语句注意事项
为节省空间,可以把几个分支标号写在同一行: 为节省空间,可以把几个分支标号写在同一行
switch (grade) { case 4: case 3: case 2: case 1: printf("Passing"); break; case 0: printf("Failing"); break; default: printf("Illegal grade"); break; }
5
判等运算符
C 判等运算符 判等运算符:
== equal to != not equal to
返回0 (false) or 1 (true) 返回 判等运算符优先级低于关系运算符
i < j == j < k
相当于
(i < j) == (j < k)
6
逻辑运算符
逻辑与 && 逻辑或 || 逻辑非 !
X && Y X || Y
X
Y
X
Y
!X
X
逻辑运算符的含义
逻辑与 &&
(x>1)&&(y>1)
逻辑或 ||
(x>1)||(y>1)
逻辑非 !
(x>1)
!(x>1) 即 x<=1
逻辑运算符的功能
逻辑与 && 逻辑或 ||
a 假 假 真 真 b 假 真 假 真 a&&b 假 假 假 真 a||b 假 真 真 真
01.c
最低收费 $39.
18
条件表达式
条件运算符由符号? 条件运算符由符号 和符号 :组成 组成 ,是C运算符中唯一 运算符中唯一 的三元运算符 条件表达式: 条件)?表达式 条件)?表达式1:表达式2 条件表达式:(条件)?表达式 :表达式 读为:如果条件成立,那么表达式1,否则表达式2 条件成立 读为:如果条件成立,那么表达式 ,否则表达式 Example: int i, j, k; i j k k = = = = 1; 2; i > j ? i : j; /* k is now 2 */ (i >= 0 ? i : 0) + j;/* k is now 3 */
case 分支标号只是一个说明 分支标号只是一个说明switch 内部位置的标记 不要忘记用break 来跳出 来跳出switch语句 不要忘记用 语句 不要求一定有default 分支。 分支。 不要求一定有
26
中不使用break 在switch中不使用 中不使用
switch(表达式 表达式){ 表达式 case 常量表达式 :语句段 常量表达式1:语句段1; 常量表达式2:语句段2; case 常量表达式 :语句段 ....… case 常量表达式 :语句段 常量表达式n:语句段n; default : 语句段n+1; 语句段 }
19
条件表达式
条件表达式使程序更短小、清晰, 条件表达式使程序更短小、清晰,是重要 语言技巧. 的C语言技巧 语言技巧 经常在return语句中使用 语句中使用: 经常在return语句中使用:
return i > j ? i : j; 在 printf 等函数中使用
if (i > j) printf("%d\n", i); else printf("%d\n", j);
Chap 3 分支结构
语句
常见的C语句 常见的 语句: 语句
选择: if switch 循环: while, do, and for while do 跳转: break, continue, goto,return ,
语句: 其他 C 语句
复合语句{} 复合语句 空语句 ;
2
逻辑表达式
一些C语句需要检查表达式的值是 一些 语句需要检查表达式的值是 “true” or “false.” 如 if (i < j) ) 在其他编程语言里 会使用布尔类型或逻辑 类型 C的逻辑表达式只返回数字 0 (false) or 1 的逻辑表达式只返回数字: 的逻辑表达式只返回数字 (true).
逻辑非 !
!a 真 真 假 假
逻辑运算符
C 通过逻辑运算符构建复杂的逻辑表达式:
! && || logical negation logical and logical or
! 是一元运算符,&& 和 || 是二元运算符 是一元运算符, 是二元运算符. !优先级与正负号相同 优先级与正负号相同 && 和 ||的优先级低于关系运算符和判等运算符 的优先级低于关系运算符和判等运算符
的值为0,就执行else 语句 如( 表达式 ) 的值为 ,就执行 Example:
if (i > j) max = i; else max = j;
也可以缩进写为 if (i > j) max = i; else max = j;
15
else 子句
嵌套if 语句: 嵌套 语句
if (i > if (i max else max else if (j max else max j) > k) = i; = k;
switch语句 语句
语句来替代: 用 switch 语句来替代:
switch (grade) { case 4: printf("Excellent"); break; case 3: printf("Good"); break; case 2: printf("Average"); break; case 1: printf("Poor"); break; case 0: printf("Failing"); break; default: printf("Illegal grade"); break; }
10
if 语句
if 语句允许程序通过测试表达式的值从两种 选项中选择一种 if 语句的最简单格式
相关文档
最新文档