第5章 选择结构程序设计1

合集下载

大学计算机基础第5章

大学计算机基础第5章

时期 阶段
任务
文档
需求分析 系统的目标及应完成的工作 需求规格说明书
开发
总体设计 软件设计
详细设计 软件编码 编写程序代码
总体设计说明书 详细设计说明书 程序、数据注释
黑盒测试、白盒测试、单元 测试后的软件、
软件测试 测试、集成测试、确认测试、大纲、方案与结
系统测试

运行 软件维护 运行和维护
维护后的软件
1)软件生命周期模型:是描述软件开发过程 中各种活动如何执行的模型。 2)常见的软件生命周期模型有:瀑布模型、 增量模型、螺旋模型、喷泉模型、变换模型及 基于知识的模型等。
上图是软件生存周期的瀑布模型。
5、软件工具与软件开发环境
软件工具:就是帮助开发软件的软件。 软件开发环境(或称软件工程环境):是全面支 持软件开发全过程的软件工具的集合,这些软 件工具按照一定的方法和模式组合起来,共同 支持软件生命周期内的各个阶段和各项任务的 完成。
结构化方法的软件开发过程
软件计划后 结构化分析
结构化设计
编码并测试 结构化程序设计
面向对象方法的软件开发过程
软件计划后 面向对象分析
面向对象设计
软件测试 面向对象编程
1、结构化分析方法
1)结构化分析(简称SA)方法是面向数据流 进行需求分析的方法。该方法使用简单易读 的符号,运用抽象的概念模型,根据软件内 部数据传递、变换的关系,自顶向下逐层分 解,描绘出满足功能要求的软件模型
DFD图的数据流可分为两种类型:变换流和事务流 变换流:信息沿着输入通路进入系统,同时将信息的外
部形式转换成内部形式,通过变换中心处理之 后,再沿着输出通路转换成外部形式输出 事务流:信息沿着输入通路到达一个事务中心,事务中 心根据输入信息的类型在若干个动作序列中选 择一个来执行,这种信息流称为事务流

第5章 选择结构程序设计

第5章 选择结构程序设计

通过例5.4和5.5,会注意到:无论是块If单分支结构还是块If双分支结构,均 把程序执行过程分为满足条件的一支和不满足条件的另一支,但在应用中会遇 到类似下面的问题或更复杂的情况,例如,分段函数: x2 1 x>0 y 0 x=0 2 x<0 x 1
自变量x的取值分为三种情况,对应函数y有不同的计算表达式。此类问题 可以使用三个块IF单分支结构完成;也可以使用块IF双分支结构。若采用前 者,读者可仿照例5.4完成;若采用后者,可先把x的取值分为“等于0”和 “不等于0”两种情况,再把“不等于0”这种情况分成“大于0”和“小于0”两种 情况,代码如下: Dim x As Single, y As Single x = Val(InputBox("请输入变量的值")) If x <> 0 Then If x > 0 Then ' 不等于0的情况之一 y=x^2+1 Else ' 不等于0的情况之二 y=x^2-1 End If
2 2
Dim x As Single, y As Single ' 声明x,y为单精度变量 x = Val(InputBox("请输入变量的值")) ' 输入x的值 If x >= 0 Then ' x>=0时计算y y=x^2+1 End If If x < 0 Then ' x<0时计算y y=x^2-1 End If Print "x="; x, "y="; y 该代码段根据x取值的两种情况,分别计算出相应的y值,一个单分支If 结构完成一种情况的计算,因此结构简单,容易理解,但程序不够简练。

语句组1

机器人程序设计(C语言)(第2版)章节练习题及参考答案

机器人程序设计(C语言)(第2版)章节练习题及参考答案

第一章一种新的C语言学习方式1.一台能够工作的计算机包括?CPU (Central Processing Unit,中央处理单元,进行运算和控制,包括运算器和控制器等)、存储器(如RAM、ROM等)、输入设备、输出设备(包括串行/并行接口、USB等)。

