C#流程控制语句--跳转语句(break,continue,goto,return,)
跳转语句:是程序运行到某一位置时,可以跳到程序中另一个代码的语句。循环控制语句。
跳转语句:break
1.用于退出包含在最内层的循环或者退出一个switch或loop语句,程序流将继续紧接着loop或switch的下一条语句
For example
Console.WriteLine("请输入一个数:"); int iNum = Convert.ToInt32(Console.ReadLine());//记录输入数据 int i;//作为循环变量 for (i = 2; i < iNum; i++) { if (iNum % i == 0)//判断能否被自身整除 break; } if (i == iNum) { Console.WriteLine(iNum + " 是素数。"); } else { Console.WriteLine(iNum + " 不是素数。"); } Console.ReadLine();
int iNum = 1; //iNum从1到100递增 int iSum = 0; //记录每次累加后的结果 while (iNum <= 100) //iNum <= 100 是循环条件 { iSum += iNum; //把每次的iNum的值累加到上次累加的结果中 iNum++; //每次循环iNum的值加1 if (iNum == 50) //判断iNum的值是否为50 break; //退出循环 } Console.WriteLine("1到49的累加结果是:" + iSum); //输出结果 Console.ReadLine();
int stations = 18; Console.WriteLine("欢迎乘坐地铁1号线,本次列车即将从始发站出发:"); for (int i = 1; i <= stations; i++) { if (i == 4) { Console.WriteLine("列车即将抵达本次旅行的第" + i + "站,请下车的旅客做好下车准备。"); break; } else { Console.WriteLine("列车即将抵达本次旅行的第" + i + "站"); } } Console.ReadLine();
跳转语句:continue
1.用于跳过当前循环中的代码,并强迫开始下一循环。
2.continue语句只能用于while,do ...while, for , foreach语句中。
3.对于for循环,continue 语句会导致执行条件测试和循环增量部分。对于 while 和 do...while 循环,continue 语句会导致程序控制回到条件测试上。
For example
Console.WriteLine("剧院可售座位信息:"); for (int i = 1; i <= 4; i++) { for (int j = 1; j <= 10; j++) { if (j == 1 || j == 10) { continue; } else { Console.WriteLine("第" + i + "排,第 " + j + "列可售"); } } } Console.ReadLine();
Console.WriteLine("公司尚未使用的卡位:"); for (int i = 1; i <= 4; i++) { for (int j = 1; j <= 4; j++) { if ((i == 1 && j == 3) || (i == 3 && j == 2)) { continue; } else { Console.WriteLine("第 " + i + " 排,第 " + j + " 列"); } } } Console.ReadLine();
int iSum = 0; //定义变量,用来存储偶数和 int iNum = 1; //定义变量,用来作为循环变量 for (; iNum <= 100; iNum++) //执行for循环 { if (iNum % 2 == 1) //判断是否为偶数 continue; //继续下一次循环 iSum += iNum; //记录偶数的和 } Console.WriteLine("1到100之间的偶数的和:" + iSum); //输出偶数和 Console.ReadLine();
跳转语句:goto
1.用于将控制转移到由标签标记的语句。
2.goto 标识符; (标识符标识程序的位置 及标识符;)
goto case 参数表达式;
goto default;
3.goto的使用会使代码的易读性下降,在编写程序的时候尽量少用goto语句
For example
int a = 0; Console.WriteLine("5的阶乘等于几?根据选项选择正确答案,回车键确认:"); Console.WriteLine("1. 5!=5\n2. 5!=10\n3. 5!=20\n4. 5!=60"); error: { a++; if (a > 1) Console.WriteLine("很遗憾,您回答错了,请重新输入答案。"); } int option = int.Parse(Console.ReadLine()); switch (option) { case 1: case 2: case 3: goto error; case 4: goto right; default: Console.WriteLine("您选择的选项不存在,请重新进行选择"); break; } right: Console.WriteLine("恭喜你,答对了"); Console.ReadKey();
跳转语句:return
1,用于返回语句,只能用于方法中,当调用方法时,执行到return语句时,直接跳转到Main()函数
2,return;
return表达式;
For example
static void Main(string[] args) { while(true) { Console.WriteLine("请输入三个整数,按回车健确认每个数的输入:"); int a =int.Parse(Console.ReadLine()); int b =int.Parse(Console.ReadLine()); int c =int.Parse(Console.ReadLine()); double Average= average(a,b,c); Console.WriteLine("你输入三个整数的平均值是:{0}",Average); } } static double average(int a,int b,int c) { return(a+b+c)/3; }
Copyright@libaichen 287944304@qq.com