第三讲 c语言 分支结构(if)教材

合集下载

c语言 课件第3章 顺序、分支、循环

c语言 课件第3章 顺序、分支、循环
7
算法的表示方法 ①自然语言表示法
②伪代码表示法 ④N-S流程图表示法 流程图表示法 ⑤流程图表示法
用人们日常使用的语言进行算法的描述 用自然语言、计算机语言及符号进行算法描述 用自然语言、 用矩形框进行算法的描述 用一些图框描述算法
③计算机语言表示法 C、C++、BASIC、VB、VC等语言的程序 、 、 、 等语言的程序
确定性:算法每执行一步,其顺序和内容都必须有确切的规定, ③ 确定性:算法每执行一步,其顺序和内容都必须有确切的规定, 不能含糊不清或二义性 可执行性:算法的所有操作都必须能做到, ④ 可执行性:算法的所有操作都必须能做到,即可操作性 个或多个输入; ⑤ 0个或多个输入;一个或多个输出 个或多个输入
沃 思
程序 = 数据结构 + 算法
数据结构: 数据结构:程序中指定数据的类型和数据的组织形式 算法: 算法: 操作步骤
4
3.1.1 程序算法及其特征 是程序处理问题(数据的计算和处理)的方法和步骤。 (1)算法 是程序处理问题(数据的计算和处理)的方法和步骤。 ) 是解决特定问题而要一步一步执行的有穷操作的描述; 是解决特定问题而要一步一步执行的有穷操作的描述; 是描述解决计算机求解及处理问题的步骤和方法。 是描述解决计算机求解及处理问题的步骤和方法。 算法应包括计算机的数值计算 计算方法等问题 本课程不涉及。) 数值计算、 等问题, (注:算法应包括计算机的数值计算、计算方法等问题,本课程不涉及。) (2)特征 ) 一个完整的程序应具有以下特征: 一个完整的程序应具有以下特征: 分步性: ① 分步性:一个算法是由一步一步的操作完成的 ② 有穷性:一个算法必须能在执行有限步之后结束 有穷性: N! = 1×2×3×. . . ×(N-1)×N × × × × Sum = 1+2+3+. . .+N +. . . 有穷 无穷

C语言选择结构

C语言选择结构

选择结构(if & switch)If语句一、if的三种结构1、单分支结构(if结构)If(表达式)语句;2、双分支结构(if-else结构)If(表达式)语句1;else语句2;3、多分支结构(if-else-if结构)If(表达式1)语句1;else if(表达式2)语句2;……else(表达式n-1)语句n-1;else语句n;说明:(建议在分支语句上加大括号,以减少错误)○1语句中的表达式可以是任意表达式:if(x) y=1\x;else y=10000;○2一个if结构不可分割;○3一个分支中包含多个语句时,要用{};○4else和else-if不是独立的,其前方必须有与之配对的if语句;二、if语句的嵌套在if语句中,又包含一个或多个if语句:if(score>=80)if(score>=90) printf(“A”);else printf(“B”);elseif(score>=60) printf(“C”);else printf(“D”);注意else与if的匹配三、条件运算符如果两个分支的内容都是给同一个变量赋值,则可用简单的条件运算符处理:if(a>b) max=a;else max=b;可用: max=a>b ? a : b;赋值运算符右边为一条件表达式。

条件表达式的一般形式:表达式1 ?表达式2 :表达式3条件表达式的执行过程: a>b ? a : b优先级:低于关系运算符,高于赋值运算符。

结合性:右结合性。

Switch(多分支)1、适用于根据一个表达式的值就可确定走哪个分支的情况。

switch(表达式){常量表达式1:语句1常量表达式2:语句2┋常量表达式n:语句ndefault:语句n+1}注意:常量表达式不可以是字符串2、switch一般配合break使用:switch (控制表达式) {case 常量表达式:语句列表;break;case 常量表达式:语句列表;break;...default:语句列表}说明:1、break用来跳出switch语句块。

C语言第3章_分支结构

