第4章顺序选择和循环

合集下载

VB第4章

VB第4章

数据输入输出
例1:MsgBox "请确认交易金额",33,"交易 确认"
例2:MsgBox "请确认交易金额",52,"交易 确认"
MsgBox按钮设置
分组
内部常数 VBOkOnly VBOkCancel VBAboutRetryIgnore VBYesNoCancel VBYesNo VBRetryCancel VBCritical
数据输入输出
1、标签和文本框 说明:标签利用它的Caption属性;文本框利 用它的Text属性。 例如: a%=Val(Text1) ’完成数据输入 c!=5/9*(a-32) Text2=c ’完成数据输出 Label1.Caption=3.14*r*r
数据输入输出
2、输入对话框InputBox函数 功能:打开一个对话框,等待用户输入,返回 字符串类型的输入值。 例: InputBox("请输入数值")
If 条件语句
2、双分支结构
形式: (1)If <表达式> Then <语句块1> Else <语句块2> End if
(2)If <表达式> Then
T 表达式 F
语句块 1
语句块 2
<语句1>
Else
<语句 2>
例:下列哪一段代码是正确的?
1) if a>1 then k=0 else k=1 2) if a>1 then k=0 end if 错误 3) if a>1 then k=0 else k=1
Visual Basic 程序设计教程
第四章 VB控制结构

计算机二级 C语言第四章-第五章

计算机二级 C语言第四章-第五章

逻辑或
逻辑非
“&&”和“ ||”是双目运算符 “!”是单目运算符
C语言程序设计
第五章 选择结构程序设计
逻辑运算真值表
a 真 b 真 !a 假 !b 假 a&&b 真 a||b 真
真 假 假
假 真 假
假 真 真
真 假 真
假 假 假
真 真 假
逻辑运算符的优先次序 !(非) , &&(与),
优先次序:高(2) 结合方向:从右向左 (11) 从左向右
4.00, c=
6.00 s=
6.50
C语言程序设计
第四章 顺序程序设计
例4.11 从键盘输入大写字母,用小写字母输出
#include "stdio.h" void main() { char c1,c2; c1=getchar(); printf("%c,%d\n",c1,c1); c2=c1+32; printf("%c,%d\n",c2,c2); }
值为0 值为1 值为1 值为1 值为1 //(5>3)&&2||(8<(4-(!0))) 值为1 值为1
C语言程序设计
第五章 选择结构程序设计
复杂逻辑条件的表述
判断某一年year是否为闰年
判别闰年的条件(int year): 能被4整除: year%4==0 能被4整除但不能被100整除: (year%4==0)&&(year%100!=0) 能被400整除: year%400==0 综合起来: ((year%4==0)&&(year%100!=0))||year%400==0 优化语句: 此表达式为真时是闰年 (year%4==0&&year%100!=0)||year%400==0

第四章 结构化程序设计的三种结构

第四章 结构化程序设计的三种结构

第四章结构化程序设计的三种结构4.1 顺序结构程序设计一、结构化程序设计的程序结构顺序结构、分支结构/选择结构、循环结构二、C语言语句1、9种控制语句2、表达式语句3、特殊语句三、格式化输出--printf()函数printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。

printf()函数的一般格式printf("格式字符串" [,输出项表]);1、"格式字符串"也称"转换控制字符串",可以包含三种字符(1)格式指示符。

格式指示符的一般形式如下:%[标志][宽度][.精度][F|N|h|L][类型]常用的标志字符如表3-1所示,常用的宽度指示符如表3-2所示,常用的精度指示符如表3-3所示,长度修饰符如表3-4所示,类型转换字符如表3-5所示。

(2)转义字符'\n'就是转义字符,输出时产生一个"换行"操作。

转义字符通常起控制作用(3)普通字符──除格式指示符和转义字符之外的其它字符。

格式字符串中的普通字符,原样输出。

例如printf("radius=%f\n", radius);语句中的"radius="是普通字符。

2.输出项表输出项表是可选的。

如果要输出的数据不止1个,相邻2个之间用逗号分开。

下面的printf()函数都是合法的:(1)printf("I am a student.\n");(2)printf("%d",3+2);(3)printf("a=%f b=%5d\n", a, a+3);必须强调:"格式字符串"中的格式指示符,必须与"输出项表"中、输出项的数据类型一致,否则会引起输出错误3、格式指示符输出不同类型的数据,要使用不同的类型转换字符。

