第四章----选择结构程序设计PPT课件

合集下载

C语言第四章选择结构ppt课件

C语言第四章选择结构ppt课件

基本 if 语句的通常形式是:
表达式 假 真
if ( 表达式 ) if ( x > y ) /* 简单语句 */ 语句组
语句;
z=x ;
或语句
if ( 表达式 ) { 语句; 语句;
}
if ( x > y ) /* 复合语句 */ {
z=x; x=x+1; printf(“%d\n”,z); }
执行过程:
(1)当switch后面“表达式”的值,与某个case后面的 “常量表达式”的值相同时,就执行该case后面的语句;当 执行到break语句时,跳出switch语句。
(2)如果没有任何一个case后面的“常量表达式”的值, 与“表达式”的值匹配,则执行default分支后面的语句。
说明(1):
这就是 if ...... else 语句的功能。
简单的if 语句只能 表达“如果 ,那 么 ”的含义,而 if ...... else 语 句却能表达“如果
If ( x>=0) 语句1;
else 语句2;
那么 否则 ”
的含义。
ห้องสมุดไป่ตู้

语句1
表达式

语句2
注意:如果使用了复合语句,一定要用大括号把它们括起来。
/* 求 x 的绝对值并赋给 y */
printf(“|%f|=%f”,x,y); }
/* 输出 x 的绝对值 */
二、if ... else 语句
对这一句话“如果x>=0则y=x,如果x<0则y=-x”,可以写 出以下语句:
If ( x>=0) y=x;
if (x<0) y=-x;
能否把两条语句合成一句,更好地体现这种逻辑关系呢?

第4章-选择结构PPT课件

第4章-选择结构PPT课件
例如“如果你有空,并且天气好,我们就去打篮球”,此 例中,只有同时满足“你有空”和“天气好”两个条件, “去打篮球”这个动作才会发生。
再如,要表示数学中常用的区间取值,要求检查int型变量x 的取值是否在[1,20]区间,初等数学中通过判断表达式 “1=<x<=20”的值来确定,C语言中并不支持这种写法,需 要表示为 “x>=1”且“x<=20”, 这两个表达式同时成立, 才表示x的取值落在了[1,20]区间。
条件判断
现实生活中我们经常要做判断,根据不同的情况去做不同的 事情:举例
1、如果外面阴天,出门就把雨伞带上
2、如果周末天气好,我们就去郊游,否则就去看电影
3、如果明天不下雨,我们就去爬山,如果下小雨,我们 就去体育馆打球,如果下大雨,就呆在屋子里。
4、如果你有空,并且天气好,我们就去打篮球
即当该表达式为结果为真时,表示y是闰年,否则 y不是闰年。相应的判断某一年份是否为非闰年的 表达式即为判断闰年对应的表达式取反:
!(((y % 4 == 0)&&(y % 100 != 0)) || (y % 400 == 0))
注意:当逻辑表达式比较复杂,出现多个条件的 连接时,建议采用“()”来明确层次关系。
X==1.0 || x==3.0 X>=z && x<=y z>x || y<x
0 || 1等于1 1 &&1等于1 0 || 0 等于0
9
高职学院 计算机专业 《程序设计基础》
逻辑运算实例
根据输入的年份数值,判断其是否为闰年。假设int型变量y里 面保存了此年份数据。
分析:根据历法,闰年的年份值是4的倍数但又不是100的倍 数,或者是400的倍数。采用自顶向下的分析方法,分析如下

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

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