C语言第3章_分支结构
关系运算符都是双目运算符。 例如,下面的关系表达式都是合法的: a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)= =(b>c)
3.1 关系运算符及其表达式
关系表达式的值
由于C语言没有逻辑型数据,所以用“1”(非0 值)表示“逻辑真”(true),用“0”(0值) 表示“逻辑假”(false)。
条件运算符
一般格式:
条件运算符是C语言中唯一一个三目运算符。 •运算规则
如果“表达式1”的值为非0(即逻辑真), 则运 算结果等于“表达式2”的值;否则,运算结果等 于“表达式3”的值。
3.3 分支结构和条件运算符
运算符的优先级与结合性
条件运算符的优先级,高于赋值运算符,但低 于关系运算符和算术运算符。其结合性为“自 右至左”(即右结合性)。
与其它种类运算符的优先关系
!→ 算术运算 → 关系运算 → &&→ || → 赋值运 算
3.2 逻辑运算符及其表达式
逻辑表达式
所谓逻辑表达式是指用逻辑运算符将1个或多个 表达式连接起来,符合C语言规则的进行逻辑运 算的式子。
在C语言中,用逻辑表达式表示多个条件的组合。 逻辑表达式的值也是一个逻辑值(非“真”即 “假”)。
3.3 分支结构和条件运算符
switch语句
if语句可以处理多分支,但分支不宜太多,因 此C语言提供了switch语句直接处理多分支选择。
一般形式
3.3 分支结构和条件运算符
执行过程
①当switch后面“表达式”的值,与某个case后 面的“常量表达式”的值相同时,就执行该 case后面的语句(组);当执行到break语句 时,跳出switch语句,转向执行switch语句的 下一条。 ②如果没有任何一个case后面的“常量表达式” 的值,与“表达式”的值匹配,则执行default 后面的语句(组)。然后,再执行switch语句 的下一条。

C语言-第3章分支结构教学案

C语言-第3章分支结构教学案

第3章 分支结构程序设计(选择结构)1、掌握if 、if-else 、if 的嵌套语句的语法结构及编程语句的语法结构及编程 123.2.1 单分支if 语句的使用学习目标:1、理解选择结构的概念和特点;2、掌握单分支if 语句的语法结构、执行过程和基本用法,学会正确书写if 语句; 4、能正确阅读if 语句程序,会使用if 语句编写、调试并运行程序。

课前准备:预习P30-32(预习后,将学案上知识点在课本上做记号,并完成相应预习题) 课时分配:2课时 活动课堂活动一、发现问题(目标——了解分支结构的意义)实例:从键盘上输入一个数,求这个数的平方根。

算法:发现问题:活动二、解决问题(目标——掌握分支结构) 思考:从键盘输入一个数,若为正数和0则 求其平方根,否则不予处理。

算法:活动三、预习交流(1 ·语句中a>b ·if 每行的结尾,分支中各语句结尾均有 (符号),但 后没有。

·在(2)(3)两语句段中的不同处画上横线,语句(2)中的c=a+b; (属于/不属于)if 分支。

活动五:观察思考(目标——掌握if 的执行流程)1、观察下列程序的执行,口述程序的执行过程,画出程序的流程图: 例1:#include <math.h>#include <stdio.h>main(){float x,y;clrscr();scanf("%f",&x);if (x>=0){y=sqrt(x);printf("%.2f",y);}}流程图:4、说明:例:表达式 -3+‘d’为________表达式,值为______,作条件判断结果为___________ 表达式 a=0 为__________表达式,值为_______,作条件判断结果为__________ 表达式 a=5 为__________表达式,值为________,作条件判断结果为_________ 表达式a>4为____________表达式,若a=5 则结果为_________表达式(a>0)&&(a%2==0)为________表达式,若结果为5 则结果为__________活动六、尝试学习(目标—if语句的初步应用)编程:输入一个学生成绩score,如果成绩大于60,则显示pass,否则不显示程序:流程图:活动七、合作探究、拓展应用(目标—if语句的应用)1、阅读下列程序,写出运行结果,画出程序的流程图:main() Array {int a,b;scanf("%d%d",&a,&b);if (a<b) a=b;printf("%d",a);}执行:·若输入4 5,则输出:________________若输入5 4,则输出:________________·程序的功能是:______________________。

if 语句_大学C语言设计教程_[共5页]

if 语句_大学C语言设计教程_[共5页]

53 printf("%d %d",a,b);}复合语句在逻辑上相当于一个单一语句,在流程控制结构if 结构、for 结构、while 结构中经常用到。

复合语句在书写时采用向右缩进的方式,多个语句相对于花括号向右缩进一个制表位。

复合语句和函数体虽然都是用一对花括号({})来定界的,但是两者间是有区别的。