第四章 发电厂的热力系统(第1--3节)

第四章    发电厂的热力系统(第1--3节)

3、工作过程:
(1)高压的排污水通过连续排污扩容器扩容蒸发,产 生品质较好的扩容蒸汽,回收部分工质和热量; (2)扩容器内尚未蒸发的、含盐浓度更高的排污水, 通过表面式排污水冷却器再回收部分热量。
4、锅炉连续排污利用系统(图4-2)
(a)单级扩容系统;(b)两级扩容系统
5、锅炉连续排污利用系统的平衡计算 扩容器的物质平衡: D bl D f D bl
减压至7#低加 轴封汽 减温器 至凝汽器
至5#低加抽汽
高压缸主汽门、调节汽门 中压缸主汽门、调节汽门
轴封加热器
凝结水
(三)辅助蒸汽系统
1、启动阶段: 将正在运行的相邻机组的蒸汽引入本机组的蒸汽 用户(若是首台机组启动则由启动锅炉供汽)。 2、正常运行: 提供自身辅助蒸汽用户的需要,同时也可向需要 蒸汽的相邻机组提供合格蒸汽 。 3、辅助蒸汽用汽原则: (1)尽可能用参数低的回热抽汽; (2)汽轮机启动和回热抽汽参数不能满足要求时, 要有备用汽源; (3)疏水一般应回收。
化学补充水引入回热系统(a)高参数热电厂补充水引 入系统;(b)中、低参数热电厂补充水的引入;(c) 高参数凝汽式电厂补充水的引入
二、工质回收及废热利用系统
工质回收的意义:回收发电厂排放、泄漏的工质和废
热,既是节能提高经济性和管理水平的一项重要工
作,同时对保护环境具有重要意义。
(一)汽包锅炉连续排污利用系统
1、汽包锅炉连续排污的目的:控制汽包内锅炉水水 质在允许范围内,从而保证锅炉蒸发出的蒸汽品质 合格。
2、汽包锅炉正常的排污率不得低于锅炉最大 连续蒸发量的0.3%,同时不宜超过锅炉额定 蒸发量的下列数值:
(1)以化学除盐水为补给水的凝汽式电厂为 1%; (2)以化学除盐水或蒸馏水为补给水的热电 厂为2%; (3)以化学除盐水为补给水的热电厂为5%。

第4章 C语言程序的基本控制结构

第4章 C语言程序的基本控制结构

#include<stdio.h> main() { int c1,c2; scanf("%c",&c); c1=c-1;c2=c+1; printf("%c%4c%4c\n",c1,c,c2); printf("%d%4d%4d\n",c1,c,c2); }
4.2 顺序结构
运行结果:
4.3选择结构
入口
入口
A 语句1 B

表达 式

条件 语句2 循环体
出口
图4.1 顺序结构
出口 出口
图4.2 选择(分支)结构 图4.3 循环结构
上述三种基本控制结构的共同特定是具有单入口和单出口。 还有一种goto语句,又叫转向语句,在本章的4.4.5小节中将会讲解到。 我们在编写程序时,力求使用前三种基本结构语句。
4.3选择结构
例4.3 幼儿园里三个小朋友站队要求小个站在前面,高个站在后面。 分析:我们可以把个子最小的小朋友放在a位置上,较高的小朋友放在b位 置上,个子最高的小朋友放在c位置上。输入三个数,a,b,c,要求按由小到 大的顺序输出。先比较a和b,若a大于b,则a与b对换,再比较a和c,若a 大于c,则a与c对换,这时a的值是最小的,最后比较b和c,若b大于c,则b 与c对换。这样操作之后就使a<b<c的关系成立。然后顺序输出a,b,c既可。
! 逻辑非,单目运算符,自右至左结合。其运算规则是:当 运算量为0,运算结果为1;反之,当运算量为1,运算结果为0。 && 逻辑与,双目运算符,自左至右结合。其运算规则是: 只有当运算符两边的运算量都是非0时,运算结果才为1,否则为0。 || 逻辑或,双目运算符,自左至右结合。其运算规则是:只 要运算符两边的运算量有一个为为非0,运算结果就为1。只有两 个运算量都为0,结果才是0。 这三个运算符的优先级,逻辑非!最高,逻辑与&&次之,逻 辑或||最低。!(逻辑非)的优先级高于算术运算符和关系运算符, 而&&(逻辑与)和||(逻辑或)的优先级低于算术运算符和关系运算符。 由 此可见: a>b&&c>d 相当于 (a>b)&&(c>d) a= =0||b= =0 相当于 (a= =0)||(b= =0) !a&&b= =c 相当于 (!a)&&(b= =c)