例如:
(1)若a=4,则!a的值为
(2) 0
(3)(2) 若a=4,b=5,则a&&b的值为
(4) 1
(5)(3) a、b值同前, a||b的值为
(6) 1
(4) 4&&0||2的值为
1 2020/12/10
12
特别注意! (1) 用&&对两个表达式进行计算时,若第一个表达式的值
为“假”,则运算结果与第二个表达式的值无关,结果肯 定为假,所以C语言规定此时第二个表达式将不再计算。
(因为“>”运算符是自左至右的结合方向,先执行 “a>b”得值为1, 再执行关系运算“1>c”,得值0, 赋给f)。
2020/12/10
8
逻辑运算符
逻辑运算符是对两个关系式或逻辑值进行运算的,运算结 果仍是逻辑值。
在C语言中,逻辑值用数值非0和0来表示逻辑真和假的, 所以逻辑运算符也可以对两个数值型数据进行运算,包括 整型、实型、字符型等数据。
3.关系运算符的使用实例
设变量定义如下: char c1=‘a’,c2=‘A’;
(c1,c2可看成整型,其值为97,65)
int n1=65,n2=97; float f1=0.3E1,f2=3.0001;
则: ① c1>c2,n1>n2,f1==f2的值依次是 1.,0,0
② c1>=n1,c2>=n2,c1==n2的值依次是 1,0,1
③ f1>c1,f2<c2,f1==n1-62的值依次是 0,1,1
④ c1>c2>=1<=0==1!=0的值是 0
⑤ c1>c2>=n1<=n2==f1!=f2的值是 1

d04_选择结构程序设计24页PPT

d04_选择结构程序设计24页PPT

第四章 选择结构程序设计
退出
第四章 选择结构程序设计
退出
第四章 选择结构程序设计
退出
求任意数据的平方根
算法设计 (1) 定义实型变量x和y (2) 从键盘输入变量x的值 (3) 如果变量x的值大于等于0
①求变量x的平方根并赋值给变量y ②输出变量y的值
第四章 选择结构程序设计
退出
求任意数据的平方根prg4-1.c
if(x > 0 ) //调用{ 数学库函数sqrt求平方根,包含头文件
void m{
printf("x的平方根是:%10.2lf\n", y);
dproiunbtlfe("x从, 键y;盘输入变量x的/值/定:义"}e)变l;se量x和yprintf("x的平方根是:0\n");
d04_选择结构程序设计
41、俯仰终宇宙,不乐复何如。 42、夏日长抱饥,寒夜无被眠。 43、不戚戚于贫贱,不汲汲于富贵。 44、欲言无予和,挥杯劝孤影。 45、盛年不重来,一日难再晨。及时 当勉励 ,岁月 不待人 。
关系运算符与关系表达式 逻辑运算符与逻辑表达式 if语句 switch语句 结构嵌套程序举例
printf("x的平方根是:%10.2lf\n", y); //输出变量y的值
}
else
//处理不合法的数据
printf("输入的数据有错误\n");
}
第四章 选择结构程序设计
退出
多分支if语句
语法格式
if(表达式1)
语句1;
else if(表达式2) 语句2;
else if(表达式3) 语句3;
if(表达式) 语句1;

C语言完整 ppt课件

C语言完整 ppt课件
1.4.1 宏定义
用一个标识符来表示一个字符串,称为“宏”,标识符称为“宏名”。在 程序中 用宏名替代字符串称为“宏调用”。在编译预处理时,将对程序中所有出现的 “宏 名”,都用宏定义中的字符串代换,这个过程称为“宏展开”。
1.4.1.1 不带参数的宏定义
格式为:#define 标识符 字符串
1.4.1.2 带参数的宏定义
1-4
1.3 C程序上机步骤
C源程序编好后,要经过编辑、编译、连接, 生成可执行文件后,才可运行。
运行集成开发软件
编辑源程序
编译
有 有错? 无 连接
不正确
运行
结果正确? 正确
结束
1-5
1.4 编译预处理
编译预处理是指,在C编译程序对C源程序进行编译之前,由编译预处理程 序对源程序中的预处理命令进行处理的过程。
1.2.1 C语言程序举例
1.2.2 C语言程序的结构
1.2.2.1 函数是C语言程序的基本单位。
1.2.2.2 函数的一般结构
任何函数(包括main()函数)都是由函数首部和函数体两部分组成。
1. 函数首部: 函数首部即函数第一行,由函数类型、函数名和函数参数表三部分组成。
2. 函数体: 函数体为函数首部下面的花括号{……}内的部分。 函数体一般由声明部分和执行部分构成:声明部分定义所用到的变量,声明所调用的函数等; 执行部分有若干语句组成。
2.6.1 运算符及表达式简介 2.6.1.1 运算符
C语言中的运算符具有2个特点: ⑴ 运算符的优先级 C语言中,运算符的优先级共分为15级,1级最高,15级最低。 ⑵ 运算符的结合性 C语言中各运算符的结合性分为左结合性(从左到右)和右结合性(从右到左)。 2.6.1.2 表达式 表达式是由常量、变量、函数和运算符组成的式子。 表达式求值是按运算符的优先级和结合性规定的顺序进行的。