复合语句是由两条或两条以上语句序列组成的,而函数体内可以是多条语句的语句序列,也可以只有单条语句,还可以没有语句,即为空。

3.2 条件控制语句在程序的三种基本结构中,第二种即为选择结构,其基本特点是:程序的流程由多路分支组成,在程序的一次执行过程中,根据不同的情况,只有一条支路被选中执行,而其他分支上的语句被直接跳过。

C 语言中,条件控制语句有if 语句和switch 语句,if 语句用于两者选一的情况,而switch 用于多分支选一的情形。

if 语句是用来判定给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。

先来看这样一个问题,计算分段函数:212050x x y x x −⎧⎪=⎨⎪>⎩ ≤ 求解问题的流程如下。

(1)输入x 。

(2)如果x ≤0,则y =2x −12;否则y =5x 。

(3)输出y 的值。

要完成该问题计算,显然程序的流程必须由x 的值确定。

像这样的流程要根据某个变量或表达式的值做出判定,以决定执行某个模块和跳过某个模块,这就需要选择语句。

3.2.1 if 语句用if 语句可以构成分支结构。

它根据给定的条件进行判断,以决定执行某个分支程序段。

C语言的if 语句有三种基本形式。

1.第一种形式为基本形式:if 结构生活中充满了选择,在C 语言编程过程中同样如此,最简单的条件判断语句是if 语句,其基本格式为:if(判断表达式) {语句}判断表达式可以是简单的逻辑语句(逻辑表达式或关系表达式),也可以是多个逻辑语句的“与”、“或”、“非”组合,也可以是一般表达式,甚至还可以是一个变量或常量,执行到if 结构时,该表达式的值被首先计算,当判断表达式的值不为0(真)时,if 后花括号中的语句代码被执行,否则,跳过花括号中的代码。

C语言基础入门选择结构-if语句

C语言基础入门选择结构-if语句
printf("%d是偶数\n",number); } else //奇数 {
printf("%d是奇数\n",number); } printf("程序结束"); //输出 }
开始
定义变量 number
输如一个 数
number%2==0 真
偶数
假 奇数
程序结束 结束
课堂编程
输入一个年份,判断该年份是否是闰年,如果是闰年,提示”该年 份是闰年“,否则提示”该年份不是闰年“ 提示:闰年条件: 1、能被4整除,但是不能被100整除,如2008年是闰年, 2100是平年 2、或者能被400整除,如2000年是闰年
void main()
{
int number; //定义变量
printf("请输入一个数:");
scanf("%d",&number); //输入
if(number%2==0)
//判断
{
printf("%d是偶数\n",number);
}
printf("程序结束");
//输出
}
if选择结构应用三
开始
要求: 1、画程序流程图 2、使用if-else双分支结构完成代码
学生练习5分钟
if-else双分支选择结构应用四 用户购买某商品,输入购买的数目,如果库存不足提示“抱歉,没有足够
的库存”,否则提示“购买成功” 。最后输出剩余的库存数。
双购分支买选成择功结构的:条if-件else
(sum-sale>=0) 购买成功的条件:目前库存数-用户购买的数目
第9单元
选择结构—if语句

C语言if语句的使用讲解

C语言if语句的使用讲解

C语言if语句的使用讲解C语言if语句的使用讲解if语句(if statement)是指编程语言(包括c语言,C#,VB,汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。

下面是店铺为大家整理的C语言if语句的使用讲解,欢迎参考~if语句的使用用if语句可以构成分支结构。

它根据给定的条件进行判断,以决定执行某个分支程序段。

C语言的if语句有三种基本形式。

语句的三种形式1) 第一种形式为基本形式:ifif(表达式) 语句其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。

【例1】#includeint main(void){int a,b,max;printf(" input two numbers: ");scanf("%d%d",&a,&b);max=a;if (maxprintf("max=%d",max);return 0;}本例程序中,输入两个数a、b。

把a先赋予变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max。

因此max中总是大数,最后输出max的值。

2) 第二种形式为: if-elseif(表达式)语句1;else语句2;其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。

【例2】#includeint main(void){int a, b;printf("input two numbers: ");scanf("%d%d",&a,&b);if(a>b)printf("max=%d ",a);elseprintf("max=%d ",b);return 0;}输入两个整数,输出其中的大数。

改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。

第三讲 分支结构(if)27页

