C#语言中循环分类总结
C#语言中,循环主要分为4种,分别是:while循环、do while循环、for循环、foeach循环。下面我将分类对循环语句总结。
1、while循环:
如果循环条件为真,则执行循环体;执行完循环体之后,在判断条件是否为真,如果为真,再执行循环;然后再判断条件是否为真,就这样一直进行下去。直到循环条件的判定结果为假,才会结束循环。
值得注意的是,循环条件可以是值、变量、表达式,但是必须是bool类型。
//代码格式: //代码解释:
while(循环条件) //如果循环条件为真,则执行循环体,执行完循环体之后,在判断条件是否为真,如果为真,再执行循环题
{ //然后再判断条件是否为真,就这样一直进行下去,知道循环条件的判定结果为假,才会结束循环
循环体;
}
例如:在控制台中输出1000以内能被3整除的数
int num=1; //当前的数字
while (num<=1000)
{
if(num%3==0)
{
Console.WriteLine(num):
}
num++;
}
同时也可以将上述代码优化为:
int num=3;
while (num<1000)
{
Console.WriteLine(num);
num +=3;
}
2、do while 循环:
先执行一次循环体;然后判断循环条件是否满足,如果满足则再次执行循环体;然后再判断条件是否满足,知道条件不满足,才结束循环。
这里需要注意的是,do while与while语句的不同就在于,do while语句要先执行一次循环体、再判断条件,而while语句是先判断条件、再执行循环体。
//代码格式:
do
{
循环体
}
while(循环条件);
例如:控制台中提示用户输入一个正数,然后输出这个数字,如果用户输入的不是正数,则需要重新输入。
//while语句代码如下:
Console.Write("请输入一个正数:");
double number =double.Parse(Console.ReadLine());
while (number<=0)
{
Console.Write("请输入一个正数:");
number =double.Parse(Console.ReadLine());
}
Console.WriteLine("你输入的数字是:"+number);
//do while语句代码如下:
double number;
do
{
Console.Write("请输入一个正数:");
number =double.parse(Console.ReadLin());
}
while(number<=0);
Console.WriteLine("你输入的数字是:"+number);
可见,这种情况下,do while语句较while语句稍微简洁些。
3、for循环
首先运行表达式1,判断循环条件是否为真,如果为真,则执行循环体,执行完后再运行表达式2,接着在判断循环条件。。。。直到循环条件为假才会结束循环。
其中,表达式1可以是任何代码,并且一定会且只会执行一次;表达式2可以是任何代码,每当循环体执行之后执行。
//代码格式
for(表达式1;循环条件;表达式2)
{
循环体
}
示例:在控制台中输出100个你好。
for(int i=0;i<100;i++)
{
Console.WriteLine("你好");
}
for循环是在C#语言中,运用最广泛、最多的一个循环。
4、foreach循环
从数组或集合中,依次取出每一项的数据,每取出一项数据,就把数据赋值给循环变量,每一次赋值后,运行一次循环体。
这个循环比较特殊,它只能用于遍历数组或集合,同时该循环为只读循环,不能在循环体中更改数组或集合。
//代码格式:
foreach(数据类型 变量 in 数组或集合)
{
循环体
}
示例:已知有一个int类型的List的集合,变量名为numbers,要求依次输出集合中的每一项。
//for循环表示如下:
for(int i=0;i<numbers,Length;i++)
{
Console.WriteLine(numbers[i]);
} //foreach表示如下:
foreach(int item in numbers)
{
Console.WriteLine(item);
}
虽然从代码上看,两者相差不多,但是foreach语句具有更高的运行效率。
C#语言中循环分类总结的更多相关文章
- C语言中不同类型的循环(Different types of loops in C)
C语言中有三种类型的循环:for,while,do-while. while循环先判断循环条件. while (condition) { //gets executed after condition ...
- C语言中简单的for循环和浮点型变量
浮点型变量:常数中带有小数点的叫做浮点型 以下用for循环写一个摄氏度和华氏度的转换的C程序 [见 http://www.linuxidc.com/Linux/2013-08/88513.htm ] ...
- 分类-回归树模型(CART)在R语言中的实现
分类-回归树模型(CART)在R语言中的实现 CART模型 ,即Classification And Regression Trees.它和一般回归分析类似,是用来对变量进行解释和预测的工具,也是数据 ...
- C语言中储存类别和内存管理
C语言中储存类别和内存管理 储存类别 C语言提供了多种储存类别供我们使用,并且对应的有对应的内存管理策略,在了解C中的储存类型前,我们先了解一下与储存类型相关的一些概念. 1. 基础概念 对象:不同于 ...
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- 在易语言中调用MS SQL SERVER数据库存储过程方法总结
Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...
- Coursera-Getting and Cleaning Data-week4-R语言中的正则表达式以及文本处理
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Thursday, January 29, 2015 补上第四周笔记,以及本次课程总结. 第四周 ...
- 2.C语言中的关键字
1.auto 修饰局部变量,编译器默认所有局部变量都是用auto来修饰的,所以在程序中很少见到. 2.static 它作用可大了,除了可以修饰变量,还可以修饰函数,修饰变量,改变其作用域和生命周期,修 ...
- C语言中两位ASCII码可以表示汉字
最近偶然有人问到这个相关字符编码的问题,所以百度了下参考了这两个资料,进行了简单分析. ******************************************************** ...
随机推荐
- 杭电acm5698-瞬间移动(2016"百度之星" - 初赛(Astar Round2B))
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5698 Problem Description 有一个无限大的矩形,初始时你在左上角(即第一行第一列), ...
- bzoj 2005: [Noi2010]能量采集【莫比乌斯反演】
注意到k=gcd(x,y)-1,所以答案是 \[ 2*(\sum_{i=1}^{n}\sum_{i=1}^{m}gcd(i,j))-n*m \] 去掉前面的乘和后面的减,用莫比乌斯反演来推,设n< ...
- bzoj 1863: [Zjoi2006]trouble 皇帝的烦恼【二分+dp】
二分答案,注意l是max(a[i]+a[i+1]),r是sum_a 判断的时候用dp,设f[i]为i与1最少的相同颜色数,g[i]为i与1最多的相同颜色数,转移是f[i]=max(a[i]-(w-a[ ...
- P5107 能量采集
传送门 官方题解 话说最后的答案忘记取模了结果连暴力都挂了可海星-- //minamoto #include<bits/stdc++.h> #define R register #defi ...
- 洛谷P2082 区间覆盖(加强版)(珂朵莉树)
传送门 虽然是黄题而且还是一波离散就能解决的东西 然而珂朵莉树还是很好用 相当于一开始区间全为0,然后每一次区间赋值,问最后总权值 珂朵莉树搞一搞就好了 //minamoto #include< ...
- Ubuntu 下Python和pip的版本
首先python只是个指向特定版本的软链接,具体指向那个是可以我们自己设置的, 而在Ubuntu中默认是指向python2的,并且python2其实也是个指向特定版本的软链接 所以我们要做的就是删除这 ...
- 5分钟了解Python语言的简单介绍(转载)
< 转载于Python数据之道 - 本公众号秉承“让数据更有价值”的理念,主要分享数据相关的内容,包括数据分析,挖掘,可视化,机器学习,深度学习等.> ...
- Microsoft函数调用约定
Microsoft函数调用约定 对于所有调用共有的约定:ebx.ebp.esi.edi都是calle-save,即由被调用的函数负责它们的保存(如果被调用函数用到了这些寄存器的话) 先看函数调用发生了 ...
- docker学习教程
我们的docker学习教程可以分为以下几个部分,分别是: 第一:docker基础学习 第二:docker日志管理 第三:docker监控管理 第四:docker三剑客之一:docker-machine ...
- 463 Island Perimeter 岛屿的周长
详见:https://leetcode.com/problems/island-perimeter/description/ C++: class Solution { public: int isl ...