生理学血液循环选择题和判断题,带答案

生理学血液循环选择题和判断题,带答案

第四章血液循环一、选择题A1型题1 一个心动周期中,心室内容积最大的时期是: A.心房收缩期末 B.减慢充盈期末C.减慢射血期末 D.快速充盈期末 E 快速射血期末2在每一个心动周期中,左心室压力升高速度最快的是:A 心房收缩期B 等容收缩期C 快速射血期D 减慢射血期E 等容舒张期3心动周期中,在下列哪个时期主动脉压最低?A 等容收缩期末B 等容舒张期末C 减慢射血期末D 快速充盈期末E 减慢充盈期末4心室肌前负荷增加时,将出现 A 心室舒张末期室内压下降 B 心室收缩时最大张力下降C 心室开始收缩时的速度减慢D 心室收缩时达到最大张力的时间延迟E 心室收缩时最大张力增加5主动脉瓣关闭见于: A 快速射血期开始时 B 快速充盈期开始时 C 等容收缩期开始时D等容舒张期开始时E减慢充盈期开始时6心动周期中,心室血液充盈主要是由于:A.血液依赖地心引力而回流 B.骨骼肌的挤压作用加速静脉回流C心房收缩的挤压作用 D.心室舒张的抽吸作用E胸内负压促进静脉回流7心率过快时,心输出量减少的主要原因是: A 舒张期缩短 B 减慢充盈期缩短C等容收缩期缩短 D快速射血期缩短 E减慢射血期缩短8左心室的搏功比右心室的大,其主要原因是:A 每搏输出量不同 B 左、右心室血流容积速度不同C 体循环和肺循环的血流速度不同D 体循环和肺循环的动脉血压不同E 体循环和肺循环的血流途径长短不同9心室肌的前负荷可以用下列哪项来间接表示?A收缩末期容积或压力 B 舒张末期容积或压力C 等容收缩期容积或压力 D等容舒张期容积或压力E舒张末期动脉压10心室肌的后负荷是指 A心房压力 B大动脉血压C快速射血期心室内压D减慢射血期心室内压 E等容收缩期初心室内压11第一心音的产生主要是由于: A 半月瓣关闭 B 半月瓣开放 C 房室瓣开放D 房室瓣关闭E 心室射血入大动脉,引起动脉管壁振动12心室肌细胞动作电位平台期是下列哪些离子跨膜流动的综合结果?A Na+内流,Cl-外流B Na+内流,K+外流C Na+内流,Cl-内流D Ca2+内流,K+外流E K+内流,Ca2+外流13心肌不会产生强直收缩,其原因是: A 心肌是功能上的合胞体 B 心肌肌浆网不发达,Ca2+贮存少C 心肌的有效不应期特别长D 心肌有自律性,会自动节律收缩E 心肌呈“全或无”收缩14窦房结能成为心脏正常起搏点的原因是:A静息电位仅为-70mV B阈电位为-40mVC0期去极速度快 D动作电位没有明显的平台期 E4期电位去极速率快15房室延搁的生理意义是: A 使心室肌不会产生完全强直收缩 B 增强心肌收缩力C 使心室肌有效不应期延长 D使心房、心室不会同时收缩 E使心室肌动作电位幅度增加16心室肌细胞动作电位的特点是:A持续时间短 B 去极幅度小C复极速度与去极速度相等D升支与降支对称 E复极有平台期17下列关于窦房结细胞生物电活动特点的描述,不正确的是:A没有稳定的静息电位B0期去极化由Ca2+内流形成C没有明显的复极1期D有明显的平台期 E4期自动去极化主要由K+外流进行性减少所致18心脏内兴奋传导的顺序是:A 窦房结→房室交界→心房肌→心室肌B 窦房结→房室交界→心室肌→普肯耶纤维C 窦房结→心房肌→心室肌→普肯耶纤维D 窦房结→心房肌→左右束支→普肯耶纤维E 窦房结→心房肌→房室交界→房室束和左右束支→普肯耶纤维→心室肌19兴奋在心脏内传导速度最慢的部位是: A 窦房结 B 房室束 C 左右束支 D 普肯耶纤维 E 房室交界20维持动脉血压的相对稳定,主要靠的是:A颈动脉体和主动脉体的化学感受器反射B牵张反射C心、血管反射 D 颈动脉窦和主动脉弓压力感受性反射 E脑血管反射21在心肌的前负荷和收缩能力不变的情况下,增加后负荷可使:A 等容收缩期延长B 射血期延长C 等容舒张期延长D 心室充盈期延长E 每搏输出量增加22心肌的异长调节是指心脏每搏输出量取决于:A 平均动脉压高低B 心率贮备大小C 心力贮备大小D 心室收缩末期容积大小E 心室舒张末期容积大小23主动脉在维持舒张压中起重要作用,主要是由于主动脉:A.口径大 B.管壁厚 C.管壁有可扩张性和弹性 D.血流速度快 E.对血流的摩擦阻力小24在人体处于安静状态时,下列哪个器官的动脉血和静脉血含氧量差值最大?A.脑 B.心脏 C.肾脏 D.皮肤 E.骨骼肌25心室肌细胞与普肯耶细胞动作电位的主要区别是:A0期去极化的速度与幅度B1期复极化的速度C平台期受极化的机制 D3期复极化的机制 E4期自动去极化的有无26区分心肌快、慢反应细胞的依据是: A 静息电位的大小 B 0期去极化的速率C平台期的长短 D3期复极化的快慢 E4期自动去极化的速度27正常的心室功能曲线不出现明显降支,这是由于:A心肌细胞抵抗过度延伸能力强B 心肌肌浆网不发达C 心力贮备能力强D 心肌不会发生强直收缩E 心肌初长度与最适初长度距离大28正常心电图描述,错误的是:A.P波代表两心房去极化 B.S-T段表明心室各部位间没有电位差存在C.P-R间期表示兴奋从心房传到心室的时间D.QRS波代表两心室去极化E.心电图是心肌兴奋与收缩过程的反应29窦房结细胞的起搏活动是由于: A K+递减性外流 B Na+递增性内流C K+递减性外流与Na+和Ca2+递增性内流D Ca2+递增性内流E K+递减性外流与Ca2+递增性内流30下列关于心室肌细胞动作电位离子基础的叙述,哪一项是错误的?A0期主要是Na+内流 B 1期主要是Cl-内流 C 2期主要是Ca2+内流与K+外流D3期主要是K+外流 E 1期主要是K+外流31衡量心肌自律性高低的主要指标是:A动作电位的幅值B最大复极电位水平C4期膜电位自动去极化速率 D阈电位水平 E0期去极化速度32心室肌的有效不应期较长,一直持续到:A 收缩期开始B 收缩期中间C 舒张期早期后D 舒张中后期E 舒张期结束33心室肌有效不应期的长短主要取决于: A 动作电位0期去极的速度 B 动作电位2期的长短C 阈电位水平的高低D 动作电位3期的长短E 钠-钾泵功能34 室性期前收缩之后出现代偿性间歇的原因是: A 窦房结的节律性兴奋延迟发放B 窦房结少发放一次兴奋C 窦房结兴奋传出速度大大减慢D 室性期前收缩的有效不应期特别长E窦房结一次节律兴奋落在室性期前收缩的有效不应期内35在下述关于心肌传导性的描述中,哪一项是错误的? A 心肌细胞直径细小,传导速度慢B 动作电位幅度大,传导速度快C 动作电位0期去极速率慢,传导速度慢D 阈电位水平下移,传导速度快E 心肌处在超常期内,传导速度快36当血钾逐步升高时,心肌的兴奋性:A逐步升高 B逐步降低 C先升高后降低D先降低后升高E不变37轻度高血钾引起心肌兴奋性升高的原因是:A静息电位绝对值减小导致距阈电位水平的差距缩小B静息电位绝对值增大导致距阈电位水平的差距增大 C细胞膜对钾的通透性减小D细胞膜对钙的通透性增大 E细胞膜对钠的通透性增大38迷走神经末梢释放的乙酰胆碱可引起心率减慢是由于:A窦房结细胞对K+通透性降低B窦房结细胞对K+通透性增加 C窦房结细胞对Ca2+通透性增加D窦房结细胞对Na+通透性增加 E窦房结细胞对Cl-通透性增加39当血流通过下列哪一部位时,血压的降落最大?A 主A和大AB 小A和微AC 毛细血管D 微V和小VE 大V和腔V40老年人,主动脉弹性减退,并伴有小动脉硬化时,动脉血压的变化是:A收缩压降低,舒张压升高 B收缩压升高,舒张压降低C收缩压升高,舒张压升高 D收缩压变化不大,舒张压升高E收缩压升高,舒张压变化不大41 阻力血管主要是指: A 大动脉 B 小动脉及微动脉 C 毛细血管 D 小静脉 E 大静脉42老年人的脉压比年轻人大,这主要是由于: A 老年人的心输出量较小 B 老年人的循环血量较少C老年人的主动脉和大动脉弹性降低 D 老年人的小动脉硬化 E 老年人的血液粘滞性高43静脉系统成为外周的血液贮存库,主要是由于:A静脉管壁有可扩张性 B 静脉管壁平滑肌少 C 许多静脉位于皮下组织中D静脉系统的容积大 E静脉血液的氧饱和度低44迷走神经对心脏的作用是:A 心率减慢,传导加快,而不应期缩短 B 心率减慢,传导慢,而不应期延长C 心率减慢,传导慢,而不应期缩短D 心率快,传导慢,而不应期缩短E 心率快,传导加快,而不应期缩短45肺循环和体循环有相同的: A 收缩压 B 脉压 C 每搏输出量 D 外周阻力 E 舒张压46组织液生成主要取决于:A毛细血管血压 B有效滤过压C血浆液体渗透压 D血浆晶体渗透压E组织液静水压47生理情况下,人的中心静脉压升高时见于: A.心脏射血能力加强B.体位由直立变为平卧C.从卧位改为站立D.由吸气相改为呼气相 E.长时间座着48下列关于中心静脉压的叙述,哪一项是错误的?A 是指胸腔大静脉和右心房的血压B 心脏射血能力减弱时,中心静脉压较低C 其正常变动范围为0.4~1.2kPa(4~12cmH2O)D 是反映心血管功能状态的一个指标E 外周静脉广泛收缩时中心静脉压升高49关于减压反射,下列哪一项是错误的? A 也称为颈动脉窦和主动脉弓压力感受性反射 B 是一种负反馈调节机制C 对搏动性的压力变化更加敏感 D在平时安静状态下不起作用 E 当动脉压突然升高时,反射活动加强,导致血压回降50下列物质中不能引起血管平滑肌舒张的是:A 局部代谢产物B 缓激肽C 血管活性肠肽D 乙酰胆碱酯酶E 前列腺素I251、给家兔静脉小剂量的肾上腺素后,心率增快,心缩力增强,但平均动脉压变化不大,这是因为肾上腺素A.强列兴奋降压反射B.通过β受体扩张全身血管C.通过β受体扩张骨骼肌血管D.无缩血管效应E.不影响血管收缩52.在肾上腺素作用下,心室功能曲线向哪个方向移位?A 正上方B 左上方C 左下方D 右上方E 右下方53.下列哪一种情况可使心输出量减少? A 阻断心脏迷走神经的传导 B 刺激心脏的交感神经C 颈动脉窦内压力降低D 心舒张末期容积增加E 由平卧转为站立54 当每博输出量和外周阻力不变时,心率降低可引起下列哪一项增加?A 动脉收缩压B 动脉舒张压C 动脉平均压D 动脉脉博压E 心输出量55.成人每天的淋巴流量大约: A 20-40L B 2-4L C 200-400ml D 20-40ml E 2-4ml56.急性失血时,交感神经的调节作用可引起的变化,除什么以外A. 阻力血管收缩B. 容量血管收缩C. 心率加快D. 心输出量增加 E.BP不会增加57.交感神经兴奋时出现: A.瞳孔缩小 B.骨骼肌血管舒张C.消化道括约肌舒张 D.逼尿肌收缩 E.支气管平滑肌收缩[B1型题]A窦房结 B心房肌 C房室交界 D普肯野纤维 E房室束1、自律性最高的部位是2、传导速度最慢的部位是3、传导速度最快的部位是A 血浆胶体渗透压降低B 毛细血管血压升高C 组织液静水压降低D组织液胶体渗透压降低 E 毛细血管,微静脉管壁通透性增加4、重度营养不良引起水肿的主要原因是5、右心衰引起水肿的原因是6、过敏性反应组织水肿的原因是A.只有传导性而无自律性、传导速度很慢 B.只有自律性而无传导性C.既有自律性也有传导性、传导速度较慢 D.既有自律性也有传导性、传导速度较快E.即有律性也有传导性、自律性较高。

