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

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

一、思维导图


20200828132131766.png


二、三大结构说明


1.顺序结构


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


2.分支结构


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


     20200828133430911.png                                                、


3.循环结构


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


20200828133612176.png

                                                     

三、实战演练


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


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#判断:C# 判断 | 菜鸟教程


C#循环:C# 循环 | 菜鸟教程


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

相关文章
C#的基本语法结构学习案例详解
C#的基本语法结构学习案例详解
61 0
|
21天前
|
安全 编译器 程序员
C# 中 foreach 循环和 for 循环深度比较
为什么建议你多数情况下使用 foreach 进行遍历循环?看完你就明白了
|
1月前
|
Java C#
如何避免在C#循环中使用await
如何避免在C#循环中使用await
101 9
|
6月前
|
C#
C#的基本语法结构学习
【5月更文挑战第17天】C#基础语法包括变量(如`int x = 10`)、常量(`const int MAX_VALUE = 100`)、运算符(如算术和比较运算符)、控制语句(if、for、while等)和函数声明(`int Add(int x, int y) { return x + y; }`)。这些构成C#程序的基本元素。
75 0
|
5月前
|
开发框架 .NET 程序员
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
33 0
C#中For循环和Foreach循环的区别
C#中For循环和Foreach循环的区别
124 0
C#基础Ⅱ-注释、快捷键、结构
C#基础Ⅱ-注释、快捷键、结构
|
6月前
|
C#
C# 循环与条件语句详解
使用 switch 语句选择要执行的多个代码块中的一个。 示例:
78 2
|
6月前
|
C#
C#基础语法(判断和循环)
C#基础语法(判断和循环)
57 1
|
6月前
|
C# 图形学
【Unity 3D】C#中while do while for foreach等循环语句的讲解(附测试代码)
【Unity 3D】C#中while do while for foreach等循环语句的讲解(附测试代码)
235 0