其中,RAM (RandomAccess Memory,随机存储器)主要用于存储数据,ROM (RcadOnlyMemory, 只读存储器)主要用于存储程序。

2.单片机工作时需要什么?需要稳定的电源、晶振、外部存储器和编程调试接口,就像计算机工作时需要电源、晶振、硬盘或其他大容量外部存储器和操作系统一样。

微控制器是将单片机独立工作所需的电源适配器、晶振、外部存储器和串口转换电路等封装到一个模块上,这样就能直接与计算机连接并进行编程开发,不需任何其他芯片和电路。

3. AT89S52是一种什么样的单片机?是一种高性能、低功耗的8位单片机,内含8 KBISPdn-System Programmable系统在线编程)可反复擦写IOOO次的Flash只读程存器,采用ATMEL公司的高密度非易失性存储技术制造,兼容标准MCS51指令系统及其引脚结构。

在实际工程应用中,功能强大的AT89S52 已成为许多高性价比嵌入式控制应用系统的解决方案。

4. Progisp是一款什么样的软件?是一款免费下载的ISP软件,不需要专门的安装即可使用,非常方便。

使用该软件,读者可以将C语言程序生成的可执行文件下载到机器人单片机上。

使用时需要1根USBA转B 信号线。

5.简述串口调试工具的特点。

串口调试工具就是串行通信接口调试软件,集数据发送、数据接收、数据监控、数据分析等功能于一身,具有小巧精致、操作简捷、功能强大的特点,可以在串口通信监控、设备通信测试工作中有效提高效率。

6. pr i ntf ()函数称为?称为格式输出函数,其功能是按用户指定的格式,把指定的数据输出显示。

Print ()函数是C语言提供的标准输出函数,定义在C语言的标准函数库中,要使用它,必须包括定义标准函数库的头文件stdio. h o第二章最简单的C程序设计——机器人做算数1. C语言用什么整型变量?C语言用关键字imt定义整型变量。

c语言(第五章选择结构) c语言 教学课件

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

c语言选择结构教案

c语言选择结构教案

输出y的值
3、if语句
if语句的三种形式:单分支选择if语句、双分支 选择if语句、多分支选择if语句。 1)单分支选择if语句 语句形式: if (表达式) 语句; 例:if(x>y)printf(“%d”,x); 语句执行流程: 假(0) 表达式 真(非0) 语句
例5.1:从键盘输入两个数a 和b,按代数值由小到大的 顺序输出这两个数。 #include <stdio.h> main() {float a,b,t; scanf("%f,%f",&a,&b); if(a>b) {t=a;a=b;b=t;} printf("%5.2f,%5.2f\n",a,b); }
作业: P112 3, 3 ,4
注意: (1)当if语句中出现多个“if”与“else”的时 候,要特别注意它们之间的匹配关系,否则就 可能导致程序逻辑错误。“else”与“if”的匹配 原则是“就近一致原则”,即“else”总是与它 前面最近的“if”相匹配。 (2)if语句中条件的写法应尽量简单。
小结:
if语句的三种格式及其各自的执行流程 if语句的三种格式及其各自的执行流程
2)、双分支选择if语句 语句形式: if (表达式)语句1; else 语句2 ; 例:If(x>y) printf(“%d”,x); else printf(“%d”,y); 假(0) 表达式
真(非0)
语句执行流程:
语句1
语句2
例:输入三角形的三个边长,求出三角形的面积。 #include “math.h” main() { float a,b,c; float s; /*s为三角形的半周长*/ printf(“请输入三角形的三边a,b,c:”); scanf(“%f%f%f”,&a,&b,&c); if (a+b>c&&a+c>b&&b+c>a) /*判断输入的a,b,c能否构成三角形*/ {s=(a+b+c)/2.0; /*求出三角形的半周长*/ printf(“三角形周长s=%f”,s);} else printf(“不能构成三角形\n”); }

C语言第五章

