第三讲 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 )
  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")
相关文档
最新文档