第三讲 分支结构(if)27页
C 语言程序设计
选择结构程序设计
本节主要内容
1 if语句 1. 简单单分支语句 2. 双分支语句 3. 多分支语句 4. if语句的嵌套
2 switch语句 1. switch语句的一般形式与break 语句 2. switch语句的简单应用
3.2.1 条件语句(if)
——1. 单分支语句(简单if语句格式)
(1)a && b && c
求解方法:只有a为真(非0),才需要判断b的值,只有a和b 都为真,才需要判断c的值。只要a为假,就不必判断b和c, 运算立即中止。
例: a=0; b=1; c=2; d=a++&&b++&&- -c; 运算结果: d=0,a=1,b=1,c=2
(2)a || b || c 求解方法:只要a为真(非0),就不必判断b和c;只有a 为假, 才判断b;a和b都为假,才判断c。
Y
表达式1?
N
语句1
Y 语句2
表达式2?
Y 语句m
N…
表达式m ?
N 语句n
if语句的简单应用
例如:商场促销,购物500元以上,8折;购物300元 以上,85折;购物100元以上,9折;购物50元以上 ,95折;购物50元以下,不打折。根据消费量, 计算实际价格。
设:消费量为 mo0n.e8y;*x折扣为 cost5; 0实0际<花x费 price
语句一般格式
if (表达式) {语句}
流程图
N-S结构图
表达式非0?
Y 语句
N
表达式非0
T
F
语句
⑴ if (x>0) m++; ⑵ if ( a>b )

C语言课件3-三种基本结构的程序设计

C语言课件3-三种基本结构的程序设计
第三章 三种基本结构的程序设计
3.1 顺序结构 3.2 分支(条件)结构 3.3 循环结构
退出
2014-7-14 2
3.1 顺序结构
顺序结构程序 是按书写顺序执行的语句构成的程序段。
语句1 语句2
返回
2014-7-14 3
3.2 分支结构(条件结构)
3.2.1 基本if语句(单分支结构) 3.2.2 if-else语句(双分支结构) 3.2.3 if嵌套语句(分支嵌套的一般形式) 3.2.4 if-else-if语句(分支嵌套的特殊形式) 3.2.5 switch-case语句(开关分支结构) 3.2.6 goto语句(无条件分支结构)
2014-7-14 17
3.2.6 goto语句(无条件分支结构)
goto 语句标号; 注:语句标号用标识符表示,用来表示程序的某个位置。 loop: if(i<=100) { sum+=i; i++; goto loop; }
返回
2014-7-14 18
3.3 循环结构(重复结构)
循环语句:在给定条件成立时,反复执行某个程序 段(循环体)。
2014-7-14
返回
9
3.2.4 if-else-if语句(分支嵌套的特殊形式)
if(表达式1) 语句1; else if(表达式2) 语句2; …… else if(表达式n) 语句n; else 语句n+1;
表达式1? 真(非0) 表达式2? 真(非0) 假(0) 假(0)
表达式n? 真(非0) 语句1 语句2 语句n
欧几里得算法(辗转相除法): ①输入两个正数m和n; ②m除以n,余数为r,n->m,r->n; ③若n=0,则m是最大公因子,结束;否则转②。 #include <stdio.h> void main() { int m,n,r; printf("Please type in two positive integers\n"); scanf("%d%d",&m,&n); while(n) { r=m%n; m=n; n=r; } printf("Their greatest common divisor is %d.\n",m); } 返回

C语言分支结构