C语言第五章
T t=a a=b 开始 输入a,b a>b
学习提示: (1)算法包括输入、处理和输出三个部分 ,其中处理部分为选择结构。
b=t
F
输出a,b 结束
5
信息科学与技术学院 软件工程系
选择结构算法设计
South West Jiaotong University
【例5. 1】输入a、b值,如果a>b,那么交换a和b,使得a≤b。 解决该问题的主要步骤为: 开始
17
信息科学与技术学院 软件工程系
关系运算符和关系表达式
【例】编写以下程序,查看结果。 #include <stdio.h> void main() { int a,b,c; int d,e,f; a=4,b=5,c=6; d=a>b; e=a<b<c; f=c>b>a; printf("%d %d %d \n",d,e,f); }
South West Jiaotong University
20
信息科学与技术学院 软件工程系
逻辑运算符- 优先级
• 各类运算符的优先级关系:
South West Jiaotong University
– !(非)高于 &&(与) 高于 ||(或)。 – &&(与)和||(或)低于关系运算符 – !(非)高于 算术运算符
1)任何数值(字符、整数、实数、指针)都可以表示 逻辑意义,只要数值不等于0,就表示“真”,而0 表示“假”;
2)关系与逻辑运算表达式的运算结果为“真”,表达 式的值为int型整数1,运算结果为“假”,则表达 式的值为int型整数0。
由2)可知,C语言的关系运算表达式和逻辑运算表 达式应该属于整型表达式范畴。

C语言课件 第5章

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

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch 语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include <stdio.h>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。

第五章选择结构程序设计练习含答案v1

第五章选择结构程序设计练习含答案v1

第五章选择结构程序设计5.1选择题【题 5.4 】能正确表示“当x 的取值在[ 1, 10]和[ 200, 210]范围内为真,否则为假”的表达式是。

CA) (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B) (x>=1)||(x<=10)||(x>=200)||(x<=210)C) (x>=1)&&(x<=10)||(x>=200)&&(x<=210)D) (x>=1)||(x<=10)&&(x>=200)||(x<=210)【题 5.5 】表示图中坐标轴上阴影部分的正确表达式是。

C////////////////Xa b cA) (x<=a)&&(x>=b)&&(x<=c)B) (x<=a)||(b<=x<=c)C) (x<=a)||(x>=b)&&(x<=c)D) (x<=a)&&(b<=x<=c)【题 5.6 】判断 char 型变量 ch 是否为大写字母的正确表达式是。

CA)‘ A’ <=ch<=‘ Z’B) (ch>= ‘ A’ )&(ch<= ‘Z’ )C) (ch>= ‘ A’ )&&(ch<= ‘ Z’ )D) ( ‘A’ <=ch)AND(‘ Z’>=ch)【题 5.10 】设有: int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a>b)&&(n=c>d) 后 n 的值为。

BA)1B)2C)3D)4【题 5.11 】判断 char 型变量 c1 是否为小写字母的正确表达式是。

北京航空航天大学C语言c第三讲(第五章) 选择结构程序设计

北京航空航天大学C语言c第三讲(第五章) 选择结构程序设计

if (money>=500) cost=0.8; else if (money>=300) cost=0.85; else if (money>=100) cost=0.9 else if (money>=50) cost=0.95; else cost=1.0; price=money*cost;
高 低
3,优先级 <,<=,>,>= 为同一级别,== 和!= 为同一级别. 在同一级别中,采取由左至右的结合方向.
算术运算符 -> 关系运算符 -> 赋值运算符
4,关系表达式
用关系运算符将两个表达式连接起来叫关 系表达式。 例:关系运算的优先级举例
c>a+b a>b!=c a==b<c a=b>c
if (表达式) 语句1 else 语句2
说明: (1)表达式是指关系表达式或逻辑表达式,条
件满足指的是表达式的值为真,即表达式的 值是一个非0值。 例如: if (3) printf(“O.K”); 输出O.K(永真) if („a‟) printf(“%d”,„a‟); 输出97 (永真) if (0) printf(“false”); 不执行printf语句(永假)
能被4整除,但不能被100整除; 能被400整除。
用year表示年份,判断闰年的逻辑表达式为: (year%4==0 && year%100 != 0)||(year % 400 ==0)
如果给year输入一个的值,使上面的表达式的值为1
时,则year所代表的年份就是闰年。
• 课堂练习: 写出逻辑表达式。 10 1. 判断一个点是否 10 -10 落入圆形中 2. 求落入阴影部 -10 分的任意一点 x*x+y*y<=100 (小园的半径为1.)

