C Sharp
Anything one man can imagine, other men can make real.
循环结构
while
,do-while
,for
,foreach
- while循环
while(循环条件)
{
循环体;
}
执行过程:
循环条件:当满足这个条件的时候,才进行循环。循环条件一般可以为bool类型的值或者关系表达式或者逻辑表达式。
程序运行到while处,首先判断while所带的循环条件是否成立,如果成立,也就是为true,则执行大括号中的循环体,当循环体执行完成一遍后,继续回到循环条件进行判断,如果成立,则执行,如果不成立,则跳出while循环。每个循环都有那么一行代码,能够改变循环条件,使之终有一天不再成立,如果程序中没有那么一行代码能够改变循环条件,那么我称之为这种循环叫做死循环。
注意
:在写while循环的时候,一定要分析出循环体和循环条件。
特点
:先判断,再执行,有可能一次都不执行。
break
1)跳出switch-case语句。
2)跳出循环
break单独放到循环中没意义,一般跟if配合着使用,表示当满足某个条件的时候,跳出循环。do-while循环的语法
do
{
循环体;
}while(循环条件);
执行过程:首先执行do中的循环体,执行完成后,去判断循环条件是否成立,如果成立,则继续回到do中执行循环体,如果不成立,则跳出do-while循环。
特点
:先执行,再判断,最少执行一遍循环体。
程序调试
F11
单步调试 逐语句调试
F10
逐过程
断点调试
今日代码
namespace ABC_Low_Level2
{
class Program
{
static void Main(string[] args)
{
/*2018.06.16--->循环
* 传智播客基础班第四天
*/
//请用户输入年份和月份,输入该月的天数
Console.WriteLine("请输入一个年份");
try
{
int year = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入一个月份");
try
{
int mouth = Convert.ToInt32(Console.ReadLine());
if (mouth >= 1 && mouth <= 12)
{
int day = 0; //存储天数
switch (mouth)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 2:
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
{
day = 29;
}
else
{
day = 28;
}
break;
default:
day = 30;
break;
}
Console.WriteLine("{0}年{1}月{2}天", year, mouth, day);
}
else
{
Console.WriteLine("月份需要在1-12之间");
Console.ReadKey();
}
}
catch
{
Console.WriteLine("月份输入有误,程序退出");
}
}
catch {
Console.WriteLine("年份输入有误,程序退出");
}
Console.ReadKey();
//提示用户输入yes或者no,只要不是yes或者no,就一直显示用户重新输入。
Console.WriteLine("请输入yes或者no");
string input = Console.ReadLine();
while (input != "yes" && input != "no")
{
Console.WriteLine("只能输入yes或者no,请重新输入");
input = Console.ReadLine();
}
Console.ReadKey();
//打印100次
int i = 0;
while(i <= 100)
{
Console.WriteLine("欢迎来传智播客学习");
i++;
}
Console.ReadKey();
//计算学员成绩
Console.Write("请输入班级人数:");
int students = Convert.ToInt32(Console.ReadLine()); //学生人数
int ij = 1;
int j = 0;
while (ij <= students) {
Console.WriteLine("请输入学员成绩:");
int scores = Convert.ToInt32(Console.ReadLine()); //学生成绩
j += scores;
i++;
}
double pingjunfen = j / students;
Console.WriteLine("学员的平均成绩为{0},总成绩为{1}",pingjunfen,j);
Console.ReadKey();
}
}
}