C语言分支结构
输入一个整数n,判断n是奇数还是偶数, 若为奇数输出”奇数”,若为偶数, 输出”偶数”。
解题思路
判断奇偶性。输入一个整数n,判断n 是奇数还是偶数,若为奇数输出”奇 数”,若为偶数,输出”偶数”。
if ( nn是%22的=倍= 0数) 输出“偶数”;
else 输出“奇数”;
if (n不n%是22的!=倍0数) 输出“奇数”;
3.1 if控制语句
if (表达式) 语句1
else 语句2真ຫໍສະໝຸດ 语句1表达式假 语句2
语句1和语句2可以是单个语句,也可以是用{}括 起来的复合语句
else 和语句2并不是必须的,一般把缺省else 和语 句2的if语句称为单分支if语句。
3.1.1 if-else语句
例3.1:从读入两个整数,要求输出这两个 整数中较大的一个。
例3.4 输出三个整数的最大值
解题思路2: 在程序3-3的基础上进行扩充。在程序3-3中,已 将a 和b的最大值存入max,在此基础上,将c 与 max 比较:如果c > max,则用c更新max。 实现过程如下: (1)读入整数a、b和c; (2)将a 存入max(暂时认为a 最大); (3)如果b > max,用b更新max; (4)如果c > max,用c更新max; (5)输出max。
}
/*程序3-3:使用单分支if语句求两个整数的最大值*/ #include<stdio.h> int main(void) {
int a, b, max;
scanf("%d%d", &a, &b);
max = a;
/*暂且认为a大*/
if(b > max) {

C语言if语句详解

C语言if语句详解
• 本语句的语义是,把 b 值赋予 a,如为非 0 则输出该值,否则输出“a=0”字符串。这
种用法在程序中是经常出现的。
• 在 if 语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。 • 在 if 语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多
个)语句,则必须把这一组语句用{}括起来组成一个复合语句。但要注意的是在}之后不能再 加分号。例如:
C 语言 if 语句详解
用 if 语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C 语言的 if 语句有三种基本形式。
语句的三种形式
1) 第一种形式为基本形式:if if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为 下图。
else if(表达式 2) 语句 2;
else if(表达式 3) 语句 3; …
else if(表达式 m) 语句 m;
else 语句 n;
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整 个 if 语句之外继续执行程序。 如果所有的表达式均为假,则执行语句 n。然后继续执行后
比较两个数的大小关系。本例中用了 if 语句的嵌套结构。采用嵌套结构实质上是为了进行 多分支选择,实际上有三种选择即 A>B、A<更加清晰。因此,在一般情况下较少使用 if 语句的嵌套结构。以使程序更 便于阅读理解。
输入两个整数,输出其中的大数。改用 if-else 语句判别 a,b 的大小,若 a 大,则输出 a, 否则输出 b。
3) 第三种形式为 if-else-if 形式 前二种形式的 if 语句一般都用于两个分支的情况。当有多个分支选择时,可采用 if-else-if 语句,其一般形式为:

C语言第3章

C语言第3章

3.3.3 if语句的嵌套
注意: 1.else子句不能作为语句单独使用,它必须与if配对使用。 2.为使程序结构清晰、层次分明,常常采用程序行缩进的书 写格式,if 和其对应的else写在一列上。但,书写格式不能 代替逻辑结构。 3.if 和 else 的配对关系。一个 else 总是与其上面距它最近 的,并且没有其它 else 与其配对的 if 相配对。
3.2 关系运算和逻辑运算
3.2.1 关系运算
运算符 含义 优先级 < 小于 <= 小于等于 6 > 大于 >= == != 大于等于 等于 不等于 7
3.2.2 逻辑运算
运算符 含义 优先级 ! 逻辑非 2 && 逻辑与 11 || 逻辑或 12
关系表达式
关系表达式是使用关系运算符将两个表达式(算术表达式,关系表达式, 逻辑表达式,赋值表达式等)连接起来的式子。 关系表达式的值:关系表达式成立,即为“真”,C语言中用1表示; 关系表达式不成立,即为“假”,C语言中用0表示。 对1.0/3.0*3.0==1.0,计算机判 为假改写为:fabs(1.0/3.0*3.0字符比较按ASCII码进比较 1.0)<1e-5; 对浮点数判断是否相等时,由于计算机存储的误差,会出现错误的结果。 应避免对两个实数表达式作“相等”或“不相等”的判别。 例:表达式5>2>7>8在数学上是不允许的。在C语言中是允许的,按自左而 右求解。5>2值为1;1>7值为0;0>8值为0。表达式的值为0。
例:a&&b&&c :a为真才判别b,a和b同时为真才判别c a||b||c:只要a为真,就不再判断b和c 例:(m=a>b)&&(n=c>d) 当a=1,b=2,c=3,d=4时,m=0,n维持原值

if条件语句公开课c语言

if条件语句公开课c语言

if条件语句公开课c语言如果条件语句是C语言中的重要部分,能够帮助程序员精确地控制程序的流程。

在本文中,我们将深入探讨条件语句的概念、语法、应用和一些常见问题。

希望通过本文的阐述,读者能够对条件语句有更清晰的理解,并能够灵活运用于实际的编程中。

首先,让我们研究条件语句的概念。

条件语句根据给定的条件决定程序的执行路径。

程序根据条件的真假,决定执行的代码块。

条件可以是简单的表达式,也可以是复杂的逻辑表达式。