c程序设计 第5章 选择结构程序设计

c程序设计 第5章 选择结构程序设计

5.2
逻辑运算符和逻辑表达式
用逻辑运算符将关系表达式或逻辑量连接 起来的式子就是逻辑表达式。 ! 高 算术运算
a b !a
关系运算
a&&b
&&
真 真 真 假
逻辑 运算 真值 表
|| 低
a||b
真 真 假 假
ቤተ መጻሕፍቲ ባይዱ
真 假 真 假
假 假 真 真
真 假 假 假
例如:
(a>b) && (x>y) 可写成 a>b && x>y
Turbo c菜单介绍(Alt+首字符)
Edit (编辑)、 Compile (编译) 、 Project (工程) 、 Options (选项) 、 Debug (调试) 、 Break/Watch (中断 /查看) 、Run菜单(运行) Run Ctrl+F9 编译、连接、运行C源程序 Program reset Ctrl+F2 重新编译、连接、运行C源程 序
第5章
选择结构程序设计
重点: 如何实现程序中选择结构? 关系运算符和关系表达式 逻辑运算符和逻辑表达式 if语句和switch语句
5.1 关系运算符和关系表达式
关系运算===比较运算。结果为真或假(0或 非零)。 一、运算符与优先级 (左结合性)
< 高 高 <= 同级 > >= == != 同级 低
else if(number>100) cost=0.075;
else if(number>50) cost=0.05;
else cost=0;
例5.1 从键盘输入两个整型数,输出最大数。
开 始 main() { int a ,b ; scanf(“%d,%d”,&a,&b); if(a>b) printf(“max=%d\n”,a); if(b>a) printf(“max=%d\n”,b); } end a<b b a,b a>b a

第五章用C语言进行结构化程序设计

第五章用C语言进行结构化程序设计
第五章 用C语言进行结构化程序设计
顺序结构的程序设计 选择结构程序 循环控制 几种循环控制结构程序设计 break语句和continue语句
共 37页
第 1 页
5.1 顺序结构的程序设计
int main(void ) 顺序结构是结构化程序的基 { 本结构。本质上,问题求解过 int nA,nB,nC; 程都是顺序结构的。顺序结构 nA=5; 下程序将按照语句或模块出现 nB=6; 的先后依次执行,语句和语句 nC=nA+nB; 之间、模块和模块之间的先后 printf("nC is %d",nC); 决定了其执行的顺序。 return 0; 每一个模块都有一个数据入 } /*End of main()*/ 口和一个数据出口。
共 37页 第 7 页
选择结构分类
自然语言:如果… 那么… yes 二分支选择结构 P 否则… C语言: 选择(分支)语句 A 用什么语 句实现? no
yes
P
no
B
k
A
B
k=k1
多分支选择结构
A1
k=k2 A2
k=ki
...
k=kn
...
Ai
An
共 37页
第 8 页
用if语句设计选择结构程序
共 37页 第 12 页
2. 标准格式if…else…
if •格式: (表达式) •功能:表达式值非0时执行语句 (1)语句组3不属于if语句的语句组。它 { 组1,否则执行语句组2。 只有在语句组1或语句组2执行完后 语句组1 } 才可能被执行; …… 语句组1 else (2)语句组1或语句组2只有1条语句时 { if (nScore>60) 语句组2 ,对应的花括号对可以省略。 printf("及格\n"); } 语句组2 语句组3 else 条件? Yes No 语句组1 语句组2

