文档详情

控制结构(有动画)讲解.ppt

发布:2017-04-17约字共56页下载文档
文本预览下载声明
9.3 控制结构 9.4 常用算法 ;9.3 控 制 结 构;本单元教学目的;【引例】;程序段1: cinabc; p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); cout三角形面积为:sendl;;未考虑公式的适用条件;程序段2: { p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); cout三角形面积为:sendl; };;形式: 作用: 当程序中某个位置在语法上只允许一条语句, 而在语义上要执行多条语句才能完成某个操作 时,需要使用复合语句。 ;程序段3: if(a+bca+cbb+ca) {p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); cout三角形面积为:sendl; } ;?进一步思考: 如何在输入错误数据时允许重新输入,以便能得到正确的结果? ;二、 选择结构 ;1、比较两数大小1 2、比较两数大小2 3 、成绩转换 4、分组体检 ;if语句单分支形式示例;#include iostream.h void main() { int x,y,t; cout输入 x yendl; cinxy; if (xy) { t=x; x=y; y=t;} coutxyendl; };【例2】将任意输入的两个整数x,y中较大的数放 在max变量中,较小的数存于min变量中。;#include iostream.h void main() { int x,y,max,min; cout输入 x yendl; cinxy; if (xy) else coutmin=minendl; coutmax=maxendl; };;if语句多分支形式;if语句多分支形式示例;要点:;程序实现;if语句的嵌套形式;if语句的嵌套形式;程序实现;三 循环结构 ;1、累加和 2、猜数游戏 3、ASCII码对照表 4、求极大值 5、最大公约数 6、素数 7、穷举法;【例5】求1~99的奇数和,即s=1+3+5+ ……+99;实现 s=1+3+5+ ……+99 循环前准备:;又如“+=”、“-=”、“*=”、“/=”和“%=”等等都是复合赋值运算符,理解关键: 右端的表达式是一个整体 例如: ;#include iostream.h void main( ) { int i(1),s(0); while(i100) { s=s+i; i=i+2; } couts=sendl; };do 语句 while (表达式);;【例6】猜数游戏。计算机随机产生一个0~100之间的整数,用户通过输入的方式来猜测此数,根据比较的结果屏幕上会给出“大了”或“小了”的提示,根据提示重新猜测,直到猜对提示“恭喜你!猜对了”;cinguess; if(guessresult) cout“too big”; else if(guessresult) cout“too small”;;#include iostream.h #include stdlib.h void main() { int guess,result; cout产生随机数endl; result=rand()%101; do { cout输入猜测的数:endl; cinguess; if(guessresult) couttoo big; else if(guessresult) couttoo small; }while(guess!=result); cout恭喜你,猜对了!endl; };【例7】将可打印的ASCII码制成表格输出,使每个 字符与其编码值对应,每行打印7个字符。 ;程序实现;【例8】输入某班若干学生的成绩,求最高分。当 输入成绩为-1时表示输入结束。;程序实现;【例9】输入两自然数,利用辗转相除法求其最大公约数。;#include iostream.h void main( ) { int m, n, t, r; do { cout请输入 m n endl; cinmn; }while(m=0||n=0); if(mn) { t=m; m=n; n=t; } while( (r=m % n) !=0) { m=n; n=r;} cout最大
显示全部
相似文档