通过条件语句,我们可以实现程序的分支控制和循环控制。

在C语言中,条件语句有三种形式:if语句、if-else语句和switch语句。

其中最简单的是if语句,它的语法如下所示:```cif (condition){// 当条件为真时执行的语句块}```在if语句中,如果条件为真,那么就会执行if语句后面的语句块。

如果条件为假,那么if语句后面的语句块会被跳过。

if-else语句在if语句的基础上增加了一个else分支,在条件为假的情况下执行else语句中的代码块。

它的语法如下所示:```cif (condition){// 当条件为真时执行的语句块}else{// 当条件为假时执行的语句块}```在if-else语句中,当条件为真时,执行if语句后面的语句块;当条件为假时,执行else语句后面的语句块。

switch语句是一种多分支的条件语句,它根据表达式的值,在一系列可能的变量值中选择执行的代码块。

它的语法如下所示:```cswitch (expression){case value1:// 当expression等于value1时执行的语句块break;case value2:// 当expression等于value2时执行的语句块break;default:// 当expression不匹配任何case时执行的语句块break;}```在switch语句中,程序会根据expression的值,选择匹配的case,并执行相应的代码块。

分支结构的程序实现(if-elif)教学设计

分支结构的程序实现(if-elif)教学设计

分支结构的程序实现(if-elif)教学设计试一试:在上节课学习if语句的时候,我们曾经举个生活中if语句伪代码的实例,比如下面这个例子:if 今晚不下雨:去体育馆打篮球else:去健身房健身在这个例子中,只有“下雨”和“不下雨”这两种情况,但是现实世界的问题并非如此简单,请看下面的流程图:在上面的流程图中,情况变的复杂了,下不下雨和朋友有没有空组合成了4中不同情况,这样的问题,用if语句来编写伪代码该如何实现呢?请尝试。

参考答案:新课教学●知识讲解—if-elif语句教师展示if-elif语句的一般格式:if <条件1>:<语句块1>elif <条件2>:<语句块2>……elif <条件n>:<语句块n>else:<语句块n+1>一个if语句可以包含多个elif子句,最后一个else语句是可选的。

elif子句仅当其if语句中的条件为假时才执行。

如果if语句和elif子句中的条件都不为真时,末尾的else子句的语句块就会被执行。

因此,带有elif子句的if语句有一个很重要的特性:只要某个条件为真,计算机就会执行其所对应的语句块,然后退出该语句。

上面同学们写的试一试的程序实现②的代码稍作修改,就是if-elif语句的分支结构的程序实现:if 今晚下雨 and 朋友有空:和朋友一起看电影elif 今晚下雨 and 朋友没空:独自一个人健身房健身elif 今晚不下雨 and 朋友有空:和朋友一起打篮球elif 今晚不下雨 and 朋友有空:独自一个人户外长跑如上所示代码,当执行到条件成立的语句块时,if-elif语句就会退出,从而避免了效率问题,而且在这个程序实现中也可以发现,else分支是可以省略的。

当然该代码最后一种情况是上面三种情况都不成立时候的情况,所以代码也可以改写为如下形式:if 今晚下雨 and 朋友有空:和朋友一起看电影elif 今晚下雨 and 朋友没空:独自一个人健身房健身elif 今晚不下雨 and 朋友有空:和朋友一起打篮球else:独自一个人户外长跑●学生活动—if-elif语句实战:学生考试等第判断编写程序,输入分数([1, 100]之间的整数),如果分数在[85, 100]之间等第为优秀,[70, 84]等第为良让学生理解if-elif语句的语法格式以及它的使用。

c语言程序设计(三章11.30).ppt