C语言第五章 选择结构程序设计(习题册答案)

C语言第五章 选择结构程序设计(习题册答案)

6、设 x、y 和 z 是 int 型变量,且 x=3,y=4,z=5,则下面表达式中值为 0 的是( D
A)‘x’&&‘y’
B) x<=y C) x||y+z&&y-z
D) !((x<y)&&!z||1)
7、已知 x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是( C )。
达式是( C )。
A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300) B) (x>=1)||(x<=100)||(x>=200)||(x<=300) C) (x>=1)&&(x<=100)||(x>=200)&&(x<=300)
D) (x>=1)||(x<=100)&&(x>=200)||(x<=300)
A)有语法错不能通过编译
B)可以通过编译但不能通过连接
C)输出***
D)输出$$$
三、写出下列程序的运行结果
1、若运行时输入:2<回车>,则以下程序的运行结果是 2nd class postage is 14p
#include <stdio.h>
void main(void) {
char Class; printf(“Enter 1 for 1st class post or 2 for 2nd post”); scanf(“%c”,&Class);

VF第5章

VF第5章

属性值 关闭(\<Q) 0–左 * 请输入您的口令:
说明 按钮的标题 标签的内容 文本对齐方式 只显示设定的符号:* 文本初值为空字符串 容器控件中的标签
编写程序代码. ③ 编写程序代码. 编写关闭按钮Command1的Click事件代码: 事件代码: 编写关闭按钮 的 事件代码 THISFORM.Release 编写Text1的Valid事件代码: 事件代码: 编写 的 事件代码 mand1.TabStop = .F. a = LOWER(THIS.Value) IF a= "abcd " bel1.Top = THIS.Parent.Top bel1.Caption="欢迎使用本程序!" 欢迎使用本程序! 欢迎使用本程序
所示). 【例5-3】求函数值(如图 所示). 】求函数值(如图5-4所示 输入x,计算y的值 其中: 的值, 输入 ,计算 的值,其中:
4 x ( x ≥ 0) y= 15 2 x ( x < 0)
根据以上分析,画出流程图,如图5-5所示.
输入x 如果x >= 0 真 假 输出y y←4*x y ← 15 – 2 * x {x >= 0时的y值} {x < 0时的y值} {输出y的值} {给出x的值}
第5章 选择结构程序设计 章
5.1 条件表达式 5.2 条件选择语句 5.3 提供简单选择的控件 5.4 计时器与微调器 5.5 键盘事件
5.1 条件表达式
5.1.1 关系运算符与关系表达式 VFP提供的关系运算符有 种,见表 . 提供的关系运算符有8种 见表5-1. 提供的关系运算符有
运算符 < <= > >= = <>,#,!= $ == 名称 小于 小于或等于 大于 大于或等于 等于 不等于 包含于 等同于 "Fox" $ "FoxPro" 值为:.T. 例子 3<4 4 <= 3 0>1 "aa" >= "ab" 说明 值为:.T. 值为:.F. 值为:.F. 值为:.F.

二级VB 第5章选择

二级VB 第5章选择
第5章选择结构程序设计
5.1 5.2 5.3 5.4 5.5 5.6 三种基本结构 块if语句 块if语句的 Else if语句 行if语句 Select Case语句
本章重点:
※ if语句
※ if语句的嵌套 ※ Select Case语句
本章难点:
if语句的不同用法 if语句嵌套的的规则
Select Case语句的应用
单分支结构
例:已知两个数x和y,比较它们的大小,使得x大于y。
用语句来实现: If x<y Then t=x x=y y=t End If 或 If x<y Then t=x: x=y: y=t x ③
简单If形式无End If时,只能是一句语句或语句间用冒号分 隔,而且必须在一行上书写。
本章目录
5.2.1 块If语句格式
1. If…Then语句(单分支结构) If <条件表达式> Then 语句块 End If 或 If <表达式> Then <语句>
条件表达式
T F
语句块
表达式:关系表达式、逻辑表达式,算术表达式。
表达式值按非零为True,零为False进行判断。 该语句的作用是当表达式的值为True,执行Then 后面的语句块,否则不做任何操作。
学习方法建议: 学习本章内容应重点掌握if语句的执行过程,在此基础上, 掌握if语句的嵌套的应用,掌握Select Case语句,并学会编写 选择结构程序。
5.1 三种基本结构
VB 具有结构化程序设计的三种程序控制结构,即 顺序结构、选择结构、循环结构,是程序设计的基础。 (1)顺序结构 a 各语句按出现的先后次序执行 A 例5.1已知圆的半径,求圆的面积。

c语言程序设计基本知识点解答(三)

c语言程序设计基本知识点解答(三)

C 语言程序设计基本知识点解答(三)第五章 选择结构程序设计Q116➢ 如何进行选择结构的程序设计?(选择结构) A116➢ “选择结构”也可以叫做“分支结构”。

在一个合理的“选择结构”中,总是先进行某个条件的判断,然后根据判断的结果选择执行预先设定的操作。

其流程图如下:可见,要想实现“选择结构”,需要2个条件:① 能表达条件判断的运算符:即关系运算符和逻辑运算符 ② 能实现判断并选择的控制语句:即if 和switch 语句Q117➢ 什么是关系运算符?(关系运算符)A117➢ 关系运算符也叫“比较运算符”,用于对两个数据进行比较判断的。

C 语言中一共有6种关系运算符,分别是 < 小于、<= 小于等于、> 大于、>= 大于等于、== 等于、!= 不等于。

用这6种运算符按规定把运算量连接起来构成的式子就是关系表达式。

其中,参与关系运算的数据可以是常量、变量或任何合法的表达式。

比如:a * a <= 100、NowIndex == MaxIndex 。

所有6种关系运算符的优先级都比算术运算符低,而== 等于、!= 不等于两个运算符的优先级又比其它四个关系运算符低。

所有6种关系运算符的结合性都是从左向右。

Q118➢ C 语言中如何表示一个关系表达式的值?(关系表达式)A118➢ 关系表达式进行的是关系运算,也就是“比较运算”。

比较的结果只可能有两个:“真”或“假”。

对应于实际生活中,就是“成立”还是“不成立”,“正确”还是“不正确”,“对”还是“不对”这样一些比较和判断的结果。

可见,关系运算的结果的特点是:只有两种可能的结果;任何时候答案只可能是其中的一个;两种可能是相互对立不可能同时出现的。

这样的特点正对应于数学上的“逻辑值”:“真”或“假”。

所以最终的结论就是:关系表达式的值是“逻辑值”,即“真”或“假”。

C 语言中分别以“1”和“0”来代表。

就是说,如果关系表达式的值为“真”,则得到整数1;如果值为“假”,则得到整数0。

第五章选择结构程序设计

第五章选择结构程序设计

1. 第五章选择结构程序设计一、1. 1.若有int y;则表示命题“y是奇数”成立的C语言表达式是(13) 。

2. 2.在C语言中,表示逻辑“真”值用(14) 表示。

3. 3.条件“2<x<3或x<-10”的C表达式是(15) 。

4. 4.以下程序运行的结果是(16) 。

5.main ( ){ int a, b, c, d, x;a=c=0;b=1;d=20;if (a) d=d-10;else if (!b)if (!c) x=15;else x=25;printf (“%d\n”, d );}6. 5.若有说明语句:“int x=1, y=0;”,则表达式x――>(y+x)?5:25>y++?‘1’:‘2’的值是(17) 。

7. 6.以下程序段的运行结果是(18) 。

int x=1, y=0;switch (x){ case 1: switch (y){ case 0: printf(“**1**”); break;case 1: printf(“**2**”); break;}case 2: printf (“**3**”);}8. 1.以下程序运行的结果是(19) 。

#include <stdio.h>main ( ){ int x=1, y=0, a=0, b=0;switch (x){ case 1: switch (y){ case 0: a++; break;case 1: b++; break;}case 2: a++; b++; break;}printf (“a=%d, b=%d\n”,a, b);}二、选择题一、 1.若有int y;则表示命题“y是奇数”成立的C语言表达式是(13) 。

9. 2.在C语言中,表示逻辑“真”值用(14) 表示。

10.3.条件“2<x<3或x<-10”的C表达式是(15) 。

11.4.以下程序运行的结果是(16) 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
则: !n1 n2>=1 && n2<=31 n2|| n1>31 n1&&-3 的值=0 的值=0 的值=1 的值=1
(4)说明 1 )逻辑运算符两侧的操作数,除可以是0和非0的整数 外,也可以是其它任何类型的数据,如实型、字符型等。 „a‟&&‟b‟ 2)在计算逻辑表达式时,只有在必须执行下一个表达式才 能求解时,才求解该表达式。
练习
5.3 if语句
if语句的三种形式
形式一:
格式:if (表达式)
表达式
=0
非0
语句
语句 执行过程:
例:if (x>y) 程序举例: printf(“%d”,x); 例:判断一个数是否是偶数,若是偶数则输出。
main() {int num1; printf(" Enter num1:"); scanf("%d",&num1); if (num1%2==0) printf("The %d is a event \n",num1); }
对于&&运算,如果第一个操作数被判定为“假”,系统不再判
定或求解第二操作数。 例:设 int n1=1,n2=2,n3=3,n4=4,x=1,y=1; 对于||运算,如果第一个操作数被判定为“真”,系统不再判 定或求解第二操作数。 (x=n1>n2)&&(y=n3>n4)执行后: (x=n2>n1)&&(y=n3>n4)
例如,假设int n1=3,n2=4,n3=5;则: (1)n1>n2 0 (2)(n1>n2)!=n3 1 (3)n1<n2<n3 1 (4)(n1<n2)+n3 6 再次强调: C 语言用整数“ 1” 表示“逻辑真”,用整 数“0”表示“逻辑假”。 关系表达式的值,还可以参与其它种类的运算.
5.2 逻辑运算及其表达式
运算规则 1)&&:当且仅当两个运算量的值都为“真”时,运算结果为 “真”,否则为“假”。 2) || :当且仅当两个运算量的值都为“假”时,运算结果为 “假”,否则为“真”。 3) ! :当运算量的值为“真”时,运算结果为“假”;当运 算量的值为“假”时,运算结果为“真”。 例: int x=5;
P89
a||b
例如,下面的表达式都是逻辑表达式:
真 真 假 假 真 真 (x>=0) && (x<10) ,(x<1) || (x>5) ,! (x= =0), 真 假 假 真 假 真 (year%4==0)&&(year%100!=0)||(year%400==0) 假 真 真 假 假 真 假 假 真 真 假 假
设计选择结构程序,要考虑两个方面的问题:一是
在C语言中如何来表示条件,二是在C语言中实现选择结
构用什么语句。 在C语言中表示条件,一般用关系表达式或逻辑表达 式,实现选择结构用if语句或switch语句。
本章内容:
5.1 关系运算及其表达式
5.2 逻辑运算及其表达式
5.3 if语句
5.4 switch语句 5.5 选择结构程序举例
形式三: 格式:
if (表达式1 )
else if (表达式2 ) else if (表达式3 )
语句1
语句2 语句3
执行过程:
=0
…...
[ else
语句n
]
例:if (salary>1000) tax=0.04; 非 0 if (salary>800) =0 tax=0.03; else 表达式2 else if (salary>600) tax=0.02; =0 非0 表达式3 else if (salary>400) tax=0.01; else 非0 tax=0;
2. 逻辑表达式 (1)逻辑表达式的概念 用逻辑运算符将1个或多个表达式连接起来,进行逻辑运 算的式子。用逻辑表达式表示多个条件的组合。 (year%4==0)&&(year%100!=0)||(year%400==0) (2)逻辑表达式的值 :逻辑值(非“真”即“假”)。 (3)逻辑量的真假判定──0和非0 !((year%4==0)&&(year%100!=0)||(year%400==0)) 用整数“1”表示“逻辑真”、用“0”表示“逻辑 假”。但在判断一个数据的“真”或“假”时,却以0 和非0为根据:如果为0,则判定为“逻辑假”;如果 为非0,则判定为“逻辑真”。 例: int n1=12,n2=-4;
}
例 判断输入字符种类 #include <stdio.h> main() { char c; printf("Enter a character:"); c=getchar(); if(c<0x20) printf("The character is a control character\n"); else if(c>='0'&&c<='9') printf("The character is a digit\n"); else if(c>='A'&&c<='Z') printf("The character is a capital letter\n"); else if(c>='a'&&c<='z') printf("The character is a lower letter\n"); else printf("The character is other character\n"); } 运行: Enter aa character : 运行: Enter : D 运行: 运行: Enter Enter a character acharacter : 8 : h 运行: Enter acharacter character : F1
关系表达式只能描述单一条件,例如“x>=0”。如果 需要描述“x>=0并且x<10”,就要借助于逻辑表达式。
1. 逻辑运算及其优先次序 (1)逻辑运算符及其运算规则 三种逻辑运算符: ! 逻辑非(相当于“否定” ) && 逻辑与(相当于“并且”) || 逻辑或(相当于“或者”)
逻辑 运算 真值表
a b !a !b a&&b
请动手操作: 输入任意三个整数num1、num2、num3,求三 个数中的最大值。
main() {int n1,n2,n3,max; printf(“Please input three numbers:”); scanf (“%d,%d,%d”,&n1,&n2,&n3); if (n1>n2) max=n1; else max=n2; if (n3>max) max=n3; printf("The three numbers :%d,%d,%d\n", n1, n2, n3); printf("max=%d\n",max); }

