(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. angular 的navigate 各种使用情况

    navigate是Router类的一个方法,主要用来跳转路由. 函数定义: navigate(commands: any[], extras?: NavigationExtras) : Promise ...

  2. 页面制作学习笔记:D1.概述

    一.Web发展历史 Web1.0 :早期HTML页面:例:网易的门户网站163.com. Web2.0:AJAX技术规模应用:例:网易邮箱126.com. Web3.0:HTML5技术规模应用:例:网 ...

  3. 体验ToLua框架下热更新(Phpstudy)

    一.关于热更新的详细流程 首先我们需要需要将本机电脑作为服务器打开,这是第一步 1.1.1如何确定我们的电脑是作为服务器打开的. 我们打开一个浏览器在地址栏中输入127.0.0.1.或者是localh ...

  4. http协议发送post请求

    package post; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamR ...

  5. 如何利用伪类元素和vertical-align: middle;实现元素相对于父元素居中

    HTML部分 <div class="zhihu"> <div class="loginMain"> </div> < ...

  6. 玩转BLE(3)_使用微信蓝牙精简协议伪造记步数据

    1. 前言 在物联网时代,有一个问题肯定会让人头疼(现在已经初露端倪了): 物联网中的IOT设备有两个主要特点: 1)简单小巧(不具备复杂的人机交互接口,需要手机等终端设备辅助完成配置.控制等功能). ...

  7. HTML入门标签学习

    1.标题:<h1></h1>.<h2></h2>.<h3></h3>.<h4></h4>.<h5& ...

  8. JavaScript构造函数原理

    1.var obj={} plainObject 对象字面量/对象直接量2.构造函数创建 1).系统自带的构造函数 Object() var obj=new Object(); 和 var obj = ...

  9. SVG分组和引用

    这是我在掘金中的文章链接地址:https://juejin.im/post/5bcfe0fa51882577e3760467

  10. 学习笔记:分布式日志收集框架Flume

    业务现状分析 WebServer/ApplicationServer分散在各个机器上,想在大数据平台hadoop上进行统计分析,就需要先把日志收集到hadoop平台上. 思考:如何解决我们的数据从其他 ...