C#基础⑤——三大结构(顺序、分支、循环)

一、思维导图

二、三大结构说明

1.顺序结构

顾名思义,就是按照所写代码的书写顺序、从上到下的顺序来执行。

2.分支结构

有选择的来执行语句,如果条件为真执行语句1,如果条件为假执行语句2

                                                       

3.循环结构

循环,就是执行一段重复的代码。当满足表达式的条件时,会执行语句块,什么时候条件不满足了,就终止。但程序有可能一次都不执行

                                                        

三、实战演练

注:以下实例均只考虑输入正确情况

1.if...else:判断用户输入年份是否为闰年

Console.WriteLine("请输入年份");                   //提示用户输入年份
int year = Convert.ToInt32(Console.ReadLine());   //接收用户输入内容,转为int类型
bool result = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);    //能整除,能整除4但不能被100整除

if (result)                          //括号里面方判断条件,result现在有两个值,True和False。
{
    Console.WriteLine("是闰年");     //如果条件为真,是闰年
}
else
{
    Console.WriteLine("不是闰年");   //如果条件为假,不是闰年
}
Console.ReadKey();

2.switch...case:根据学生输入的成绩判断学生成绩等级

string str = "";                   //定义一个字符串变量
Console.WriteLine("请输入成绩");    
double result = Convert.ToDouble(Console.ReadLine());       //用户输入成绩为double类型

if (result >= 90)                  //成绩>=90:A
{
    str= "A";  
}
else if (result >=80)              //90>成绩>=80:B
{
   str = "B";
}
else if(result >=70)
{
    str = "C";                     //80>成绩>=70:C
}
else if(result >= 60)
{
    str = "D";                     //70>成绩>=60:D
}
else
{
   Console.WriteLine("等级为:E");   //成绩<60:E
}
Console.ReadKey();                 //等待用户输入指令

3.switch...case:根据用户输入成绩,判断用户成绩的等级

Console.WriteLine("请输入你的成绩");                       //提示用户输入
double result = Convert.ToDouble (Console.ReadLine());    //接受用户输入内容

switch (result)
{
    case 100:
    case 90:
        Console.WriteLine("优秀!");     //如果前一个case的输出语句与这个case的输出语句相同,则前一个可以省略
        break;
    case 80:
        Console.WriteLine("良好");
        break;
     case 70:
     case 60:
        Console.WriteLine("及格!");
        break;
     default:
         Console.WriteLine("不及格");
         break;
}
Console.ReadKey();                       //等待用户按下任意键退出

4.while :计算1-100的累加和

int i = 1;                                       //i的初始值为1
int sum = 0;                                     //累加和的初始值为0

while (i <= 100)                                 //循环
{
    sum = sum + i;                               //和累加
    i++;                                         //每次循环加1
}
Console.WriteLine("1-100的累加和为:{0}", sum);   //在控制台输出结果
Console.ReadKey();                               //等待用户按下某键并退出
 

5.do...while:不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出

string str = "";                           //定义一个字符串变量
int number = 0;                            //一个int类型变量,接收类型转换后的数字

do
{
    Console.WriteLine("请输入一个数字");      
    str = Console.ReadLine();              //接收用户输入的数字
 
    if (str != "q")                        //如果用户输入的数字不是q时
    {
        number = Convert.ToInt32 (str);    //将数字转为int类型
        Console.WriteLine("这个数的二倍是{0}", number * 2);   //打印这个数的二倍
    }
} while (str != "q");                      //当用户输入的输入不是q的时候就循环
Console.WriteLine("程序结束");              //输出结果
Console.ReadLine();                        //等待用户按下某键退出

6.for:1-100之间的整数相加,得到累加值大于20的当前数(比如:1+2+3+4+5+6=21)结果6

int sum = 0;                                 //一个int类型变量,计算和
for (int i = 1; i <= 100; i++)               //for循环,次数1-100
{
    sum += i;                                //和进行累加
    if (sum > 20)                            //如果和>20
   {
       Console.WriteLine("{0}-----------------------{1}",sum,i);  //输出结果
       break;                                                     //跳出循环,程序结束
    }
}
 Console.ReadKey();

7.while continue:实现计算1到100含之间的出了能被7整除之外所有整数的和

int i = 1;                       //一个int类型变量并赋初值
int sum = 0;                     //和初始化为0

while (i <= 100)                 //while循环,上限100
{
    if (i % 7 == 0)              //如果能被7整除
   {
       i++;                      //i+1
       continue;                 //跳出当前循环,执行下一次循环
   }
   sum += i;                     //和进行累加
   i++;                          //i+1
}
Console.WriteLine("总和为:{0}", sum);         //输出结果
Console.ReadKey();                            //等待用户按下某键退出

8.三元表达式:实现和if...else相同功能,只用一行就解决

表达式1?表达式2:表达式3

Console.WriteLine("请输入姓名");         //输入姓名
string name = Console.ReadLine();       //接收用户输入内容
string result = name =="小邓" ?"系统提示此人很纯洁" : "此人很邪恶";    //三元表达式
//如果用户输入的内容是“小邓”,则控制台输出"系统提示此人很纯洁",反之

Console.WriteLine(result);
Console.ReadKey();

四、拓展

C#判断:https://www.runoob.com/csharp/csharp-decision.html

C#循环:https://www.runoob.com/csharp/csharp-loops.html

 

所有的语言都离不开这三大结构,它对于我们代码的执行也起到很大作用,学一门语言时就弄懂它,以后在学类似的也都是回头复习的过程了。

猜你喜欢

转载自blog.csdn.net/weixin_43319713/article/details/108277740