- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 选择结构程序设计 4.1 关系运算符与关系表达式 4.2 逻辑运算符与逻辑表达式 4.3 if语句 4.4 switch语句 4.5 结构嵌套程序举例 (其中4.1、4.2两节已在第二章中详细介绍,此处不再赘述。) 很多问题是顺序结构解决不了的 看这样一个例子: 计算分段函数 4.3 if语句 main() { float x , y; scanf(“%f ”, x); y = 2 * x ; if ( x 0 ) y = 3 - x ; printf(“y= %.2f”, y ); } 程序: #include 〈stdio.h〉 #include 〈math.h〉 main() { double x; scanf (″%lf″,x); if (x=0) printf (″%10.6lf″,sqrt(x)); } 4.3.2 双分支if语句 例4.2 输入两个数, 比较其大小,将较大的数输出 算法分析: (1) 输入两个数据a,b ; (2) 如果ab 则输出a ;否则,输出b。 练习:编程实现,从键盘输入一个字符,如果是字母,则输出对应的ASCII码,否则,输出“%”。 if ~ else 配对原则 else与同一层最接近它,而又没有其他else语句与之相匹配的if语句配对。 例4.4 编程实现:根据两个数sex和tall分类, 如果sex为’F’,当tall大于等于150时,输出 A,否则输出 B ;若sex不为’F’, 当tall大于等于170时,输出A,否则输出B。 #includestdio.h main() { int tall; char sex; printf( “input sex and tall :” ); scanf( “%c %d”, sex, tall ); if (sex==’F’) if (tall=150) printf(“ A ”); else printf(“ B ”); else if (tall=170) printf(“ A ”); else printf(“ B ”); } 思考题 有一函数:当x1时,y=x;当x=1且x10时,y=2x-1;当x=10时,y=3x-11,写一程序,输入x,输出y值 输入4个整数,要求按从小到大的顺序输出 4.4 switch语句 例4.6 根据输入的学生的成绩判断等级。当成绩score ≥90时为 A等; 成绩70≤score 90 为B等; 成绩60≤score 70 为C等; 成绩score 60 为D等 (score 为整数)。 思考题 给一个不多于5位的整数,要求:1.求出它是几位数;2.分别打印出每一位数字;3.按逆序打印出各位数字,例如原数为321,应输出123 上一页 下一页 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 教学目的和基本要求: 要求学生掌握选择结构程序设计,嵌套程序设计,学会运用if语句及switch语句。 教学重点: if语句、嵌套程序。 x在大于等于0和小于0两种不同的情况时,函数将用不同的表达式来求y的值,这时就需要在计算y的值之前,先对x的值进行判断,C语言中用选择语句来实现这一判断。算法N-S图如右上图所示。 x0 Y N y=3-x y=2x N-S图 C语言中的选择语句有两种: 双分支选择语句 if 多分支选择语句 switch 表达式 语句 真 假 语句 表达式 4.3.1 单分支if语句 说明:1. 条件表达式的值为1或0,必须用( )括住 2. 若有多条语句(复合语句)时,用{ }括住。 3. (条件表达式)后不要加; if (表达式) 语句; if (表达式) { 语句; 语句; ……} 例:计算分段函数 例4.1 输入一个数,如果该数大于等于0,则输出它的平方根,如果它小于0,则不做任何处理。 if (表达式) 语句1 else 语句2 首先先判断表达式的值 若为非0则执行语句1 若为0则执行语句2 执行过程: if语句的双分支形式,在语法上视为一条语句。 #include stdio.h main( ) { float a, b; scanf(“%f, %f”,a, b); if (ab)
文档评论(0)