《程序设计基础教案112课时——选择结构多分支结构.docx》由会员分享,可在线阅读,更多相关《程序设计基础教案112课时——选择结构多分支结构.docx(9页珍藏版)》请在第一文库网上搜索。
1、教案序号11周次授课形式新授授课章节名称选择结构(三)多分支结构教学目的掌握多分支结构ife1se的嵌套使用教学重点多分支结构的理解教学难点使用if多分支结构使用教具机房课外作业课后体会授课主要内容一、多分支if,e1seif语句形式多分支ifCISe语句也称规则嵌套形式,一般形式为:if(表达式1)语句序列1e1seif(表达式2)语句序列2e1seif(表达式3)语句序列3e1seif(表达式nT)语句序列nTe1se语句序列n这种结构是从上到下逐个对条件进行判断,一旦发现条件满足点就执行与它有关的语句,并跳过其它剩余阶梯;若没有一个条件满足,则执行最后一个e1se语句n。最后这个e1se
2、常起着缺省条件的作用。其流程图如图4.8所示。图4.8多分支if结构例4.10判断从键盘输入的字符是数字、字母、空格还是其它字符。算法分析:ASCII码表中的每个字符都有一个值,ASCII码表的编排也是有一定规律的,通常同一类别的字符相邻而放,其值也是连续的。比如09的ASCn码值是4857、AZASCII码值是6590、azASCII码值是97122。判断字符的类别就是判断字符对应的ASCII值的大小、范围。其流程图如图4.9图4.9例4.10流程图所示。程序代码:#inc1udeintmain()(charchi;Printf(请输入一个字符:n);SCanf(%c”,&ch1);prin
3、tf(输入的字符是:”);if(ch1=0,&ch1,a,&ch1=*A,&ch189M_一假输出优sKscore74输出良score60输出及格输出不及格算法流程图如图4.10所示。据此算法写出源程序如下:ftinc1ude图4.10例4.11流程图intmain()intscore,num;Printf(请输入学生的学号,分数:n);scanf(,%d,%c,&num,&score);if(score89)Printf(学号:%d的学生,成绩优n,num);e1seif(score74)Printf(学号:%d的学生,成绩良n,num);e1seif(score60)Printf(学号:%
4、d的学生,成绩及格n”,num)e1sePrintf(学号:d的学生,成绩不及格n,num)return0;例4.12有一函数:1-I当x0y=0编一程序,对输入的X值,输出对应的y值。判断以下3种方法是否都正确?方法1:ftinc1udeintmain()(f1oatx;inty;printf(请输入一个X值:”);scanf(%f,&x);if(x0)y=1;printf(%c,y);returnO;)方法2:ftinc1udeintmain()f1oatx;inty;printf(请输入一个x值:;scanf(,%fz,&x);if(x0)y=-1;e1seif(x0)y=0;e1sey
5、=1;printf(%c,y);return0;方法3:#inc1udeintmain()f1oatx;inty;pritf(请输入一个X值:);scanf(z/%fz,&x);if(x=0)(if(x0)y=1;e1sey=0;)e1sey=-1;printf(,z%d,z,y);return0;)分析;上述3种方法都正确。方法1用了三条if语句;方法2用了ife1seif语句;方法3的if语句中又有ife1se语句。注意:在if语句中又包含一个或多个if语句称为if语句的嵌套。一般形式如下:if()if)语句1-1内嵌ifeIse语句2e1seif()语句3IKF/内嵌ife1se语句4应
6、当注意if与e1se的配对关系。为防止二义性的出现,e1se总是与它上面的最近的未配对的if配对。如果if与e1se的数目不一样,为实现程序设计者的目的,可以加花括弧来确定配对关系。例如:if()if()语句1e1se语句2此时限定了内嵌if语句的范围,因此e1se与第一个if配对。例4.13从键盘输入三个数,求其中最大数。方法1:算法N-S流程图如图4.11所示。据此算法写出源程序如下:ttinc1udeintmain()intX,y,z,max;Printf(请输入三个整形数据X,y,zn);scanf(,z%d,%d,%d,&x,&y,&z);max=x;if(zy)e1seif(yx)max=y;)Printf(三个数中最大数是:%dn,z,max);returnO;)运行情况如下:请输入三个整形数据x,y,z6,4,9三个数中最大数是:9请输入三个整形数据,y-N1,26,4三个数中最大数是:2688,6,2三个数中最大数是:88