c# 第13节 迭代语句、while、do...while、for、foreach、goto
本节内容:
1:迭代语句是什么
2:迭代语句之while
3:迭代语句之 do...while
4:迭代语句之for
5:迭代语句之foreach:
6:跳转语句break、continue、return
7:goto语句
1:迭代语句是什么
2:迭代语句之while
注意:while一定需要给他一个退出循环的条件;否则一直死循环
实例输出:1-10
namespace HelloWorld { class Hello { static void Main() { int a = 0; while (a<10){ //退出条件a<10 Console.WriteLine(a); a++; } Console.ReadKey(); } } }
3:迭代语句之 do...while
实例:
判断a的值,进行循环
namespace HelloWorld { class Hello { static void Main() { int a = 11; do { Console.WriteLine(a); a++; } while (a < 10); Console.ReadKey(); } } } //输出 //11
4:迭代语句之for
实例1:求输入数的阶乘
namespace HelloWorld { class Hello { static void Main() { int sum = 1; Console.Write("请输入你要阶乘的数:"); int number = int.Parse(Console.ReadLine()); for (int i = 1; i <= number;i++ ) { sum = sum * i; } Console.WriteLine("{0} 的阶乘是{1}",number,sum); Console.ReadKey(); } } } //输出 720
实例2:利用迭代输出9*9乘法表
namespace HelloWorld { class Hello { static void Main() { Console.WriteLine("==========9x9乘法表=========="); for (int i = 1; i <= 9;i++ ) { for (int j = 1; j <= i;j++ ) //i<j 一直循环 { Console.Write("{0}*{1}={2} ",i,j,i*j); if (i==j){ //判断i==j 输出了\n Console.WriteLine(); } } } Console.ReadLine(); } } }
5:迭代语句之foreach
C# 也支持 foreach 循环,使用foreach可以迭代数组或者一个集合对象。
实例:输入一个字符串 依次打印char
string str = Console.ReadLine(); foreach (char item in str)
{ if(! char.IsWhiteSpace(item)){ //新的语句判断字符是否为空 Console.WriteLine("char:{0}",item); } } Console.ReadLine();
6:跳转语句break、continue、return
break:退出循环
continue:结束当前循环,进入下一次循环
namespace HelloWorld { class Hello { static void Main() { int num = 10; for (int i = 0; i<num;i++ ) { if (i == 5) { //break; //退出循环 continue; //结束当前循环,进入下一次循环 } else { Console.WriteLine(i); } } Console.ReadKey(); } } }
return 的作用:
1:结束函数,跳回到Main函数
2:返回函数的返回值
3:调用函数的时候,函数没有return值,就不允许赋值
实例:写个三个相加、返回平均值
static void Main() { Console.Write("请输入三个数,按回车键进行下一次的输入:"); int num1 = int.Parse(Console.ReadLine()); int num2 = int.Parse(Console.ReadLine()); int num3 = int.Parse(Console.ReadLine()); double avage = avages(num1, num2, num3); Console.WriteLine("avage:{0}",avage); Console.ReadKey(); } static double avages(int a,int b,int c) { return (a + b + c) / 3; } }
7:goto语句
实例:
5的阶乘等于几?根据以下选项选择正确的答案,按回车键确定
using System; namespace HelloWorld { class Hello { static void Main() { Console.WriteLine("5的阶乘等于几?根据以下选项选择正确的答案,按回车键确定;"); Console.WriteLine(" 1:5!=5\n 2:5!=10\n 3:5!=20\n 4:5!=60\n" ); while (true){ int choice = int.Parse(Console.ReadLine()); int a = 0 ; //a=0 error: //a+1=1 ,当goto语句跳转时a再加1 a++; if (a > 1) { Console.WriteLine("回答错误"); continue; } switch (choice) { case 1 : case 2: case 3: goto error; case 4: goto right; default: Console.WriteLine("您输入的选择不存在;"); continue; } right: if (a==1){ Console.WriteLine("回答正确"); break; } } Console.ReadKey(); } } } //输出 720