第04章三种基本控制结构(上)--2012年12月


二、算法的表示方法
自然语言
(通俗易懂, 文字冗长, 容易有“歧义性”)
流程图
(灵活, 自由, 形象, 直观, 易理解, 占篇幅大)
N-S图
(新型流程图, 简洁)
伪代码
(介于自然语言和计算机语言之间, 中英文皆可,格式 自由, 易修改, 不直观, 不容易发现逻辑错误)
计算机语言
(用计算机实现算法, 可以执行出结果, 比如 C 语言)
1. d ( i ) 格式符:输出十进制有符号整数。
格式
功能
%d
按十进制整型数据格式和数据的实际长度输出
%ld
按长整型数据格式和数据的实际长度输出
%hd
按短整型数据格式和数据的实际长度输出
%(-)md m指定输出字段的宽度。如果十进制数据的位数 %(-)mld 小于m,则左端补空格(若m前面有负号,则右端 %(-)mhd 补空格);否则按实际长度输出
%(-)mu m指定输出字段的宽度。如果无符号数据的位数小 %(-)mlu 于m,则左端补空格(若m前面有负号,则右端补空 %(-)mhu 格);否则按实际长度输出
【例3.8】将整型变量按照指定无符号格式输出。
#include <stdio.h> int main( ) {
int a = -1; printf("<按无符号格式输出:%u>\n",a); printf("<按无符号格式输出:%-8lu>\n",a); printf("<按无符号格式输出:%8hu>\n",a);
程序=算法+数据结构+程序设计方法+语言
环境
灵 加工 结构化程序设计