c语言程序设计(三章11.30).ppt
#include <stdio.h> void main( ) { int a,b; scanf(“%d%d”,&a,&b”); if (b= =10) y=a+b; else y=a-b;
if (a= =1)
if (b= =2) y=2*a-b; else y=a+2*b;
printf(“%d”,y);
}
【例】输入2个实数,按由大到小的顺序输出这2个数。 #include<stdio.h> if (a>b) void main( ) { printf(“%f,%f”,a,b);
If (a<b)
float a, b, temp; printf(“Input a, b:”);
scanf(“%f,%f”, &a, &b); if (a<b) { temp = a; //a,b交换 a = b; b = temp; } printf(“%f, %f\n”,a, b);
然后用这个变量的值与要比较的数逐个进行比较在比较时如果发现这个最大小值变量的值比这个要比较的数小大则将这个数存放到最大小值变量中使该变量始终存放着一个所有已比较的数中的最大小值
第三章
控制结构
重点:
1、单分支和双分支if语句的基本用法。 2、If语句的嵌套使用。 3、Switch语句的基本用法。 4、while、do-while语句的基本用法。 5、for 语句的使用。
例:
int a, b, c, d,sum; a = b+c*d; c ++;
sum =a+b++;
3)函数调用语句 通常函数调用语句作为表达式语句的一部分,因此函数调用语 句可并入表达式语句. 例: a=max(a,b,c); printf(“%d%o\n”,x , y+8); 4)空语句 只有一个;的语句叫空语句,是表达式语句的特例,该语句不 做任何事情。

C语言-第3章分支结构教学案

C语言-第3章分支结构教学案

第3章 分支结构程序设计(选择结构)1、掌握if 、if-else 、if 的嵌套语句的语法结构及编程语句的语法结构及编程 123.2.1 单分支if 语句的使用学习目标:1、理解选择结构的概念和特点;2、掌握单分支if 语句的语法结构、执行过程和基本用法,学会正确书写if 语句; 4、能正确阅读if 语句程序,会使用if 语句编写、调试并运行程序。

课前准备:预习P30-32(预习后,将学案上知识点在课本上做记号,并完成相应预习题) 课时分配:2课时 活动课堂活动一、发现问题(目标——了解分支结构的意义)实例:从键盘上输入一个数,求这个数的平方根。

算法:发现问题:活动二、解决问题(目标——掌握分支结构) 思考:从键盘输入一个数,若为正数和0则 求其平方根,否则不予处理。

