第二讲选择程序设计和循环程序设计.ppt
《第二讲选择程序设计和循环程序设计.ppt》由会员分享,可在线阅读,更多相关《第二讲选择程序设计和循环程序设计.ppt(103页珍藏版)》请在三一文库上搜索。
1、第二讲 选择与循环程序设计(C语言的精髓),2.1 选择程序设计(分支),重要的两句话: 1、选择是需要有条件的; 2、选择是残酷的,根据条件的不同,有的被选择,有的不被选择。,构成条件的基础,1、关系运算符与关系表达式,2、逻辑运算符和逻辑表达式,1、关系运算符与关系表达式,关系运算符有: 、=、 、 = (优先级高) = 、 != (优先级低),关系表达式,由关系运算符组成的有一定比较关系的表达式称为关系表达式。 例如: salary=1500 age=60,关系表达式的结果:成立或不成立 逻辑成立:true 逻辑不成立:false 例如:53 成立,true 35 不成立,false,2
2、、逻辑运算符和逻辑表达式,当条件比较复杂,一个关系表达式无法满足实际需求时,要用到多个条件的组合,此时需要用到逻辑运算符和逻辑表达式。 例如,构成三角形的条件,满足结婚的条件,逻辑运算符,逻辑与:& 逻辑或: | 逻辑非: !,逻辑与&,逻辑或|,由关系表达式和逻辑运算符组成的表达式为逻辑表达式。 例如:能构成三角形的条件 : a+bc&b+ca&c+ab 可以结婚法定年龄的条件: boy_age=22&girl_age=20,逻辑表达式,在C语言中,在给出逻辑表达式的结果时,以数值1代表“真”,以数值0代表“假”。,举例: (1)5+24 & 3=2 其结果是0 (2)5+24 | 3=2
3、其结果是1,优先级: 算术运算符的优先级要高于关系运算符,关系运算符的优先级要高于逻辑运算符。,二级考试题,已知a是一具体数值,则表达式a=3|a!=3的结果是() A、0 B、1 C、2 D、a的值不知道,无法确定,注意:,在判断一个具体的数值量是否为“真”时,以0代表“假”,以非0代表“真”。,#include main() while(1) printf(“同志们好!n“); printf(“首长好!n“); printf(“同志们辛苦了!n“); printf(“为人民服务!n“); ,#include #include main() while(1) printf(“同志们好!n“)
4、; printf(“首长好!n“); Sleep(1000); printf(“同志们辛苦了!n“); printf(“为人民服务!n“); ,不断输出: 同志们好 首长好 结论:死循环 按Ctrl+break终止死循环,#include main() while(0) printf(“同志们好n“); printf(“首长好n“); printf(“同志们辛苦了n“); printf(“为人民服务n“); ,选择程序在C语言中的具体实施,if语句 switch.case 结构(略),if 语句,if语句用来判定所给定的条件是否成立,根据判定的结果(真或假)决定执行不同的分支。,重要规则:满足
5、条件,执行相应的分支;不满足条件,顺序执行。,if语句的几种形式,纯if语句(枚举法) ifelse结构 ifelse ifelse结构 if语句的嵌套,将所有的条件全部罗列出来,为每个条件给出相应的执行语句。 功能最强大的语句之一。,纯if语句(枚举法),举例:输入一个学生的成绩,如果大于等于60,则输出“恭喜,你通过了!”,否则输出“未通过,好好准备补考”。,#include main() int score; scanf(“%d“, ,举例:输入一个成绩score 若score=80,输出“优秀” 用ifelse ifelse 完成。,#include main() int score;
6、 printf(“请输入一个分数:“); scanf(“%d“, ,错误写法,if (90=score= 100) printf(“优n“);,石头、剪刀、布游戏,#include #include #include main() int i; int j; srand(time(NULL); i=rand()%3; printf(“输入0、1或2,分别代表石头剪刀布“); scanf(“%d“,if(i=0 ,ifelse结构,当条件只有两种可能时,可以采用ifelse结构。,语法形式为: if(条件) 语句1; else 语句2;,举例:,#include main() int score
7、; scanf(“%d“, ,#include main() int boy_age,girl_age; scanf(“%d,%d“, ,举例:,ifelse ifelse结构,当条件的区间划分比较复杂时,ifelse结构将不能满足要求,此时要采用ifelse ifelse结构。,if(条件1) 语句1; else if(条件2) 语句2; else if (条件3) else 语句n;,格式:,举例:输入一个成绩score 若score=80,输出“优秀” 用ifelse ifelse 完成。,#include main() int score; scanf(“%d“,从小到大,if (sc
8、ore60) printf(“不及格“); else if(score70) printf(“及格“); else if(score80) printf(“中“); else if(score90) printf(“及格“); else printf(“优“); ,#include main() int score; scanf(“%d“,从大到小,if (score=90) printf(“优“); else if(score=80) printf(“良“); else if(score=70) printf(“中“); else if(score=60) printf(“及格“); els
9、e printf(“不及格“); ,举例:用ifelse ifelse 完成 i20 输出“张飞”,if (i=5) printf(“诸葛亮“); else if(i=10) printf(“周瑜“); else if(i=20) printf(“鲁肃“); else printf(“张飞“);,if语句的嵌套,当一个if语句结构中又 包含一个或多个if语句 ,称为if语句的嵌套。 典型案例:某推销员的月收入,典型案例:某推销员的月收入,举例:某洗发水推销员,其基本工资是人民币600元/月,如果当月销售额超过10000元, 有提成,低于10000元,则没有提成,具体提成如下: 提成计算如下:
10、提成=0.1*销售额 月销售额=20000 输入这个推销员一个月的销售额,计算其当月的收入并输出。,#include main() float wage; float sale; printf(“请输入销售额:“); scanf(“%f“, ,综合举例:两人玩掷骰子的游戏 用纯if语句完成 If语句的嵌套完成,#include #include #include main() srand(time(NULL); int d11,d12,d21,d22,sum1,sum2; d11=rand()%6+1; d12=rand()%6+1; d21=rand()%6+1; d22=rand()%6+
11、1; sum1=d11+d12; sum2=d21+d22; printf(“%d %dn“,d11,d12); printf(“%d %dn“,d21,d22);,if (d11!=d12 ,if (d11!=d12 ,2.2 循环程序设计,循环在我们生活中 需要反复执行某一段程序,即循环,循环的组成,循环初值设定 循环条件判断 循环操作 循环参数改变,循环的原则,满足循环条件,执行循环体; 不满足循环条件,跳出循环体,执行循环体以外的程序。,循环分类,当循环 先判断循环条件,满足循环条件,则执行循环体,不满足循环条件,则不执行循环体 直到循环 先执行循环体,再判断循环条件。如果满足循环条件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 选择 程序设计 循环
链接地址:https://www.31doc.com/p-2260717.html