第4章VisualBasic程序控制结构

Private Sub Form_Click() Dim L As Single, s As Single,v As Single r = 1.8: h = 4 Const pi = 3.14159 L = 2 * pi * r s = pi * r * r v=s*h Print "圆周长="; Format(L, "0.000") Print "圆面积="; Format(s, "#.###") Print "圆柱的体积="; Format(v, "#.###") End Sub
4.1.3注释语句
为了提高程序的可读性,通常应在程序的适当位置加上必要的注释,
Visual Basic中的注释是“Rem”或“’”,一般格式为:
Rem

例如:Rem 交换变量a和b的值
c = a ´c
a = b:b = c
说明:
注释语句是非执行语句,仅对程序的有关内容起注释作用,它不
被解释和编译,但在程序清单中能被完整地列出。
赋值语句是在任何程序设计中最基本、最常用的语句。 它的作用是把计算右边表达式的运算结果赋值给左端的变量,Visual Basic使用赋值号“=”来赋值。
格式: [Let] 变量名=表达式 [Let] [<对象名.>]<属性名>=<表达式> 其中:Let表示赋值语句的关键字,通常可以省略。 功能:赋值语句具有计算和赋值的双重功能,它首先计算右端 的表达式,并把结果赋值给左边的变量,Visual Basic使用赋值号“=” 来赋值。 表达式:其类型应与变量名的类型一致,即同时为数值型或同 时为字符型等等。当两边同为数值型,但精度不同时,强制转换成 左边的精度,然后赋值。

