《《流程控制语句》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《流程控制语句》PPT课件.ppt(50页珍藏版)》请在金锄头文库上搜索。
1、Web编程基础编程基础ChapterChapter5 5- -流程流程控制语句控制语句陆莉莉陆莉莉8/13/20248/13/2024提纲提纲 控制结构控制结构条件语句条件语句循环语句循环语句跳转语句跳转语句函数函数5.1控制结构控制结构顺序执行顺序执行n语句按编写顺序执行三种控制结构三种控制结构n顺序结构n选择结构nifnifelsenswitchn循环结构nwhilendowhilenfornforin流程图流程图n算法或算法的一部分的图形表示n流程线n算法的动作执行顺序n矩形符号n任何类型的动作n椭圆符号n算法的开始和结束n菱形符号n判定符号5.1控制结构控制结构total = tota
2、l + gradetotal = total + grade;计数器加1counter = counter + counter = counter + 1 1;Fig. 5.1 用流程图表示顺序结构将单个成绩加到总成绩中5.1控制结构控制结构5.2条件语句条件语句if选择结构选择结构单路选择结构单路选择结构,一般格式为:一般格式为:if(表达式)(表达式)语句;语句;当条件为真时执行动作当条件为真时执行动作print “Passed”grade = 60truefalseFig. 5.2 流程图表示单路选择if结构判定:等于运算符与关系运算符判定:等于运算符与关系运算符5.5.2 2条件语句条
3、件语句ifif elseelse 选择结构选择结构当条件为当条件为truetrue或或falsefalse时执行不同的动作时执行不同的动作 一般格式为:一般格式为: ifif(表达式)(表达式) 语句语句1 1; elseelse 语句语句2 2;print “Failed”grade=60truefalseprint “Passed”Fig.5.3流程图表示双路选择ifelse结构5.5.2 2条件语句条件语句ifif elseelse 选择结构选择结构对对if.elseif.else语句进行扩展,形成多路分支结构:语句进行扩展,形成多路分支结构: if(condition1)if(cond
4、ition1) statement1; statement1; else if(condition2) else if(condition2) statement2; statement2; else if(condition3) else if(condition3) statement3; statement3; else else elsestatementelsestatement; ;5.5.2 2条件语句条件语句ifif elseelse 选择结构选择结构 var sMsg=; var oNow = new Date(); var iHour = oNow.getHours();
5、if(iHour 6) sMsg=凌晨了,还没休息吗?凌晨了,还没休息吗?; else if(iHour 8) sMsg=早上好!早上好!; else if(iHour 12) sMsg=上午好!上午好!; else if(iHour 14) sMsg=中午好!中午好! else if(iHour 18) sMsg=下午好!下午好! else if(iHour 22) sMsg=晚上好!晚上好!; else sMsg=夜深了,该休息了,做个好梦!夜深了,该休息了,做个好梦!; document.writeln(+sMsg+);5.5.2 2条件语句条件语句ifelse ifelse 选择结构选
6、择结构 条件运算符条件运算符 ( (?:?:) )nJavaScript的唯一三元运算符n格式:exp1?exp2:exp3含义:如果exp1结果为真,整个运算的结果为exp2; 如果exp1结果为假,整个运算的结果为exp3。例:var a = 8 ,b = 5; c = a b ? a + b : a b ;课堂示例课堂示例使用ifelse结构及三元运算符两种方法实现课堂示例课堂示例 ifelse语句 var now = new Date(); var hour = now.getHours();if (hour 10) document.write(早安!);else document.
7、write(“祝您愉快”); 如果浏览器时间小于10,那么会向您问早安,否则会向您问候祝您愉快!。 5.2条件语句条件语句switch多路选择结构switch的语法结构如下:的语法结构如下:switch(表达式表达式)case值值1:语句:语句;break;case值值2:语句:语句;break;.case值值N:语句:语句;break;default:语句:语句;5.2条件语句条件语句switch多路选择结构例:根据出生年月计算生肖例:根据出生年月计算生肖根据出生年月计算生肖根据出生年月计算生肖!- function showShengxiao() var iRemainder, sShen
8、xiao; var iYear = document.form1.txtYear.value;if(iYear = )alert(请输入出生年份!请输入出生年份!);document.form1.txtYear.focus();return;else iRemainder = iYear % 12;switch(iRemainder) case 0: sShengxiao = 猴猴;break; case 1: sShengxiao = 鸡鸡;break; case 2: sShengxiao = 狗狗;break;根据出生年月计算生肖case 3: sShengxiao = 猪猪;break
9、; case 4: sShengxiao = 鼠鼠;break; case 5: sShengxiao = 牛牛;break; case 6: sShengxiao = 虎虎;break; case 7: sShengxiao = 兔兔;break; case 8: sShengxiao = 龙龙;break; case 9: sShengxiao = 蛇蛇;break; 根据出生年月计算生肖根据出生年月计算生肖case 10: sShengxiao = 马马;break; case 11: sShengxiao = 羊羊;break; document.getElementById(Shen
10、gxiao).innerHTML=您的生肖是:您的生肖是: + sShengxiao + ; /-根据出生年月计算生肖 根据出生年份计算生肖根据出生年份计算生肖 请输入您的出生年份:请输入您的出生年份: 课堂练习课堂练习使用使用switch选择结构:选择结构:n根据学生等级,给出学生的成绩范围。A90-100 B80-89C70-79D60-69E60分以下课堂练习课堂练习 switch选择结构 var grade;grade = window.prompt(请输入学生等级: ,A);switch (grade)case A: document.write(90-100); br
11、eak;case B: document.write(80-89); break;case c: document.write(70-79); break;case D: document.write(60-69); break;case E: document.write(60分以下);default: document.write(Error!); 5.3循环语句循环语句do.while语句语句 do 循环体; while(表达式);先执行后判断,循环体至少执行一次。先执行后判断,循环体至少执行一次。条件true循环体false5.3循环语句循环语句课堂练习课堂练习1.使用dowhile结
12、构对从1到100的奇数求和。2.将用户输入的数累加并显示累加和,直到输入0为止。5.3循环语句循环语句while语句语句n当条件为真时重复执行动作while(表达式)循环体;while重复结构重复结构例:查找大于例:查找大于1000的数中第一个的数中第一个2的幂的幂varproduct=2;while(product=1000)product=2*product;product = 1000product = 2 * producttruefalse计数器控制重复的实质构造算法:计数器控制的重复构造算法:计数器控制的重复课堂练习课堂练习用while结构实现1+2+3+.+n (n由用户输入)由
13、用户输入):课堂练习课堂练习 while重复结构 var sum = 0, i = 1,number,n ; number = window.prompt(请输入一个整数:, 0); n = parseInt(number); while (i = n ) sum = sum + i ; i+; document.write( 1+2+3+.+ + n + = + sum ); 构造算法:标记控制的重复8.6.2构造算法:标记控制的重复构造算法:嵌套的控制结构课堂练习课堂练习求5的n次方,n为用户输入的大于零的整数:5.3循环语句循环语句for循环在几种重复结构中的格式与用法最灵循环在几种重复
14、结构中的格式与用法最灵活,它的一般格式为:活,它的一般格式为:n for(表达式1;表达式2;表达式3) 循环体;n表达式1:for循环的循环初值n表达式2:循环条件,值为false时循环结束n表达式3:每次循环时所进行的计算和更新for重复结构执行执行for重复结构的步骤:重复结构的步骤:n先计算表达式1(只计算一次)n接着检查表达式2的值是true还是false,若为false,则不执行语句语句(循环体),退出循环;若为true,就执行给定的语句。n再计算表达式3n再检查表达式2的值,根据值为true或为false决定是否执行循环体。for重复结构for ( varcounter= 1 ;
15、counter= 7 ;+counter)控制变量的初始值控制变量的增量控制变量名循环条件for重复结构for重复结构动态创建表格动态创建表格 function createTable() var iRowNum = document.form1.lstRowNum.value; var iColNum = document.form1.lstColNum.value; var sMsg=; sMsg = n; for(var i = 1; i = iRowNum; i+) sMsg += n; for(var j = 1; j = iColNum; j+) sMsg += 第第 + i +
16、行第行第 + j + 列列n; sMsg += n; sMsg += n; document.getElementById(div1).innerHTML = sMsg; 动态创建表格动态创建表格 动态创建表格动态创建表格 行数:行数: 1 2 9 10 列数:列数: 110 课堂练习课堂练习使用for结构对从1到100的偶数求和:forin语句语句for.in语句语句:针对对象的每个属性或数组:针对对象的每个属性或数组的每个元素的每个元素,执行一个或多个语句执行一个或多个语句。n for(variable in object|array) statement n循环的每次迭代前,variab
17、le被赋予object的下一个属性或array的下一个元素,然后可在循环内的任一语句中使用它。遍历数组遍历数组var xvar mycars = new Array()mycars0 = Saabmycars1 = Volvomycars2 = BMWfor (x in mycars)document.write(mycarsx + )5.4跳转语句跳转语句breakbreakn用于循环和switch语句n强行退出循环,不执行循环体中剩余的语句和剩余的循环次数。continuecontinuen只能用在循环语句中n停止继续执行循环体中下面的语句,跳回循环起始位置开始下一次循环。nfor循环:执行递增表达式,如果测试表达式为true,则再次执行循环。break和continue语句break和continue语句课堂练习课堂练习求123.n的总和,其中不包括5的倍数。(n由prompt对话框由用户输入)