C#编程基础第七课:C#中的基本循环语句:while循环、do-while循环、for循环、foreach循环的使用

版权声明:王迪 https://blog.csdn.net/dnruanjian/article/details/83993562

知识点:while循环、do-while循环、forxufo循环、ach循环的使用。

1、while循环

特点:先判断条件,条件为真,执行循环语句。条件为假,直接结束循环语句。

语法:

while(条件表达式)
{
       循环语句;//如果条件为真,执行循环语句,如果条件为假,直接结束整个while语句
}

while循环执行流程:

while语句功能

  1. 计算表达式的值,当值为真(非0)时,执行循环体语句。
  2. 一旦条件为假,就停止执行循环体。
  3. 如果条件在开始时就为假,那么不执行循环体语句直接退出。

while循环代码练习:循环输出5遍“好好学习,天天向上”

        static void Main(string[] args)
        {
            //声明一个整型变量i,并赋初始值为1
            int i = 1;
            while (i <=5)//循环的条件,i小于等于5
            {
                Console.WriteLine("这是第{0}遍:好好学习,天天向上",i);
                i++;//给变量进行变化,自增长
            }
            Console.ReadLine();
        }

思考两个问题:

①循环变量要发生改变,不然循环就失去意义。要么一次不循环,要么陷入死循环。举例演示:将i=6或注释掉i++

②循环变量发生改变,i++ 和++i的区别

++在前面,就先执行+1,再输出变量。

++在后面,先输出变量,再执行+1。

            int num1 = 6, num2 = 6;     //声明两个变量,并赋初始值
            Console.WriteLine(num1++);  //输出6,num1先输出6,然后再增加1,变成7
            Console.WriteLine(num1);    //输出7,此时num1已经变成7
            Console.WriteLine(++num2);  //输出7,num2先增加1,变成7,然后再输出
            Console.WriteLine(num2);    //输出7

while循环课后练习:①计算1+2+……+100的和  ②计算100以内偶数的和

2、do-while循环

特点:先执行一次循环语句,然后再判断条件,如果条件为真,那么继续执行循环语句。如果条件为假,那么直接结束循环语句。

语法:

            do
            {
                循环语句;        
            }
            while (条件表达式);

do-while执行流程:

do-While语句功能

至少会执行一次循环语句

do-while循环代码练习:程序设定一个固定数值,提示用户输入整数,并判断大小,直到输入正确为止。

        static void Main(string[] args)
        {
            /*
             * 输入数字,判断数字与指定数字的关系,给出提示
             * 输入错误,则循环提示输入
             * 输入正确,则结束循环
             */
            int a = 123;//声明一个变量a,用以存放指定数值
            int b; //声明一个变量b,用以存放用户将输入的数值
            do
            {
                Console.WriteLine("请输入一个整数:");
                b = int.Parse(Console.ReadLine());
                if (b > a)
                {
                    Console.WriteLine("您输入的数字太大了");
                }
                else if (b < a)
                {
                    Console.WriteLine("您输入的数字太小了");
                }
                Console.WriteLine();
            }
            while (!(a == b));
            Console.WriteLine("输入正确");
            Console.ReadLine();
            
        }

do-while循环代码练习:程序指定账号和密码,提示用户输入账号密码,如果输入错误则提示错误,让用户继续输入。直到输入正确为止。

3、for循环

和while循环一样,先判断后执行,这两种循环可以互相代替。

for循环语法:

for(表达式1;表达式2;表达式3)
{
     循环语句;
}

for循环执行流程:

for语句功能

1、表达式1,通常为循环变量赋初值;

2、表达式2,即判断循环条件是否为真,若值为真则执行循环体一次, 否则跳出循环;

3、表达式3,这里通常写更新循环变量的赋值表达式,然后转回第2步重复执行;

for循环代码练习:一只青蛙一张嘴,两只眼睛四条腿,输出10只青蛙

        static void Main(string[] args)
        {
            //循环输出10只青蛙
            for(int i = 1; i <= 10; i++)
            {
                Console.WriteLine("{0}只青蛙,{0}张嘴,{1}只眼睛,{2}条腿",i,2*i,4*i);
            }
            Console.ReadLine();
        }

代码结果演示:

for循环的变体(表达式1、表达式2、表达式3都可以根据需要进行省略,但是三个表达式之间的分号不允许省略),此内容知道即可,建议写代码时要按正规方式写。

for循环代码练习:输出1-5与10的乘积

4、foreach循环

foreach循环是C#中特有的循环,它一般用于对数组、集合中的每个元素进遍历

foreach语法:

            foreach(数据类型 变量名 in 数组或集合名)
            {
                循环语句;
            }

foreach循环代码练习:遍历输出字符串中的每一个字

        static void Main(string[] args)
        {
            //将用户输入的话遍历输出
            Console.WriteLine("请输入一句话:");
            string yj = Console.ReadLine();
            foreach(char a in yj)
            {
                Console.WriteLine(a);
            }
            Console.ReadLine();
        }

代码结果演示:

5、while循环、do-while循环、for循环、foreach循环的区别

  • while循环和for循环,都是先判断条件,如果条件为真则执行循环。如果条件一开始就为假,则一次循环都不执行。
  • do-while循环,则是先执行一次循环语句,再判断条件。如果条件一开始就位假,那么至少会执行一次循环语句。
  • 三种循环,都有可能出现死循环,一般情况下,应当避免死循环的出现。
  • foreach循环,根据数组或集合中的每个元素来循环代码块。
  • for循环和foreach循环当中定义的初始化变量,只有自己才能用;while和do-while循环,初始化变量本来就在外面,所以外面也照样可以使用。

使用建议:

  1. 绝大多数情况下,while循环、do-while循环和for循环可以来回转换。
  2. 但是凡是次数确定、范围确定的情况,尽量使用for循环。
  3. 如果不在乎次数,只在乎条件是否成立,那么多用while循环。

课后循环练习:

1、猜数字游戏:程序指定一个数字,提示用户输入数字,并给出提示,如果错误,循环提示输入数字,直到输入正确为止。

2、智能机器人:循环接收用户输入的问题,并给出对应答案,直到程序库里缺少正确答案为止。(提示:使用contains()方法,只要用户输入字符中包含指定关键词,即触发答案)

提示:以上两题用到了循环和判断。先想清楚循环条件、循环语句。

猜你喜欢

转载自blog.csdn.net/dnruanjian/article/details/83993562