算法:活动三、预习交流(1 ·语句中a>b ·if 每行的结尾,分支中各语句结尾均有 (符号),但 后没有。

·在(2)(3)两语句段中的不同处画上横线,语句(2)中的c=a+b; (属于/不属于)if 分支。

活动五:观察思考(目标——掌握if 的执行流程)1、观察下列程序的执行,口述程序的执行过程,画出程序的流程图: 例1:#include <math.h>#include <stdio.h>main(){float x,y;clrscr();scanf("%f",&x);if (x>=0){y=sqrt(x);printf("%.2f",y);}}流程图:4、说明:例:表达式 -3+‘d’为________表达式,值为______,作条件判断结果为___________ 表达式 a=0 为__________表达式,值为_______,作条件判断结果为__________ 表达式 a=5 为__________表达式,值为________,作条件判断结果为_________ 表达式a>4为____________表达式,若a=5 则结果为_________表达式(a>0)&&(a%2==0)为________表达式,若结果为5 则结果为__________活动六、尝试学习(目标—if语句的初步应用)编程:输入一个学生成绩score,如果成绩大于60,则显示pass,否则不显示程序:流程图:活动七、合作探究、拓展应用(目标—if语句的应用)1、阅读下列程序,写出运行结果,画出程序的流程图:main() Array {int a,b;scanf("%d%d",&a,&b);if (a<b) a=b;printf("%d",a);}执行:·若输入4 5,则输出:________________若输入5 4,则输出:________________·程序的功能是:______________________。

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

可以是各种形式的 if语句
双重(或多重)分支if语句的嵌套形式
if (表达式) {if 语句}
如果是简单if语句, 必须用“{ }”括起
else {if 语句}
可以是各种形式的 if语句
2020/7/18
例if (如cif<(=:c<1=0100)0)
{i{⑴f (cif>(=ciefl5<s(0e=c>)1p=0pr5i0rn0)itn)f(pt"fr(ci"<n5t5f00("\<n5="0)c<;<==c<1=0100\0n\"n)";);
if (3) if (c<=100)

if (c>=50) printf("50<=c<=100\n");

else printf("c<50\n");

else
if (c<=150) printf("100<c<=150\n");
else printf("c>150\n");
2020/7/18
if再(a>例b)如:
设:消费量为 mo0ne.8y;*x折扣为 cost5; 0实0际<花x费 price
if (mon0e.8y5>*5x00) cost=300.08;< x ≤ 500
else if 0(m.9o*xney>300) co1s0t0=0<.85x; ≤ 300
y= els0e.9if5(*mx oney>100)5c0os<t=x0.9≤;100
x
else
if (money>50) else cost=1; 0
<coxst≤=05.905;
price=money*cost;
2020/7/18
3.2.1 条件语句(if)——4. if语句的嵌套
如果if的内嵌语句中又使用了一个if语句,则构 成if语句的嵌套。
简单if语句的嵌套形式 if (表达式) if 语句
运算结果: d=1,a=1,b=2,c=2
3.2.1 条件语句(if) ——3. 多分支语句
语句一般格式
if (表达式1) {语句1} else if (表达式2) {语句2}
…… else if (表达式m) {语句m} else {语句 n}
Y
表达式1?
N
语句例1 如: Y
表达式2?
if (语a<句0)2 x= -1 ;
例: a=0; b=1; c=2; d=a++&&b++&&- -c; 运算结果: d=0,a=1,b=1,c=2
(2)a || b || c 求解方法:只要a为真(非0),就不必判断b和c;只有a 为假,才判断b;a和b都为假,才判断c。
例a=0; b=1; c=2;
d=a++||b++||- -c;
语句一般格式
if (表达式) {语句}
流程图
N-S结构图
表达式非0?
Y 语句
N
表达式非0
T
F
语句
⑴ if (x>0) m++; ⑵ if ( a>b )
{ c=a; a=b; b=c; }
2020/7/18
基本数据类型
2.4.3 关系运算符和关系表达式
关系运算符: > < >= <= == !=
——2. 双分支语句
语句一般格式
if (表达式) {语句1} else {语句2}
流程图
N-S结构图
Y 语句1
表达式非0?
N 语句2
表达式非0
T
F
语句1 语句2
⑴ if (x>0) m++; else m--;
⑵ if ( ch>= 'a' && ch<= 'z' )
{ ch=ch-32 ; printf(" %c\n",ch); }
{
if(a>c) if(a>b)
{if(a>c) Nhomakorabea} iefl(sae>die)fl(smmae>==d12;;)
Y
else if (a==0 ) x=语0句; m else x=1 ;
N…
表达式m ?
N 语句n
2020/7/18
if语句的简单应用
例如:商场促销,购物500元以上,8折;购物300元 以上,85折;购物100元以上,9折;购物50元以上 ,95折;购物50元以下,不打折。根据消费量, 计算实际价格。
1.关系运算的结果是整型
1 表示真 0 表示假
2.关系表达式
x>y+1 a!=b+1
x= =0
13>27 结果为 0
13<=21 结果为1
3.特别注意:
设a=3,b=2,c=1, 则a>b>c的值为0
a>0 == b>0 表示a、b要么都是正数,要么都不是整数,等价于
( a>0) ==( b>0)
3.2.1 条件语句(if)
else printf(" %c\n",ch) ;
2020/7/18
基本数据类型
2.4.4 逻辑运算符和逻辑表达式
1.逻辑运算符
&&(与) | | (或) ! (非) 一元运算符
x && y x和y都为1时,结果为1,否则为0
x | | y x和y都为0时,结果为0,否则为1
!x
x为0时,结果为1,x为1时,结果为0
C 语言程序设计
选择结构程序设计
本节主要内容
1 if语句 1. 简单单分支语句 2. 双分支语句 3. 多分支语句 4. if语句的嵌套
2 switch语句 1. switch语句的一般形式与break 语句 2. switch语句的简单应用
2020/7/18
3.2.1 条件语句(if)
——1. 单分支语句(简单if语句格式)
2.逻辑“真”、“假”的判断
非0→逻辑“真” 0 →逻辑 “假”
3.逻辑表达式
如: 判断闰年的逻辑表达式:
(year%4= =0 && year %100 !=0) || year %400= =0
注意: 在逻辑表达式的求解中,并不是所有的 逻辑运算符都被执行,只是在必须执行下一个 逻辑运算符才能求出表达式的解时,才执行该 运算符。 (1)a && b && c 求解方法:只有a为真(非0),才需要判断b的值,只 有a和b都为真,才需要判断c的值。只要a为假,就不必 判断b和c,运算立即中止。
e}lse ipfr(icn>tf=(5"0c<) 5p0r\inn"tf)("50<=c<=100\n");
}e{lse
与 哪 个
(2) if (icf <(c=<1=0105)0) printf("100<c<=150\n");
if (ecls>e=p5r0in)tfp("rcin>1tf5(0"\5n"0)<; =c<=100\n"); } else printf("c<50\n")
相关文档
最新文档