一 : 关于ASP中FOR循环的小应用
今天一大学同学突然问我一编程问题,让我用ASP帮她编写输出一如下图形:
*
***
*****
*******
一时间我还想不起该怎么回答了,相当惭愧。研究了半天才写出来了,感觉相当丢人。代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<%
dim n,i,a,b
for n=1 to 7 step 2
i = 0
a = 0
b = (7 - n)/2
for a = 1 to b
response.write " "
next
for i = 1 to n
response.write "*"
next
response.write "<br>"
next
%>
</body>
</html>
本文章出自Shuro's Blog(http://www.shuro.cn),转载请注明出处,谢谢!
二 : PHP跳出循环的方法及continue、break、exit的区别
PHP中的循环结构大致有for循环,while循环,do{} while 循环以及foreach循环几种,不管哪种循环中,在PHP中跳出循环大致有这么几种方式:
代码:
<?php
$i = 1;
while (true) { // 这里看上去这个循环会一直执行
if ($i==2){// 2跳过不显示
$i++;
continue;
} else if($i==5) {// 但到这里$i=5就跳出循循环了
break;
} else{
echo $i . '<br>';
}
$i++;
}
exit;
echo'这里不输出';
?>
结果:
1
3
4
continue是用来用在循环结构中,控制程序放弃本次循环continue语句之后的代码并转而进行下一次循环。continue本身并不跳出循环结构,只是放弃这一次循环。如果在非循环结构中(例如if语句中,switch语句中)使用continue,程序将会出错。
例如在下面的这段PHP代码片段中:
<?php
for($i = 1;$i <= 100; $i++ ){
if($i % 3 == 0 || $i % 7 == 0){
continue;
}
& #160; else{
echo”$i \n<br/>”;
}
}
?>
PHP的代码片段的作用是输出100以内,既不能被7整除又不能被3整除的那些自然数,循环中先用if条件语句判断那些能被整除的数,然后执行continue;语句,就直接进入了下个循环。不会执行下面的输出语句了。
break是被用在上面所提的各种循环和switch语句中的。他的作用是跳出当前的语法结构,执行下面的语句。break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出的层数,如果不带参数默认是跳出本重循环。
看下面这个多重循环嵌套的例子:
for($i = 1;$i <= 10; $i++ ){
for($j = 1;$j <= 10;$j++){
$m = $i * $i + $j * $j;
echo”$m \n<br/>”;
if($m < 90 || $m > 190[www.61k.com]) {
break 2;
}
}
}
这里使用了break2跳出了两重循环,你可以试验一眼,将2去掉,得到的结果是完全不一样的。如果不使用参数,跳出的只是本次循环,第一层循环会继续执行下去。
goto实际上只是一个运算符,和其他语言一样,PHP中也不鼓励滥用goto,滥用goto会导致程序的可读性严重下降。goto的作用是将程序的执行从当前位置跳转到其他任意位置,goto本身并没有要结束的循环的作用,但其跳转位置的作用使得其可以作为跳出循环使用。但PHP5.3及以上版本停止了对goto的支持,所以应该尽量避免使用goto。
下面的是一个使用了goto跳出循环的例子
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) <= 29){
goto a;
}
echo “$i”;
}
a:
echo” this is the end”;
例子中使用了goto来跳出循环,这个例子用来检测1000以内,那些数的平方根大于29。
exit是用来结束程序执行的。可以用在任何地方,本身没有跳出循环的含义。exit可以带一个参数,如果参数是字符串,PHP将会直接把字符串输出,如果参数是integer整形(范围是0-254),那个参数将会被作为结束状态使用。
<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
exit;
}
}
echo”本行将不会被输出”;
?>
上面这个例子中直接在从循环里结束了代码的运行,这样会导致后面的代码都不会被执行,如果是在一个php web页面里面,甚至连exit后面的html代码都不会被输出。
return语句是用来结束一段代码,并返回一个参数的。可以从一个函数里调用,也可以从一个include()或者require()语句包含的文件里来调用,也可以是在主程序里调用,如果是在函数里调用程序将会马上结束运行并返回参数,如果是include()或者require()语句包含的文件中被调用,程序执行将会马上返回到调用该文件的程序,而返回值将作为include()或者require()的返回值。而如果是在主程序中调用,那么主程序将会马上停止执行
<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
return;
}
}
echo”本行将不会被输出”;
?>
这里的例子和上面使用exit的效果是一样的。
这个当然是最好理解了,当循环满足循环临界条件时就是自己退出。
以上是PHP中跳出循环的几种方式的简单总结。
三 : For-Next循环语句--(第1课时)
【适用教材】广东教育出版社《信息技术》第一册
【适用年级】初二年级
一、教学内容分析
本节课讲授的是for-next循环语句,因为之前学生学习过顺序结构,分支结构中的条件语句,对编程有了一定的基础,但是循环语句相对于条件语句来说,语法和语句的工作流程都复杂了,所以在讲述for-next循环语句时,可以让学生分析程序的具体执行过程,引导学生分析for-next循环语句是如何实现程序的循环功能的,加深学生对循环功能的实现方法的理解。
二、教学对象分析
本节课的教学对象是初二学生,因为初二学生的理解能力有限,而这节课涉及的循环语句比较抽象,较难理解,因此在教学中宜比较自然地引入循环语句的功能、格式以及使用方法。并且为了学生更好地理解for-next语句,尽可能使用程序与流程图结合的方法进行讲解。
三、教学目标
1.初步理解循环结构的定义和作用;
2.初步掌握循环语句的一般格式;
3.结合for-next循环语句的执行流程图理解循环结构程序的执行过程。
四、教学重点以及教学难点
理解及初步掌握for-next循环语句。
五、教学过程设计
(一) 复习程序的顺序结构
前面我们讲过程序的顺序结构,计算机最基本的结构。计算机在执行程序时,按照从上往下的顺序依次执行语句,这样的结构称为顺序结构。
(二) 复习程序的分支结构
有时候处理问题时,比如判断一个年份是否闰年,需要根据某个条件进行判断,然后再决定程序的执行过程,这种程序结构称为分支结构。前面我们所学过的if-then-else条件语句就可实现条件的判断。
格式: 条件语句的执行过程:
if <条件> then
<语句块1>
else
<语句块2>
end if
(三) 讲述新课
引入:
有时,在解决一些问题时,经常需要重复执行一些操作,像计算1+2+3+……+100,其中要重复连续做99次加法操作,若用顺序结构来完成,将十分繁琐,我们可以利用vb提供的循环语句来完成。
1. for-next循环语句的格式
for <循环变量>=<初值> to <终值> step <步长>
<循环体>
next <循环变量>
说明:步长值可以为正数或者负数,本节课只涉及步长值为正数的情况。
2. 教师举例指导学生分析for-next循环语句在程序中的执行过程。
(1)实例1:在vb窗体显示输出1到10这十个数字。
程序:
for i=1 to 10 step 1
print i
next i
①分析此循环语句中,
循环变量是i
初值是1
终值是10
步长是1
循环体中的语句是print i
源程序代码窗口:
窗体窗口显示运行结果:
②分析for-next循环语句在实例1程序中的执行过程:
③讲解for-next循环语句的执行过程:
(2)分析程序2,程序如下所示:
s=0
for i=1 to 8 step 3
s=s+3
next i
print s
①分小组提问学生:此循环语句中,
循环变量是? 初值是?
终值是? 步长是?
循环体中的语句是?
next后的语句是?
②指导学生分析程序2的执行过程:
3. 教师归纳
(1)循环语句的功能:
利用循环语句,可以实现循环体内的语句反复执行。
(2)循环结构:
如果程序中含有循环语句,这种程序结构称为循环结构。
4.思考
在for-next循环语句中,循环次数由什么决定?
5.在思考的过程中,学生分析程序3的执行过程。
窗体窗口显示运行结果:
6.教师归纳
循环的次数由初值,终值和步长值共同决定。
7.教师小结
(1)对于已知循环次数的语句的执行,可以使用for-next语句。
格式:
for <循环变量>=<初值> to <终值> step <步长>
<循环体>
next <循环变量>
(2)关于for-next语句,补充说明以下几点:
① 关键字for、 to、 next 和“=”不能省略不写。
② 初值、终值、步长可以是数值型常量、变量或表达式。
③ 步长可以是正数,也可以是负数,当步长为1时,可 省略“step 1”。
8. 课堂练习
学生独立完成本节练习题。
六、教学评价设计
(一)学生填写教学评价表格
理解
基本理解
没理解
for-next语句的格式
for-next语句的执行过程
for-next语句的功能
(二)根据学生完成的课堂练习记录学生的学习情况。
附:教学幻灯片(点击此处)
四 : JavaScript中利用for循环遍历数组
先看一段代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> // 一个普通的数组 var arr =[3,5,2,6]; // 普通的for 循环遍历 for(var i = 0 ; i < arr.length; i++){ console.log(i,"类型:"+typeof i,arr[i]); } // 用for in 遍历数组 for(var k in arr){ console.log(k,"类型:"+typeof k,arr[k]); } </script> </body> </html>
这段代码显示出了 一点 for循环遍历数组 和for in 循环遍历 数组的一点区别:
标准的for循环中的i是number类型,表示的是数组的下标,但是foreach循环中的i表示的是数组的key是string类型。
这还不是坑,只是一点区别。
再看一段代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> // 一个普通的数组 var arr =[3,5,2,6]; // 在数组原型上扩展一个方法 Array.prototype.extend = function(){ console.log("在数组原型扩展一个方法"); } // 普通的for 循环遍历 for(var i = 0 ; i < arr.length; i++){ console.log(i,"类型:"+typeof i,arr[i]); } // 用for in 遍历数组 for(var k in arr){ console.log(k,"类型:"+typeof k,arr[k]); } </script> </body> </html>
这段代码就是在上边的代码的基础上,为Array做了一下扩充。很简单,只是添加了一个函数。但是我们来看运行会出现了什么情况:
输出的结果中,多出了一行,这一行就是我们扩展的一个函数,不是我们定义在数组中的值。到此这个问题就出来了。
综上所述,用for...in...在通常情况下确实可以正确运行。
但是如果我们在项目采用的是用foreach遍历数组,假设有一天谁不小心自己为了扩展js原生的Array类,或者引入一个外部的js框架也扩展了原生Array。那问题就来了。
所以最好还是用for循环遍历数组
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持61阅读。
本文标题:跳出for循环continue-关于ASP中FOR循环的小应用61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1