(1) while循环

当表达式为真,则执行下面的语句;语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句;然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环。

【案例】

输入一字符串,以按Enter键结束,统计该字符中英文字符、数字字符及其他字符的个数。

【案例目的】

掌握while语句的用法。

【代码及分析】

namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
char c = Convert.ToChar(Console.Read());
int n = ;//n为统计一共输入了多少个字符
int nz = , ns = ,nq = ;
while (c != '\n')
{
if ((c >= 'a' && c <= 'z')|| (c >= 'A' && c<= 'Z'))//表示不管输入的英文字母是大小写都一并统计
nz++;//统计英文字符的变量 else if (c>=''&&c<='')//输入的数字字符统计
ns++;//统计数字字符的变量 else
nq++;//统计其他字符的变量 c = Convert.ToChar(Console.Read());
n++;
}
Console.WriteLine("一共输入{0}个字符,其中英文字符有{1},数字字符有{2},其他字符有{3}", n - , nz, ns, nq - );
Console.ReadLine();
}
}
}

运行结果如下:

(2)do-while循环

do…while 是先执行一次循环体,然后再判别表达式

【案例】

本案例输入一个自然数,要求将自然数的每一位数字按反序输出,例如:输入0254131,输出1314520 。

【案例目的】

掌握do-while循环语句及与while语句的区别。

【代码及分析】

namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
int num, digital;
Console.WriteLine("请输入一个自然数:");
num = int.Parse(Console.ReadLine());
do
{
digital = num % ;
num /= ;
Console.Write(digital);
} while (num > );
Console.ReadLine();
}
}
}

运行结果如下:

(3)for循环

表达式 1 首先执行且只执行一次;然后执行表达式 2,通常都是一个用于判定条件的表达式,如果表达式 2 条件成立,就执行(需要执行的语句);然后再执行表达式 3;再判断表达式 2,执行(需要执行的语句);再执行表达式 3.....一直到表达式 2 不成立时,跳出循环继续执行循环后面的语句。

【案例1】求阶乘的和

【代码】

namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
int sum = ;
int n = int.Parse(Console.ReadLine());
for (int i = ; i < n; i++)
{
int sum1 = ;//定义变量sum1,每次循环都赋予其初始值1,求阶乘专用
for (int j = ; j <= i + ; j++)
{
sum1 = sum1 * j;
}
sum = sum + sum1;//将每次阶乘的和相加
}
Console.WriteLine(sum);
Console.ReadLine();
}
}
}

运行结果如下:

第三章 C#程序结构 (3.3 循环结构)的更多相关文章

  1. 《算法》第三章部分程序 part 6

    ▶ 书中第三章部分程序,加上自己补充的代码,包含双向索引表.文建索引.稀疏向量类型 ● 双向索引表 package package01; import edu.princeton.cs.algs4.S ...

  2. 《算法》第三章部分程序 part 5

    ▶ 书中第三章部分程序,加上自己补充的代码,包含公共符号表.集合类型 ● 公共符号表,用于普通查找表的基本类 package package01; import java.util.NoSuchEle ...

  3. 《算法》第三章部分程序 part 4

    ▶ 书中第三章部分程序,加上自己补充的代码,包括散列表.线性探查表 ● 散列表 package package01; import edu.princeton.cs.algs4.Queue; impo ...

  4. 《算法》第三章部分程序 part 3

    ▶ 书中第三章部分程序,加上自己补充的代码,红黑树 ● 红黑树,大部分方法与注释与二叉树相同 package package01; import java.util.NoSuchElementExce ...

  5. 《算法》第三章部分程序 part 2

    ▶ 书中第三章部分程序,加上自己补充的代码,平衡二叉搜索树 ● 平衡二叉搜索树 package package01; import java.util.NoSuchElementException; ...

  6. 《算法》第三章部分程序 part 1

    ▶ 书中第三章部分程序,加上自己补充的代码,包括单词频率统计,(单链表)顺序查找表,二分查找表 ● 单词频率统计 package package01; import edu.princeton.cs. ...

  7. 第三章 C#程序结构(3.1 顺序与选择结构)

    [案例]输入某一学生的成绩,输出其对应的档次.具体规定:90分以上为优秀,80分以上至89分为良好,70分至79分为一般,60分至69分为合格,59以下为不及格.如果输入的分数小于0或大于100,则输 ...

  8. 第四章:条件语句(if)和循环结构(while)

    1.流程控制 含义与作用 Python程序执行,一定按照某种规律在执行 a.宏观一定是自上而下(逻辑上方代码一定比逻辑下方代码先执行):顺序结构b.遇到需要条件判断选择不同执行路线的执行方式:分支结构 ...

  9. JS 选择结构语句与循环结构语句

    笔记整理自:廖雪峰老师的JS教程 选择结构 与Java使用一致. 需要注意的 JavaScript把null.undefined.0.NaN和空字符串''视为false,其他值一概视为true. 循环 ...

  10. 第三章 C#程序结构[3.2 选择结构的应用(Windows窗体应用程序)(四)]

    [案例]设计一个顾客选购商品的系统.其中,顾客身份有两类,一类是VIP,另一类是普通会员:商品种类有3种.分别是上衣.裤子和鞋子.其中,VIP享受8折优惠和商店赠送的礼品,而普通会员都不享受.单击[确 ...

随机推荐

  1. 第十三周翻译-《Pro SQL Server Internals, 2nd edition》

    <Pro SQL Server Internals, 2nd edition> 作者:Dmitri Korotkevitch 翻译:赖慧芳 译文: 聚集索引 聚集索引指示表中数据的物理顺序 ...

  2. angular4 富文本编辑器

    使用quill富文本编辑器实现,angular项目中用到了ngx-quill插件. quill的GitHub地址:https://github.com/quilljs/quill ngx-quill的 ...

  3. python3读取MySQL-Front的MYSQL密码

    python3读取MySQL-Front的MYSQL密码 python3 mysql 密码 MySQL-Front 前言 同样的套路又来了,继续尝试从配置文件中读取敏感的信息,这次轮到的是MySQL- ...

  4. 选择性重传ARQ基本原理

    发送发可以连续发送多个数据包,接收方对于无差错的数据包进行正常接收,对于有差错数据包进行丢弃并发送NAKn进行差错反馈,对于n号数据包之后正确到达的数据包进行缓存,直到收到重发的,正确的n号数据包,再 ...

  5. linux之特殊字符

    特殊字符: 与路径和位置有关的特殊字符: ~  用户的家目录,超级用户为/root _  用户(-) 代表上一次用户所在路径 .代表当前目录(. 还有很多其他含义) ..代表上一级目录 通配符 *匹配 ...

  6. soapUI的安装及破解

    1.下载安装包 SoapUI SoapUI-Pro-x64-5.1.2.exe Protection-4.6.jar scz.key 2.安装SoapUI-Pro-x64-5.1.2.exe 3.拷贝 ...

  7. mysql 索引查询 、创建 create index 与 add index 的区别

    1.索引查询 ------TABLE_SCHEMA  库名:TABLE  表名 ------AND UPPER(INDEX_NAME) != 'PRIMARY'  只查询索引,不需要主键 SELECT ...

  8. 垃圾回收(GC Garbage collection)

    JS有自动垃圾清理机制, 如果有不需要用的对象,只需要设置对象=null即可 Var a = new object() a = null

  9. 复习string和数组

    两种实例化方式的区别 1)直接赋值(String str = "hello"):只开辟一块堆内存空间,并且会自动入池,不会产生垃圾. 2)构造方法(String str=  new ...

  10. 前端跨域(一):CORS

    上周做了一个移动端表单提交的页面,其中涉及到了跨域问题,想来也是惭愧,因为之前一直都没有遇到过这个问题,因此都没有深入探索过,只是知道有哪几种方式,这次终于借这个机会可以把遗留的知识点补一补了. 1. ...