原文地址:http://www.dingos.cn/index.php?topic=937.0
【什么是循环】
循环是程序中重复执行,直到满足指定条件才停止的一段代码。控制循环执行的条件在编码时用到了关系和逻辑运算符。
循环结构的特点:
1. 循环有一个起始点 (循环的初始条件)。
2. 循环在条件 (循环条件)满足时执行循环操作,否则循环结束。
3. 循环过程中需要检查循环执行的状态 (修改循环变量)。
Csharp中常见的循环结构:
循环是程序中重复执行,直到满足指定条件才停止的一段代码。控制循环执行的条件在编码时用到了关系和逻辑运算符。
循环结构的特点:
1. 循环有一个起始点 (循环的初始条件)。
2. 循环在条件 (循环条件)满足时执行循环操作,否则循环结束。
3. 循环过程中需要检查循环执行的状态 (修改循环变量)。
Csharp中常见的循环结构:
- while循环
- do-while循环
- for循环
- foreach循环
【for循环】
执行步骤:
1. 初始化参数(只执行一遍)。
2. 循环条件判断,如果为真执行循环体,如果为假退出循环,执行循环体后面的语句。
3. 更新循环变量。
4. 重复步骤2和步骤3。
使用for循环结构的步骤
1、分析循环条件和循环操作
2、套用for语法写出代码
3、检查循环是否能够退出
示例
for(初始化计数; 条件测试; 再求值参数){
语句;
}
初始化计数是一个赋值语句,它在进入循环前设置循环控制变量
条件测试是一个关系表达式,它决定何时退出循环
再求值参数定义每次执行循环时循环控制变量如何变化
for 循环的三个部分必须用分号 ( ; ) 隔开
组成循环体的语句可以是单个语句,也可以是复合语句
只要测试条件的求值结果为true,for循环就继续执行。当条件变为false时,程序将继续执行for循环后面的语句。
语句;
}
初始化计数是一个赋值语句,它在进入循环前设置循环控制变量
条件测试是一个关系表达式,它决定何时退出循环
再求值参数定义每次执行循环时循环控制变量如何变化
for 循环的三个部分必须用分号 ( ; ) 隔开
组成循环体的语句可以是单个语句,也可以是复合语句
只要测试条件的求值结果为true,for循环就继续执行。当条件变为false时,程序将继续执行for循环后面的语句。
执行步骤:
1. 初始化参数(只执行一遍)。
2. 循环条件判断,如果为真执行循环体,如果为假退出循环,执行循环体后面的语句。
3. 更新循环变量。
4. 重复步骤2和步骤3。
使用for循环结构的步骤
1、分析循环条件和循环操作
2、套用for语法写出代码
3、检查循环是否能够退出
示例
using System;
class Test {
public static void Main(){
int count;
public static void Main(){
int count;
Console.WriteLine("/tThis is a /n");
for(count = 1; count <=6 ; count++)
Console.WriteLine("/n/t/t nice");
Console.WriteLine("/n/t/t world./n");
}
}
【逗号运算符】
通过在for循环署名中包含多哥初始化表达式或增量表达式,可以扩展for循环作用域。
示例
在for循环中,初始化参数是:i=0,j=max
再求值(增量)参数有两个表达式组成:i++,j--
通过在for循环署名中包含多哥初始化表达式或增量表达式,可以扩展for循环作用域。
exprn1, exprn2 ;
表达式被逗号运算符隔开,从左向右求值。
示例
using System;
class Test {
public static void Main(){
int i, j , max;
public static void Main(){
int i, j , max;
Console.WriteLine("Please enter the maximum value /n");
Console.WriteLine("for which a table can be printed: ");
max = Convert.ToInt32(Console.ReadLine());
for(i = 0, j = max; i <= max ; i++, j--)
Console.WriteLine("/n%d
+
%d
=
%d",i, j, i + j);
}
}
说明
在for循环中,初始化参数是:i=0,j=max
再求值(增量)参数有两个表达式组成:i++,j--
【嵌套for循环】
如果一个for循环出现在另一个for循环中,则称它为嵌套循环。
示例
如果一个for循环出现在另一个for循环中,则称它为嵌套循环。
for(i = 1; i<max1; i++){
……
for(j = 0; j < = max2; j++){
… …
}
……
}
for(j = 0; j < = max2; j++){
… …
}
……
}
示例
using System;
class Test {
public static void Main(){
int i, j, k;
public static void Main(){
int i, j, k;
i = 0;
Console.WriteLine("Enter no. of rows:");
i = Convert.ToInt32(Console.ReadLine());
for (j = 0; j < i ; j++){
for (k = 0; k <= j; k++)
Console.Write("*");
Console.Write("/n");
}
}
}
这个程序是在每一行中显示“*”的数量增加1。
}
【for循环更多知识】
使用for循环可以包含部分定义,或不包含任何定义
使用for循环可以不包含任何循环体(语句),有助于提高某些算法的效率和创建时间延迟循环
使用for循环可以包含部分定义,或不包含任何定义
for( ;num<100)或 for( ; ;)
使用for循环可以不包含任何循环体(语句),有助于提高某些算法的效率和创建时间延迟循环
for(i=0;i<xyz_value;i++)
【while循环】
while(条件为true)
执行步骤
1. 判断条件是否为真,如果为真则进入循环体,如果不为真则执行while循环后的语句。
2. 执行循环体中的内容(包括修改循环变量)。
3. 重复执行步骤1。
使用while循环的步骤
1、分析循环条件和循环操作
2、套用while语法写出代码
3、检查循环是否能够退出
示例
和for循环不一样,while循环在执行循环前检查条件。
while(条件为true)
语句;
语句可以是空语句、一个简单的语句或语句块
如果while循环中包含一组语句,必须用{}括起来
只要条件为真循环就会迭代
语句可以是空语句、一个简单的语句或语句块
如果while循环中包含一组语句,必须用{}括起来
只要条件为真循环就会迭代
执行步骤
1. 判断条件是否为真,如果为真则进入循环体,如果不为真则执行while循环后的语句。
2. 执行循环体中的内容(包括修改循环变量)。
3. 重复执行步骤1。
使用while循环的步骤
1、分析循环条件和循环操作
2、套用while语法写出代码
3、检查循环是否能够退出
示例
using System;
class Test {
public static void Main(){
int count = 1;
public static void Main(){
int count = 1;
while(count <= 10){
Console.WriteLine("This is iteration{0}",count);
count++;
}
Console.WriteLine("/nThe loop is completed.");
}
}
}
和for循环不一样,while循环在执行循环前检查条件。
【do-while循环】
do{
执行步骤:
1. 执行循环体中的语句(包括修改循环变量)。
2. 判断循环条件,如果条件为真在重复执行循环体中的内容,如果条件为假时执行循环体外的内容。
3. 重复执行步骤1和步骤2。
示例
do{
语句;
}while(条件)
do...while 循环中,循环体中的代码。
在条件测试执行前执行一次条件变为 false 时,do while 循环终止;控制权传递给紧跟在 while 语句之后的语句
}while(条件)
do...while 循环中,循环体中的代码。
在条件测试执行前执行一次条件变为 false 时,do while 循环终止;控制权传递给紧跟在 while 语句之后的语句
执行步骤:
1. 执行循环体中的语句(包括修改循环变量)。
2. 判断循环条件,如果条件为真在重复执行循环体中的内容,如果条件为假时执行循环体外的内容。
3. 重复执行步骤1和步骤2。
示例
using System;
class Test {
public static void Main(){
int num1, num2;
public static void Main(){
int num1, num2;
num2 = 0;
do{
Console.WriteLine("Enter a number : ");
num1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("No. is {0}",num1);
num2++;
} while (num1 != 0);
Console.WriteLine("The total numbers entered were {0}", --num2);
}
}
接受并显示一些整数,直到输入0(零),然后退出整个循环,并打印输入的整数的个数。
}
【while循环和do-while循环的区别】
1. 语法不同
while循环:
do-while循环:
2. 初始情况不满足循环条件时while循环一次都不会执行
do-while循环不管任何情况都至少执行一次
1. 语法不同
while循环:
while ( 循环条件 ) {
循环操作
}
先判断,再执行
}
do-while循环:
do {
循环操作
} while( 循环条件 );
先执行,再判断
} while( 循环条件 );
2. 初始情况不满足循环条件时while循环一次都不会执行
do-while循环不管任何情况都至少执行一次
【foreach循环】
foreach (元素类型 变量名 in 集合或者数组名){
说明:
1. “元素类型”必须和集合或数组中的元素类型相符。
2. 循环变量集合和数组中的元素。
3. 遍历过程中只能方法集合或数组中的元素,不能修改他们。
4. 使用时优先考虑使用foreach语句。
foreach (元素类型 变量名 in 集合或者数组名){
// 语句
}
}
说明:
1. “元素类型”必须和集合或数组中的元素类型相符。
2. 循环变量集合和数组中的元素。
3. 遍历过程中只能方法集合或数组中的元素,不能修改他们。
4. 使用时优先考虑使用foreach语句。
【多重循环】
当循环体中包含其他的循环结构称为 多重循环。
在使用多重循环时要注意循环的嵌套,保证在 外循环结束前内循环已经结束。
当循环体中包含其他的循环结构称为 多重循环。
在使用多重循环时要注意循环的嵌套,保证在 外循环结束前内循环已经结束。
【跳转语句 - return】
return expression
return expression
return 语句用于从函数中返回
return 语句可以带有值,该值将返回给调用程序,它使执行返回到调用函数的位置,表达式是可选的,一个函数中可以使用多个return语句,但是遇到第一个return语句时返回
return 语句可以带有值,该值将返回给调用程序,它使执行返回到调用函数的位置,表达式是可选的,一个函数中可以使用多个return语句,但是遇到第一个return语句时返回
【跳转语句 - break】
用于在 switch 语句中终止case;也可以用于在循环中突然终止循环,当循环中遇到 break 语句时,循环立即终止,控制权传递给循环之后的语句。
示例
用于在 switch 语句中终止case;也可以用于在循环中突然终止循环,当循环中遇到 break 语句时,循环立即终止,控制权传递给循环之后的语句。
示例
using System;
class Test {
public static void Main(){
int count1, count2;
public static void Main(){
int count1, count2;
for(count1 = 1, count2 = 0;count1 <=100; count1++){
Console.WriteLine("Enter {0} count2 : ",count1);
count2 = Convert.ToInt32(Console.ReadLine());
if(count2 == 100)
break;
}
}
}
【跳转语句 - continue】
continue 语句让封闭循环进行下一次迭代遇到该语句时,跳过循环体中剩余的语句,控制权传递给重新初始化
continue 语句让封闭循环进行下一次迭代遇到该语句时,跳过循环体中剩余的语句,控制权传递给重新初始化
在while循环和do…while循环中,程序控制权传递个条件测试语句
在for循环中,continue影响循环的增量部分,然后执行条件测试
示例
在for循环中,continue影响循环的增量部分,然后执行条件测试
示例
using System;
class Test {
public static void Main(){
int num;
public static void Main(){
int num;
for(num = 1; num <=100; num++){
if(num % 9 == 0)
continue;
Console.Write(num + "/t");
}
Console.WriteLine();
}
}
打印1-100之间不能被9整除的数
}