第三讲 c语言 分支结构(if)教材
- 格式:ppt
- 大小:305.00 KB
- 文档页数:27
选择结构(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语句块。
第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,则输出:________________·程序的功能是:______________________。
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语句的使用讲解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条件语句公开课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语句的时候,我们曾经举个生活中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语句的语法格式以及它的使用。
第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,则输出:________________·程序的功能是:______________________。