第04章 分支结构


第 4 章
分支结构
该程序执行的过程是: 判断商品数量,
数量大于等于50,执行语句A;
数量小于50,执行语句B。 你能画出这个程序的流程图吗?
第 4 章
【注意】
分支结构
(1)if后面的<表达式>一定要有括号。
(2)if和else同属于一个if语句,程序中不可以没有if而
只有else。 (3)if子句与else子句不可能同时执行。 (4) if语句中的各子句必须用分号结束,若子句是由多 个语句组成,必须写成复合语句(用{ }括住),“}”
分支结构
( x 0) ( x 0) ( x 0)
/*不嵌套的if 语句*/ if (x<0) y= -1; if (x= =0) y=0; if (x>0) y=1;
第 4 章
注:
分支结构
1) 复合语句本身是一个完整的语句,它不以 分号作为结束符。“}”后加了分号相当于多 了一个空语句。对这种情况,有时对程序 流程没有影响,但有时会改变程序流程。
2) 复合语句内通常有多个语句,但它整体上 是作为一个语句看待。
3) 在程序中凡是可以出现语句的地方都可以 使用复合语句。它通常出现在控制语句 (选择、循环)中作为子句或循环体。
后不能再加“;”
(5)if语句的表达式可以是任意类型的C语言的合法表 达式,其值为表示“假”,其值为非0时表示
第 4 章
例1:
分支结构
if (a>b) printf(“%d\n”,a); printf(“%d\n”,b); 不同于 if (a>b) {printf(“%d\n”,a); printf(“%d\n”,b);}
第 4 章
运行结果:

结构化程序—顺序结构、选择结构和循环结构

if语句的三种形式 形式一: 格式:if (expression) statement 执行过程:
expr 非0 statement =0
例:if (x>y) 形式二: 非0 printf(“%d”,x); 格式:if (expression) statement1 statement1 else statement2 执行过程: 例:if (x>y) max=x; else max=y;
结构化程序
§考察的知识点:
§TOP1: 赋值表达式与赋值语句 §TOP2: 关系运算 §TOP3: 逻辑运算 §TOP4: 条件表达式及其构成的选择结构 §TOP5: if语句 §TOP6: switch语句 §TOP7: while语句 §TOP8: do while循环结构 §TOP9: for语句的一般形式 §TOP10: for语句表达式的省略及其特点 §TOP11: 嵌套循环结构 §TOP12: break在循环结构中的应用 §TOP13: continue在循环结构中的应用
C程序流程设计
§1 C语句概述
C语句:以“;”作分隔符,编译后产生机器指令. C语句分类
表达式语句:表达式加分号构成。 分支 如 total=total+limit; 空语句: ; a=3; 程序控制语句(9种): func( ); 循环 printf(“Hello,world!\n”);
内嵌if
if (expr1) if (expr2) else else if(expr3) else
statement1 statement2 内嵌if statement3 内嵌if statement4
例 输入两数并判断其大小关系
#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"); }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.1.6 if和if…else的嵌套
• 例4.7:if嵌套语句 • if (itemsSold > 3) • if ( totalValue > 1000) • bonus = 50;
4.2 特殊运算符、开关语句和优先级
4.2.1 AND和OR运算符 AND运算符写为“&&” OR运算符写为“||”பைடு நூலகம்
4.1.5复合语句
• 例4.4:控制多个语句的if语句 • If (hoursWorked >40) •{ • regularPay=40*rate; • overTimePay=(hours-40)*1.5*rate; • //超时部分乘以1.5 • System.out.println(“Regualr Pay is”+ regualrPay); • System.out.println(“Overtime pay is”+ overTimePay); • }// if 结构到此结束
4.1.4 if…else 结构
• 例4.3: if…else语句 if (userResponse==‘Y’)
System.out.println(“The value of someVariable is”+someVariable); else System.out.println(“Too bad.”);
}
4.2.3 条件运算符
• 条件运算符的语法是testExpression(测试表达 式)?ture Result(表达式为true的结果): false Result(表达式为false的结果)
• 第一个表达式testExpression(测试表达式)是一 个求true或false的布尔表达式。如果它为true,整 个条件表达式将取冒号之前的表达式的值 (trueResult)。如果表达式的值是false,整个 表达式将取冒号之后的表达式的值 (falseResult)。
•{
• int v=4
• int plusPlusV=++v;

v=4;

int vPlusPlus =v++;
• System .out .println(“v is ”+v);
• System .out .println(“++v is ”+ plusPlusV);
• System .out .println(“v++ is ” + vPlusPlus);
第4章 顺序、选择和循环
第4章 顺序、选择和循环
• 4.1 输入和判定
• 4.1.1 简单的键盘输入
例4.1: DemoInput程序。 public class DemoIuput {
public static void main(String[] args) throws Exception {
例4.8 AND运算符 If (itemsSold>4&&totalValue>1000)
bonus=50; 注意:在&&运算符两端必须是一个完整的布尔表达式 if(saleAmount>1000&&<5000)…是不正确的将不会被编译
4.2.1 AND和OR运算符
例 4.9 使用2个if语句和OR运算符的代码 //使用2个if if(itemsSold>100) bonus=200; else if(totalValue>4000) bonus=200; //使用OR运算符 if(itemsSold>100||totalValue>4000) bonus=200;
4.2.2 开关语句
switch结构使用四种新的关键字: (1)用关键字switch开头并在它后面紧跟一个括在圆括号中
的测试表达式。 (2)关键字case后面跟一个测试表达式可能的值以及一个冒
号。 (4) 每个case语句末尾的关键字break可以随意地终止一个
switch结构。 (4)
当 测 试 变 量 与 任 何 case 都 不 匹 配 时 , 执 行 关 键 字 default后面的操作。 注意:不需要像下面这样按升序排列case的值。把最常用的 case而不是最小的值放在最前面是最有效的。 例如:例4.14显示的是用case结构打印四个年级。
4.2.5 优先级
(1) 操作符的顺序不同将导致结果不同。 (2)可以用圆括号来改变优先级或使你的意
图更明确。
4.3 循环和简捷运算
4.3.1 while循环 • 例4.16: 一个无限循环 • While (4>2) • System.out.println(“Hello”); • 为了防止while循环无限执行,应该采取以下三个措
例如:biggerNum=(a>b)? a:b;比较表达 式a>b。如果a大于b,那么表达式取值a赋给 biggerNum,如果a小于等于b,那么表达式 取值b赋给biggerNum。
4.2.4 NOT运算符
使用NOT运算符可以给任何布尔表达式的值取 反,写为 “!”。
通过NOT运算符处理之后任何为true的表达式 将变为false,并且任何为false的表达式 将变成true。
4.2.4 条件运算符
Java不只提供了一种方式来作判定。条件运 算符需要三个表达式分别用一个问号和一 个冒号隔开,并且它用作if…else结构的 缩写版。如果用switch结构,没有必要使 用条件运算符。条件运算符的语法是 testExpression(测试表达式)?ture Result(表达式为true的结果):false Result(表达式为false的结果);
• 例4.2:存储用户的响应。 • char userResponse; • int someVariable=512; • System.out.println(“Do you want to see the value of
someVariable?”); • System.out.println(“Enter Y for yes or N for no”); • char userResponse=(char)System.in.read();
施: • 某些循环控制变量要初始化。 • 在while语句里测试循环控制变量。 • While语句的循环体中必须写一些语句来修改循环
控制变量的值。
4.3.2简捷算术运算符
• 例4.21:演示前缀和后缀增量运算符的作用。

public class DemoIncrement
•{
• public static void main (String [] args ) throws Exception
Char userInput; System.out.println(“please enter a character”); userInput=(char)System.in.read(); System.out.printIn(“You entered”+userInput); } }
4.1.2 绘制流程图
例4.14 case 结构示例 switch(year) { case 1: System.out.println(“Freshman”); Break; case 2: System.out.println(“Sophomore”); Break; case 4: System.out.println(“Junior”); Break; case 4: System.out.println(“Senior”); Break; Default: System.out.println(“Invalid year”);
•}
•}
4.3.3 For 循环
• 例4.23用 for循环打印从1到10的整数 • for(int val=1;val<11;++val) •{ • System.out.println(val); •}
4.3.4 Do…while循环
• 例4.25:用do…while循环做的银行余额程序的一部分 • System.in.read(); //absorbs enter key • Do •{ • System.out.println(“bank balance is”+bankBal); • bankBal=bankBal+bankBal*intRate; • System.out.println • (“do you want to see next year’s balance? Y or N”); • response=(char)System.in.read(); • }while (response= =”Y”);
•{
• System.out.print(testNum +” is evenly divisible by”);
• for(num=1;num<testNum;++num)

if (testNum%num= =0)
• System.out.print(num+ “ ”);
• //打印这个数以及2个空格
• 流程图用框图的形式写出步骤,并用箭头 连接这些框图
Wash car
Looklike rain
Study for test
Test cancelled
Still speaking to Mom
Buy birthday gift for Mom
4.1.3 用if判定
• if语句可以用来作判定。例如:可以在变量someVariable 中存储一个整型值。然后当用户需要时显示这个变量的值。 如例4.2所示,可以提示用户输入Y或N(代表“Yes”或 “No”)并把用户的响应存储到一个字符型变量。
相关文档
最新文档