x x=0, = 1, y y = =1 0 例:设 int n1=1,n2=2,n3=3,n4=4,x=1,y=1; (x=n1>n2)||(y=n3>n4)执行后: x=0,y=1
表达式小结:
1.正确使用表达式 当描述单一条件时可使用关系表达式;如果要描述复合条 件,就要使用逻辑表达式。 2.关系表达式和逻辑表达式的值都是逻辑值。 3.逻辑值的表示 “1”表示“逻辑真”、“0”表示“逻辑假”。 4.逻辑值的判断 如果为0,则判定为“逻辑假”;如果为非0,则判 定为“逻辑真”。 5.运算符的优先关系 !→ 算术运算 → 关系运算 → &&→ || → 赋值运算
例 求分段函数的值
y=
1 0 -1
x>0 x=0 x<0
#include <stdio.h> main() #include <stdio.h> { int x,y; main() printf("Enter an integer:"); { scanf("%d",&x); int x,y; printf("Enter an integer:"); if(x<0) y=-1; scanf("%d",&x); else if (x==0)y= 0; if(x<0) else y=-1; y=1; printf("\ninteger:%d---> value:%d\n",x,y); if (x==0)y= 0; } else y=1; 运行: Enter an integer:-12 printf("\ninteger:%d---> value:%d\n",x,y); integer:-12---> value :-1
语句1 语句2 语句3 语句n
表达式1
说明: if后面的表达式类型任意 if(x) if(x!=0) if(!x) if(x==0) 语句可以是复合语句 如: 例 考虑下面程序的输出结果 if(a==b&&x==y) printf(“a=b,x=y”); : #include if(3) <stdio.h> printf(“OK”); main() if(„a‟) printf(“%d”,‟a‟); { int x,y; scanf(“%d,%d”,&x,&y); if(x>y) x=y; y=x; else Compile Error! x++; y++; printf(“%d,%d\n”,x,y); }
相关文档
最新文档