2022年面向对象程序设计课程辅导二.docx





《2022年面向对象程序设计课程辅导二.docx》由会员分享,可在线阅读,更多相关《2022年面向对象程序设计课程辅导二.docx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 面对对象程序设计课程辅导 二 - 流程掌握语句徐孝凯流程掌握语句用来掌握程序的执行流程,它包括挑选、循环和跳转三类语句;挑选类语句包括if语句和switch语句两种,用它们来解决实际应用中按不怜悯形进行不同处理的问题;如当调整职工工资时,应按不同的级别增长不同的工资;高校生交纳学费时,应按不同的专业交纳不同的学费;循环类语句包括for循环语句、 while循环语句和do 循环语句三种,用它们来解决实际应用中需要重复处理的问题;如当统计全体职工工资总和时,就需要重复地做加法,依次把每个人的工资累加起来;当从一批数据中查找具有最大值的一个数据时,需
2、要重复地做两个数的比较运算,每次把上一次比较得到的大者同一个新(即未比较)的数据比较,当同最终一个新的数据比较后得到的大者就是全部数据中的最大值;跳转类语句包括goto 语句、 continue语句、 break 语句和 return语句四种,用它们来转变次序向下执行的正常次序,而转向隐含或显式给出的语句位置,接着从今位置起向下执行;如当从一批数据中查找一个与给定值相等的数据时,最简洁的方法是从前向后使每一个数据依次同给定值进行比较,如不等就连续向下比较,如相等就说明查找胜利,应终止比较过程,此时就需要使用跳转语句转移到其他地方执行;这一章将依次介绍每一种流程掌握语句的语法格式、执行过程和应用
3、举例等内容;一、 if 语句 1. 语句格式if 语句又称条件语句,其语句格式为:if else if 语句是一种结构性语句,由于它又包含有语句,即 和可挑选的 ,这两条语句称为 if 语句的子句;在 if 语句格式中,其后的保留字 else 和是任选项,带与不带都是答应的;if 语句中的每个子句可以是任何可执行语句或空语句,可执行语句包括表达式语句、复合语句、以及任一种流程掌握语句等; 2. 语句执行过程if 语句的执行过程为:1 求的值,如它的值非 认为条件为假或不成立;0,就说明 (又称为条件)为真或成立,否就2 当条件为真就执行,为假就执行 ,但如 else部分被省略,就不会执行任何操
4、作;执行 if 语句的过程可用图 1-1 描述,其中菱形框表示判定,矩形框表示处理,带箭头的连线表示执行走向;图 1-1a 和b 分别表示省略和带有 else 部分的详细执行流程;1 / 29 名师归纳总结 - - - - - - -第 1 页,共 29 页精选学习资料 - - - - - - - - - 图 1-1 if 语句执行流程示意图 3. 语句格式举例1 ifx.=-1 c+; 2 ifx=a s1+=x; else s2+=x; 3 iffabsx=60 & grade=100 cout” pass ” endl ; 5 ifgrade100 cout”Score error.”
5、b coutb” endl ; else cout” a=b” endl ; 7 ifx*x+y*y=z*z c+; w=x+y+z ; 8 ifx y=3*x-1; z=sqrtfabsx+2; else y=6; z=y*powy,4-3; 在以上列举的语句中,作为判定条件的表达式有的为单个变量,有的为关系表达式,有的为规律表达式,作为子句的语句 1 或语句 2 有的为简洁语句,有的为复合语句;每条语句的执行过程一目了然,如执行第一条语句时,如 x 不等于 -1 成立,就执行 c+操作,否就不执行任何操作;执行其次条语句时,如 x 小于等于 a 成立,就执行 s1+=x 操作,否就执行 s
6、2+=x 操作;执行第八条语句时,如 x 不为 0,就执行格式中 所对应的复合语句,否就执行 所对应的复合语句; 4. 语句嵌套if 语句中的任何一个子句可以为任何可执行语句,当然仍可以是一条 if 语句,此种情形称为 if 语句的嵌套;当显现 if 语句嵌套时,不管书写格式如何,else 都将与它前面最靠近的 if 相配对,构成一条完整的 if 语句;如:1 if if else 2 if if else 3 if else if else 4 if else if 2 / 29 名师归纳总结 - - - - - - -第 2 页,共 29 页精选学习资料 - - - - - - - - -
7、 else if else 不是同它前面复合语句中的if相配对,而是与处于同留意:在其次条语句中,else一层次的最前面的if相配对; 5. 程序举例1 #include void main int x,y;coutx ;ifx0 y=1+2*x*x;else y=7*x-4;coutx=x, y=yendl; 该程序的功能是:依据从键盘上输入的x 的值运算并输出y 的值, y 的运算公式为: 1+2x2 x0 y= 7x-4 x0 2 #include #include void main double x,y;cinx ;ifx0 y=fabsx;else ifx10 y=expx*sin
8、x;else ifx20 y=powx,3;else y=3+2*x*logx coutsetw10xsetw10yendl;/ 分别使 x 和 y 的输出宽度为 10,即占有 10 个字符位置 y 的值, y 的运算公式为:该程序的功能是:依据 x 的值运算出分段函数 |x| x 0 y= e xsin x 0x10 x 20 x 3 10 3+2xln x x 20 3 #include void main int a,b,c,temp;3 / 29 名师归纳总结 - - - - - - -第 3 页,共 29 页精选学习资料 - - - - - - - - - coutabc ;ifab
9、 temp=a; a=b ; b=temp ; ifac temp=a; a=c ; c=temp ; ifbc temp=b; b=c ; c=temp ; couta b cendl; 该程序的功能是把从键盘上输入的按任意次序排列的三个整数转变为按从大到小的次序排列(即 abc)并输出出来;留意:对于每条 if 语句中的复合语句,其作用是交换两个变量的值,它第一把第一个变量的值暂存到 temp 变量中,接着把其次个变量的值赋给第一个变量,最终把 temp 变量的值,即第一个变量的原值赋给其次个变量中;如不通过中间变量temp,而是直接把第一个变量的值赋给其次个变量,再把其次个变量的值赋给第
10、一个变量,就不能够达到交换两个变量值的目的,请读者摸索!二、 switch 语句 1. 语句格式switch 语句又称情形语句或开关语句,它也是一种结构性语句,其语句格式为:switch 该语句中所包含的 通常是一条复合语句,并在内部的一些语句前加有特别的语句标号“case : ” 或“default:” ,因此, switch 语句的实际使用格式为:switch case : case : default: 该语句中可以使用一次或多次case 标号,但只能使用一次default标号,或者省略掉整个default部分;另外,多个case 标号也答应使用在同一条语句的前面;留意:语句标号只起到标
11、识语句位置的作用,对语句的执行不会产生任何影响;2. 语句执行过程switch 语句的执行过程为:1 运算出 的值,假定为 其整数部分作为结果值;M,如它不是整型,系统将自动舍去其小数部分,只取2 依次运算出每个常量表达式的值,假定它们的值依次为M1,M2,同样如它们的值不是整型,就自动转换为整型;4 / 29 名师归纳总结 - - - - - - -第 4 页,共 29 页精选学习资料 - - - - - - - - - 3 让 M 依次同 M1,M2,进行比较,一旦遇到M 与某个值相等,就就从对应标号的语句开头向下执行,如碰不到跳转语句的话,将始终执行到右花括号为止才终止整个 switch
12、 语句的执行,如 M 与全部值都不同,就当带有 default 部分时,就从该标号位置起向下执行,否就不执行任何操作;在实际使用switch语句时,通常要求当执行完某个语句标号后的一组语句后,就终止整个语句的执行,而不让它连续执行下一个语句标号后面的语句序列,为此,可通过使用break 语句来实现;该语句只有保留字break ,而没有其他任何成分;它是一条跳转语句,在 switch语句中执行到它时,将跳转到所属的switch语句的后面位置,系统将接着向下执行其他语句;3. 语句格式举例 1 switcha case 1: c1+; break ; case 2: c2+; break ; br
13、eak ; case 3: c3+ case 4: c4+; break ; default 2: c+; break ; 2 switchcr “ red ”endl ; break ; case red: cout case yellow: cout“ yellow ” endl ; break ; case blue: cout“blue ”endl ; break ; 3 switchch case a : case A : d1=x+y/2; d2=x*y-2; break; case b : case B : d1=a+b/2; d2=a*b-2; break; default:
14、cout“Input error.” endl ; exit1; 第一条语句执行时,将依据 a 的取值使相应的变量增 1,详细地说,当 a 取 1 时 c1 增 1,a取 2 时 c2 增 1,a 取 3 时 c3 增 1,取 4 时 c4 增 1, a 取其他任何值时就使变量 c 增 1,每执行增 1 操作后,都接着执行一条 break 语句,使执行流程转出整个 switch 语句,否就将会次序执行后面的增 1 语句;执行其次条语句时,将依据具有枚举类型 color 的变量 cr 的值打算输出哪一个常量标识符,当 ch 取值为 red (即 0)时输出 red 标识符,取值为yellow (
15、即 1)时输出 yellow标识符,取值为 blue (即 2)时输出 blue 标识符;输出最终一个常量标识符虽然没有使用break 语句转出去,但由于它后面就是语句终止标志,右花括号,所以也会自然地终止该语句;5 / 29 名师归纳总结 - - - - - - -第 5 页,共 29 页精选学习资料 - - - - - - - - - 当执行第三条语句时,如ch 值为小写字母a 或大写字母A,就执行 3 5 行的语句,如ch 值为小写字母b 或大写字母B,就执行7 9 行的语句,如ch 不是上述取值,就执行10 11 行后终止整个程序的运行;在 switch语句所含的复合语句中,可以包含任
16、何语句,当然仍可以是switch语句,所以 switch语句也答应显现嵌套的情形; 4. 程序举例1 #include void main int weekday;coutweekday ;switchweekday case 0: coutsundayendl; break ;case 1: coutMondayendl; break ;case 2: coutTuesdayendl; break ; break ;case 3: coutWednesdayendl case 4: coutThursdayendl; break ;case 5: coutFridayendl; break
17、;case 6: coutSaturdayendl; break ;default: coutInput error.endl 该程序的功能是:依据从键盘上输入的表示星期几的数字,对应输出它的英文名称;2 #include #include void main float score;: ;coutscore ;ifscore100 cout 输入数据有误!endl ;exit1; switchintscore/10 case 9: case 10: coutscore: 优endl ; break ;case 8: coutscore: 良endl ; break ;case 7: cout
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 面向 对象 程序设计 课程 辅导

限制150内