- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
选择结构程序设计 选择结构 实现选择结构的语句: if 语句: if语句、 if - else语句、 if嵌套语句。 switch语句(多分支语句) if 语句 输出成绩高于 90 分的学生成绩和学号。 格式: if(score 90) printf(“ %s %d\n”,No,score); 执行过程: 计算表达式 score 90的值; 如果表达式的值非零,即: score 90成立;则,输出该学生的学号和成绩; 如果表达式 score 90的值为零,即: score 90不成立;则什么也不做。 如果成绩高于 90 分则输出“优秀”;否则输出“通过”。 格式: if (score= 90) printf(“优秀”); else printf(“通过”); else – if 形式 格式: if (表达式1) 语句1; else if (表达式2) 语句2; …… else 语句n; if 语句的嵌套 在一个 if 语句中又包含了另一个 if 语句,称为 if 语句的嵌套。 一般形式为: if( 条件1) if (条件11 )语句11; else 语句12; else if ( 条件2) 语句3; else 语句4; C语言规定,else 总是和它上面离它最近的未曾匹配的 if 匹配。 例:从键盘输入两个实数,输出较大者。 求解过程: 分析: 本问题要求我们做什么? 怎么做? 定义相关变量 输入任意两个实数 对其进行比较 将较大者输出 写出完整程序; 完整程序: #includestdio.h main( ){ float a,b,max; scanf(“ %f,%f ”,a,b); if (ab) max = a; else max = b; printf(“max = %5.2f\n”,max); } 练习: 输入三个数,将他们之中最大的输出 练习: 输入三个数,将他们按从小到大的顺序输出 核心语句段: if (ab) { a与b交换} if (cb) printf ( “%d%d%d\n”, a, b ,c); else if (ca) printf (“%d%d%d\n ”,a ,c ,b); else printf ( “%d%d%d\n”, c, a, b); 选择结构程序设计举例 写程序,判断某一年是否闰年 分析: 做什么?判断某一年号是否为闰年; 什么是闰年?年号能被4整除,但不能被100整除或年号能被400整除时,该年为闰年。 设计解题步骤: 定义相关变量:年号——year 输入原始数据:输入年号(scanf) 判断该年是否为闰年: if ((year%4==0year%100!=0) ||year%400==0)) printf(“%d is a leap year\n”,year); else printf(“%d is not a leap year\n”,year); 写出完整程序; 程序 #includestdio.h void main(){ int year; scanf(“%d”, year); if ((year%4==0year%100!=0) ||year%400==0)) printf(“%d is a leap year\n”,year); else printf(“%d is not a leap year\n”,year);} 求方程 ax2+bx+c=0 的解 分析:方程 ax2+bx+c=0 的解的情况: a==0: b!=0: 唯一根,c/b; b==0: c==0: 无穷多个根; c!=0:无解; a!=0: b2-4ac==0: 两个相同的实根,-b/(2*a) b2-4ac: 两个不同的实根, (-b+sqrt(b2-4ac)) /(2*a)、 (-b-sqrt(b2-4ac)) /(2*a) b2-4ac0: 两个不同的虚根,-b/(2*a)+i sqrt(b2-4ac) /(2*a)、-b/(2*a) - i sqrt(b2-4ac) /(2*a) 解题步骤: 定义相关变量 : ax2+bx+c=0 的系数和解: 输入三个系数值; 判断三个系数值的情况属于哪类,分别进行计算: a==0,b!=0: 唯一根,c/b; a==0, b==0,c==0: 无穷多个根; a==0, b==0,c!=0:无解; a!
文档评论(0)