第4章 顺序选择结构程序设计

第4章  顺序选择结构程序设计
功能:如果布尔表达式为true, 则执行语句1,
布尔表达式? false
true
语句2
语句1
否则执行语句2
例 子: if(x>y) Console.WriteLine("x比较大"); else Console.WriteLine("y比较大");
说 明:
① 若布尔表达式的值为真时,程序执行内嵌语句序 列1,否则执行内嵌语句序列2。 ② if else语句中,内嵌语句序列1和内嵌语句序列2可 以是简单语句,也可以是复合语句。如果内嵌语句 序列中为多个执行语句要使用花括号({…})组合为一 个语句块。
当判断的条件相当多时,难以阅读
使用switch 语句
问题: 根据考试等级输出百分制 分数段: A级:90-100分 B级:80-89分 C级:70-79分 D级:60-69分 E级:0-59分
switch( grade) { case 'A': Console.WriteLine("90-100"); break; case 'B':Console.WriteLine("80-89"); break; case 'C': Console.WriteLine("70-79"); break; .................... default: Console.WriteLine("出错啦");
必须是离散类 型 必须是相匹配 switch( 表达式 ) 的常量表达式 { case 常量表达式1 : 语句组1; break; ........ 可以有多行语句, default: 语句组0 ; break; 不需要加 {}号 } default 分支是可选的

c语言 第四章 选择结构课件

c语言 第四章 选择结构课件

if (expr1) if (expr2) statement1 else statement2
内嵌if
if (expr1) if (expr2) statement1
else statement3
内嵌if
if (expr1) statement1
else if(expr3) statement3 else statement4
if ~ else 配对原则:缺省{ }时,else 总是和它上面离它最近的未配对的if配对
if(……) if(……) if(……) else…... else…...
else…...
例: if (a==b) if(b==c) printf("a==b==c");
else printf("a!=b");
if(x>y) printf("X>Y\n");
else printf("X<Y\n");
else printf("X==Y\n");
}
运行:Enter integer x,y:12,23 X<Y Enter integer x,y:12,6 X>Y Enter integer x,y:12,12 X==Y
内嵌if
if (expr1)
if (expr2) else
statement1 statement2
内嵌if
else
if(expr3) else
statement3 statement4
内嵌if
例 输入两数并判断其大小关系
main() { int x,y;
printf("Enter integer x,y:"); scanf("%d,%d",&x,&y); if(x!=y)

C语言课件 选择结构程序设计

C语言课件 选择结构程序设计


4-3 switch语句和break语句
4.3.1 break语句(辅助控制语句)
break语句的格式:break; break语句不能单独使用,只能与switch和循环语句
结合使用。 功能:在循环语句和switch语句中,终止并跳出循环
体或开关体。
4.3.2 switch语句(开关语句)
格式: switch(表达式) { case E1: 语句组1;break;
C
语 言
关系运算注意:


例 应避免对实数作相等或不等的判断,而只能

使用“<”和“>”,原因在于舍入误差可能造


两个逻辑上应该相等的数不相等。
如 1.0/3.0*3.0==1.0
可改写为:fabs(1.0/3.0*3.0-1.0)<1e-6
例 注意区分“=”与“==”
第 二 章 数 据 描 述
1表示“真”,


C
语 言
优先级与结合方向:


设 计
!

&& 低
||
! :从右向左


&& :从左向右



|| :从左向右



!(非) 算术运算符 关系运算符 &&和|| 赋值运算符=

C



逻辑表达式的值:



例 a=4;b=5;
!a
值为0
a&&b
值为1
a||b
值为1
!a||b
值为1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档