`

C# 语句-循环语句

    博客分类:
  • C#
阅读更多

本文将介绍如何使用C#控制语句中的循环语句,本文目的如下:
1.学会"while"循环的用法。

2.学会"do" 循环的用法。

3.学会"for" 循环的用法。

4.学会foreach循环的用法。

5.进一步了解"break"语句的用法。

6.如何使用"continue"语句。


第一个要介绍的语句是while循环语句

1.清单 4-1. While循环:While loop.cs

 

using System;
class Whileloop {
public static void Main() {
int myInt = 0;

while (myInt < 10) {
Console.Write("{0} ", myInt);
myInt++;
}
Console.WriteLine();
}
}

 

说明


1.清单 4-1演示了一个简单的while 循环。

以关键字"while"开始,后面是个布尔表达式。所有的控制语句都使用了布尔表达式。这就意味着表达式必须计算出true 或者false值。本例中,我们将检查myInt变量,看看它是否小于10。 因为myInt已经初始化为0,第一次计算时,该布尔表达式将返回true值。一旦布尔表达式的值为true,将执行该布尔表达式后面块中的语句。

2.在while块中,我们把数字和空格输出到控制台中,之后,对 myInt进行加1运算。一旦执行了while块中的语句之后,再次计算布尔表达式的值,这种情况将一直循环下去,直到该布尔表达式的值为false为止。 一旦布尔表达式的值为false, 程序将从while 块之后的第一条语句开始执行。在本例中,我们把数字0到9输出到控制台中,之后退出while块,再输出一个新行到控制台。

同 "while"循环类似的是"do" 循环语句。

2.清单 4-2. Do 循环: Do loop.cs

 

using System;
class Doloop {
public static void Main() {
string myChoice;
do {
// Print A Menu
Console.WriteLine("My Address Book\n");
Console.WriteLine("A - Add New Address");
Console.WriteLine("D - Delete Address");
Console.WriteLine("M - Modify Address");
Console.WriteLine("V - View Addresses");
Console.WriteLine("Q - Quit\n");
Console.WriteLine("Choice (A,D,M,V,or Q): ");

// Retrieve the user's choice
myChoice = Console.ReadLine();
// Make a decision based on the user's choice
switch(myChoice) {
case "A":
case "a":
Console.WriteLine("You wish to add an address.");
break;
case "D":
case "d":
Console.WriteLine("You wish to delete an address.");
break;
case "M":
case "m":
Console.WriteLine("You wish to modify an address.");
break;
case "V":
case "v":
Console.WriteLine("You wish to view the address list.");
break;
case "Q":
case "q":
Console.WriteLine("Bye.");
break;
default:
Console.WriteLine("{0} is not a valid choice", myChoice);
}

// Pause to allow the user to see the results
Console.Write("Press any key to continue...");
Console.ReadLine();
Console.WriteLine();
} while (myChoice != "Q" && myChoice != "q"); // Keep going until the user wants to quit
}
}

 

说明


1.清单 4-2 演示了"do"循环的例子。 "do" 循环的格式是: do { <语句> } while (<布尔表达式>);其中的语句可以是任何合法的C#语句,布尔表达式同以前的规定一样,其返回值要么为true,要么为false。

2.如果你打算输出清单4-2 中的信息或者菜单,之后再读取用户的输入,那么就使用"do" 格式的循环而不要使用"while" 格式的循环语句。因为在本例中,布尔表达式的值是在循环结束处进行计算的, "do" 循环可以保证:循环体中的语句至少执行一次。与此相对应的是:"while" 循环一开始时,计算布尔表达式的值,"while" 循环不能保证循环体中的语句能够至少执行一次。

3.让我们来回顾一下清单 4-2中的内容。

在Main()方法中,我们定义了变量 "myChoice"为字符串类型。之后,输出一些信息到控制台,即输出一个可让用户进行选择的菜单。我们必须要得到用户的输入,即Console.ReadLine()方法所返回的值,该值存放在myChoice变量中。我们必须先得到用户的输入,之后再处理。要完成这件事,一个有效的方法是就使用 "switch"语句。注意到:为了获得同样的功能,我们既匹配了小写字母,也匹配了大写字母。另外一点是:我们使用了 "default:" case,这是个良好的编程作风。

3.清单 4-3. For 循环: For loop.cs

 

using System;
class Forloop {
public static void Main() {
for (int i=0; i < 20; i++) {
if (i == 10)
break;
if (i % 2 == 0)
continue;
Console.Write("{0} ", i);
}
Console.WriteLine();
}
}

 

说明


1.清单 4-3 演示了"for" 循环的用法。

当你能够精确地知道循环的次数时, For 循环语句就派上了用场。本程序同清单 4-1中"while" 循环程序的运行结果一样。 "for" 循环中,括号中内容由三个由分号隔开的部分: "(<初始化表>; <布尔表达式>; <post-loop 动作表>)"组成

2.初始化表是个由逗号隔开的表达式,在"for" 循环的整个周期中,这些表达式仅仅计算一次。计算是在一开始进行的,并且在循环语句的执行之前进行。正如在清单 4-3所见,通常初始化表是先初始化一个作为计数器的整型变量。

3.一旦进行初始化后, "for" 循环就进入第二部分:布尔表达式的计算。 这里的布尔表达式可以写得很复杂,但是结果只能是true或者false。布尔表达式通常用来验证计数器变量的状态。

4.一旦布尔表达式的值为true时,就会执行"for" 循环大括号中的语句。通常情况下,这些语句从左大括号开始,不中断地一直执行到右大括号。但在清单4-3中,有几个例外,几个"if"语句改变了程序的流程。

第一个"if"语句检查"i"是否等于10,这里使用了"break"语句,可在此处跳出循环,转入 "for"块后面的第一条语句的执行。

第二条"if"语句使用了求余运算符,看看"i"是否能够被2整除,如果余数等于0,就执行 "continue"语句。控制将跳过循环体中余下的语句,转入下一轮新的循环。你需要在块中正确地组织好语句,一旦满足有关条件,就执行相应的语句。

5.一旦程序流程遇到continue语句,或者遇到块的结尾处的右括号, 就转入"for" 循环括号中的第三项:post-loop 动作表,该表由逗号隔开,在"for"块中的语句都执行完毕之后,就执行该动作表中的动作。 清单 4-3中的 post-loop 动作表中的动作很典型:计数器加1。一旦动作表执行完毕,流程就转到对布尔表达式值进行判别。循环将继续进行下去,直到布尔表达式的值为true。当布尔表达式的值为false,控制流程就转到 "for"块之后的第一条语句。

4.清单 4-4. The ForEach 循环: ForEachloop.cs

 

using System;
class ForEachloop {
public static void Main() {
string[] names = {"Cheryl", "Joe", "Matt", "Robert"};
foreach (string person in names) {
Console.WriteLine("{0} ", person);
}
}
}

 

说明


1."foreach" 循环列举出集合中所有的元素。

清单 4-4所使用的数组类型,就是这样的一个集合。(在"System.Collections"也可以由其他的数据类型作集合。). 在Main()方法中,我们所做的第一件事是:定义由四个字符串组成的数组names。

2."foreach"括号中的表达式是由关键字in隔开的两个项组成。in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素。

该循环的运行过程如下:每一次循环时,从集合中取出一个新的元素值,放到只读变量中去,括号中的整个表达式返回值为true, "foreach"块中的语句就能够执行。一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到 "foreach" 块后面的第一条可执行语句。

3.在清单 4-4的例子中,我们使用了字符串变量person用来存放names数组的每个元素,并且使用Console.WriteLine()方法输出person 变量的值。

分享到:
评论

相关推荐

    第三章《C#流程控制语句-循环结构》.rar

    在C#中,主要有三种类型的循环:for循环、while循环和do...while循环。 2. for循环: for循环通常用于已知循环次数的情况。它由三部分组成:初始化、条件检查和更新。语法格式如下: ``` for (初始化; 条件; ...

    VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程_第08讲_流程控制-循环语句

    在本节“VS2010轻松学习C# - 从零到深入 - 天轰穿.NET4趣味编程视频教程”的第08讲中,我们聚焦于“流程控制 - 循环语句”。循环语句是编程语言中的关键概念,它们允许程序执行特定任务多次,而无需重复编写相同的...

    C#---计算器

    5. **条件语句和循环**:在处理运算符优先级和连续操作时,需要使用`if...else`结构和`switch`语句来决定何时进行何种计算。此外,可能还需要使用循环来处理连续输入,比如在用户未按下等于号前不断接收输入。 6. *...

    C#控制语句

    C#控制语句,循环语句等。C#控制语句,循环语句等。C#控制语句,循环语句等。C#控制语句,循环语句等。C#控制语句,循环语句等。

    C#应用程序开发-循环结构语句.pptx

    循环语句允许我们在满足特定条件时重复执行一段代码,这样可以避免编写大量重复的代码,提高代码的效率和可读性。 2. **循环四要素**: - **初始化部分**(init_statement):在循环开始前执行一次,通常用于设置...

    Beginning Visual C# 2005--C#入门经典(第三版)

    1. **C#基础知识**:包括变量、数据类型、控制结构(如if语句和循环)、函数、数组以及面向对象编程的基本概念,如类、对象、继承、封装和多态。 2. **类与对象**:深入理解类的定义和实例化,对象的创建和销毁,...

    C#--微软.NET的第一语言.rar

    运算符用于执行计算或逻辑判断,而控制结构如条件语句(if-else)和循环语句(for、while、do-while)则用于控制程序的执行流程。 接着,本书会介绍C#的类和对象,这是面向对象编程的核心概念。类是对象的模板,...

    C#的语句结构

    这个ppt主要讲解了C#得各种语句结构,有选择语句、循环语句、条件语句等。

    Programming Microsoft Visual C# 2005 - The Language

    1. **C#基础**:包括变量、数据类型(如基本类型、引用类型)、常量、运算符、控制结构(如if语句、循环、switch语句)以及方法的定义和调用。 2. **类与对象**:C#是面向对象的语言,书中会详细介绍类的定义、对象...

    ACCP 5.0 C#1-1章课件

    4. **控制结构**:包括条件语句(if-else、switch-case)、循环语句(for、while、do-while)和跳转语句(break、continue)。 5. **函数**:介绍函数的定义、参数传递、返回值,以及如何使用内置函数。 6. **面向...

    C#源码 -- 初学者

    - 控制流语句:包括条件语句(if/else,switch)、循环语句(for,while,do-while)以及跳转语句(break,continue)。 - 函数与方法:C#中的函数是一组执行特定任务的代码块,可以接受参数并返回值。 - 类与...

    C#教程-清华版

    1. **基础语法**:C#的基础语法包括变量声明、数据类型、运算符、流程控制(如if语句、switch语句、循环结构等)、函数的定义与调用。这些是所有编程语言的基础,也是学习C#的起点。 2. **面向对象编程**:C#是完全...

    易学易懂C#教程-A

    本教程分为A、B两部分,本资源包含的是A部分,可能涵盖了C#编程的基础概念,如变量、数据类型、控制流(包括条件语句和循环)、函数、数组和类等基本元素。以下是这些知识点的详细说明: 1. 变量与数据类型:C#中的...

    c#--清华IT ppt

    2. **控制结构**:包括条件语句(if-else)、循环语句(for、while、do-while)和选择结构(switch)。这些结构帮助程序员控制程序流程,根据条件执行特定的代码块。 3. **函数与方法**:函数是可重用的代码块,...

    中文教程 C#--微软.NET的第一语言

    C#中的控制流语句包括条件语句(如if-else、switch)、循环语句(如for、while、do-while)以及跳转语句(如break、continue)。理解和运用这些语句是编写逻辑复杂程序的关键。 【异常处理】 C#提供了一种强大的...

    通俗易懂的c#课件-C#入门级课件

    - **控制流**:包括条件语句(if-else)、循环(for、while、do-while)和跳转语句(break、continue)。 - **函数**:函数是代码重用的基本单元,C#支持方法、构造函数和析构函数等。 - **类和对象**:C#是面向...

    更锋利的C#代码--编写高质量C#程序

    - 当代码具有嵌套或包含关系时,如条件语句、循环或方法体内,应适当缩进以显示这种层级关系。 - 使用一致的缩进宽度(通常为4个空格)来表示代码块的范围。 2. **因换行而产生的缩进**: - 当一行代码过长而...

    21天学通C#--电子教案(PPT)

    2. **控制结构**:包括条件语句(if、switch)、循环语句(for、while、foreach)以及跳转语句(break、continue)。 3. **函数(方法)**:C#中的函数用于封装可重复使用的代码,通过参数传递数据,返回结果。 4....

    21天学通C#---已附有阅读软件

    1. **基础语法**:包括变量、数据类型(如整型、浮点型、字符串、布尔型等)、运算符(算术、比较、逻辑等)、流程控制(如条件语句、循环语句)。 2. **面向对象编程**:理解类和对象的概念,掌握封装、继承和多态...

Global site tag (gtag.js) - Google Analytics