资源描述:
《C语言程序设计能力教程 教学课件 作者 赵凤芝 等 第4章选择结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章选择结构程序设计第一节选择结构程序设计简介1、选择结构(分支结构)是根据实际情况对给定的条件进行判断,依据条件成立与否执行不同操作语句的一种程序设计方法。是三种结构化程序设计方法之一。问题:1、从键盘输入一个数,如该数为正,打印,否则不打印;2、将考试成绩不及格的学生名单打印出来;3、解一元二次方程,求出相应的实根或复根。对于上述或类似问题,需要进行某种判断,并根据不同情况进行不同的处理,怎样进行程序设计?引入新的程序结构选择结构来解决。通常有两种形式可进行分支结构的程序设计:if结构、多分支选择结构(switch语句)2、选择结构标准流程图条件YN语句2语句1执行流程:先计算条件表
2、达式的值,如果为条件的值为Y(成立),则选择语句1执行;否则,如果为条件的值为N(成立),则选择语句2执行。【例4.1】:试用选择结构编写程序,判断学生成绩是否合格。问题分析:本例中学生成绩从键盘读入。判断学生成绩是否合格实际就是判断学生成绩是否大于或等于整数60。大于或等于整数60,则该学生成绩为合格,否则为不合格。流程图:开始输出合格score>=60结束定义score输入score输出不合格YN运行程序#includemain(){intscore;printf("Pleaseinputastudent'sscore:");scanf("%d",&score);if
3、(score>=60)printf("Thestudent'sscorehaspassed.");elseprintf("Thestudent'sscorehasn'tpassed.");}程序如下:选择结构本节重点if语句的缺省形式if语句的标准形式复合if语句if语句的嵌套一、if语句的三种基本形式1格式:if(表达式)语句功能:判断表达式的值,若为非0,执行语句,否则,跳过语句继续条件语句组YN第二节if语句【例4.2】:用if形式编写程序,判断变量x、y的值的大小关系并输出对应的数值。问题分析:本例要求判断变量x,y的值的大小关系。首先应该从键盘输入变量x,y的值,然后再采
4、用缺省形式if语句判断它们的大小关系并输出对应的数值。程序如下:#includemain(){intx,y;printf("Pleaseinputx,y:");scanf("%d,%d",&x,&y);if(x>y)printf("x>y");printf("%d,%d",x,y);}运行程序二、if-else形式语法格式:if(表达式)语句1;else语句2;功能:先判断括号内表达式的值,若为非0,执行语句1,否则,执行语句2。流程图:语句2条件YN语句1通常判断某年为闰年有两种情况:(1)年号能被4整除但不能被100整除;(2)年号能被400整除。假设用整型变
5、量Y表示该年的年号。上述两种情况分别可以表示为:(1)(Y%4==0)&&(Y%100!=0)(2)Y%400==0最终判断某年是否为闰年的表达式为:(Y%4==0)&&(Y%100!=0)
6、
7、(Y%400==0)【例4.3】:设计程序,判断某年是否为闰年。问题分析:流程图:开始Y%4==0&&Y%100!=0
8、
9、Y%400==0YYNN定义Y,leap输入Yleap=1leap=0leap==1输出Y为闰年输出Y非闰年结束#includemain(){intY,leap;printf("Pleaseinserttheyearnumber:");scanf("%d",&Y
10、);if((Y%4==0)&&(Y%100!=0)
11、
12、(Y%400==0))leap=1;elseleap=0;if(leap==1)printf("%disaleapyear.",Y);elseprintf("%disnotaleapyear.",Y);}程序如下运行程序三、if-else-if形式语法格式:if(表达式1)语句1;elseif(表达式2)语句2;…elseif(表达式n-1)语句n-1;else语句n;功能:首先计算表达式1的值,若值为真,则执行分支语句1;否则,再计算表达式2的值,若值为真,则执行分支语句2,…如果所有if后的表达式都不为真,则执行分支语句n。
13、if-else-if形式流程图表达式1语句1Y表达式2N语句2YN…表达式n-1Y语句n-1…N语句n【例4.4】编写程序,要求输入一个学生的考试成绩,输出其分数和对应的等级。问题分析:学生成绩共分5个等级:小于60分为“E”;60~70分为“D”;70~80分为“C”;80~90分为“B”;90分以上为“A”。#includemain(){intf;printf("Pleaseinputastuden