教学内容if语句switch语句选择结构程序举例.ppt
《教学内容if语句switch语句选择结构程序举例.ppt》由会员分享,可在线阅读,更多相关《教学内容if语句switch语句选择结构程序举例.ppt(37页珍藏版)》请在三一文库上搜索。
1、教学内容: 6.1 if 语句 6.2 switch 语句 6.3 选择结构程序举例 教学要求: 1掌握if语句的语法和使用方法。 2掌握switch语句的语法和使用方法。 3掌握分支语句的嵌套使用方法。,第6章 选择结构程序设计,例如,某一单位要给职工增加工资,它的规定是:工资低于1000元的职工,每人增加工资100元,超过1000元的职工暂不增加工资。 选择条件: 工资低于1000元吗 数据处理: 是 增加工资100元, 否则不增加工资 如果,增加工资的规定是:工资低于1000元的职工,每人增加工资200元,超过1000元的职工增加工资100元。 选择条件:工资低于1000元吗 数据处理:
2、 是 增加工资200元 否则 增加工资100元,在C语言中,当需要根据选择条件来确定所要做(执行)哪一项数据处理的情况,这样的程序结构,被称为选择(分支)结构。,在C语言中表示选择条件,一般用: 关系表达式、逻辑表达式 二 、实现选择结构用什么语句: C语言中实现选择结构所用语句: if 语句 switch 语句,在C语言中,设计选择(分支)结构程序要解决的问题: 一 、如何表示选择条件:,1. 第一种形式 (1)语句格式: if(表达式) 语句 语句中的表达式必须用单括号 “(” 和 “ )”括起来。表达式后面语句也可使用复合语句。 (2)语句功能:如果表达式的值为真(T),则执行其后的语句
3、, 否则不执行该语句。 在C语言中,没有逻辑型数据类型。当表达式的值为任何非零值,表示表达式的条件成立;当表达式的值为零值,表示表达式的条件不成立。,6.1 if 语 句,2. 第二种形式 (1)语句格式: if(表达式) 语句1; else 语句2; 说明:else子句(可选)是 if 语句的一部分,必须与 if 配对使用,不能单独使用 (2)语句功能:如果表达式的值为真(T),则执行语句1,否则执行语句2 。 。,例6.1 输入两个整数,输出其中的大数。 void main() int a,b,max; printf(“n input two numbers: “); scanf(“%d%
4、d“, ,例6.2 输入两个整数,输出其中的大数。 main() int a, b; printf(“input two numbers: “); scanf(“%d%d“, ,例6.3从键盘输入两个数,按升序输出两个数 #include main() float a, b, t; scanf(“%f,%f“, ,例6.4 输入任意三个数,按从小到大的顺序排序输出。 main() int a, b, c, temp; printf(“Please input three numbers:“); scanf(“%d,%d,%d“, ,3条并列单 分支语句,3. 第三种形式,(1) 语句格式 if
5、 (表达式1) 语句组1 else if (表达式2) 语句组2 else if (表达式3) 语句组3 else if (表达式4) 语句组4 else 语句组5 若 语句组5 又是一条 if 语句,整个语句最少是一个6个分支的多分支 if 语句。,(2)多分支 if 语句的执行过程 当“表达式1”的值不等于0时,则执行语句组1 ,然后转向下一条语句; 否则,当“表达式2”的值不等于0时,执行语句组2,转向下一条语句; 再否则,当“表达式3”的值不等于0时,执行语句组3,转向下一条语句; 再否则,当“表达式4”的值不等于0时,执行语句组4,转向下一条语句; 再否则,执行语句组5,转向下一条语
6、句;,4. if语句说明 (1) 在三种形式的if语句中,条件表达式通常是逻辑表达式或关系表达式, 但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。 (2) 在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用 括起来组成一个复合语句。但要注意的是在之后不能再加分号。,例 6.5 输入 + * - / , 输出对应的单词。 #include main() char ch ; ch=getchar(); if (ch=+) printf(“plusn“); else if (ch=-) printf(“minusn“); el
7、se if(ch=*) printf(“multiplyn“); else if (ch=/) printf(“dividen“); else printf(“errorn“); ,例6.6 输入任意三个整数,求三个数中的最大值。 main() int n1,n2,n3,max; scanf(“%d,%d,%d“, ,max=n1; if (n2max) max=n2;,程序运行情况如下: Please input three nbers:11,22,18 The three nbers are:11,22,18 max=22 本例中的第1个if语句,可优化为如下不带else子句的形式: ma
8、x=n1; if (n2max) max=n2; 优化的基本思想是: 首先取一个数预置为max(最大值),然后再用max依次与其余的数逐个比较,如果发现有比max大的,就用它给max重新赋值,比较完所有的数后,max中的数就是最大值。,5. if 语句与条件运算符 如果在条件语句中,只执行单个的赋值语句时, 常可使用条件表达式来实现。不但使程序简洁,也提高了运行效率。 例 6.7 输入任意三个整数,求三个数中的最大值。 main() int n1,n2,n3,max; scanf(“%d,%d,%d“, ,max= ( n1n2 ) ? (n1n3 ) ? n1 : n3):(n2n3 ) ?
9、 n2 : n3);,6if语句的嵌套与嵌套匹配原则 (1)if 语句嵌套,是指,在“语句1”或(和)“语句2”中,又包含有 if 语句的情况。 if 语句嵌套时,else子句与在它上面、距它最近、且尚未匹配的 if 配对。例如: if (ab) s=s+t; else if (a= =b) t=5; /* 语句2是 if 语句*/ else t=2*s;,例 6.8 输入任意三个整数,求三个数中的最大值。 main() int n1,n2,n3 ; scanf(“%d,%d,%d“, ,例6.9 if 语句的嵌套使用 main() int a, b, c, d, x; a=b=c=0; d=
10、20; if ( a ) d=d-10; else if ( d+2 ) if (!c) x=15; else x=25; printf(“d=%d,x=%dn”,d,x) ,说明(1)if后面的“表达式”,除常见的关系表达式或逻辑表达式外,也允许是其它类型的表达式,其数值可以是整型、实型、字符型。,1switch语句的一般形式 switch (表达式) case 常量表达式1: 语句组1 case 常量表达式2: 语句组2 case 常量表达式: 语句组n default:语句组n+1 “表达式” 可以是int、char和枚举型中的一种,每个case后面“常量表达式”的值,必须各不相同,多个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学内容 if 语句 switch 选择 结构 程序 举例
链接地址:https://www.31doc.com/p-3151134.html