C# —— 系统学习(控制结构)

下面时所有控制结构的实例与解析

条件分支结构 - if-else

cs 复制代码
int score = 85;
if (score >= 90)
{
    Console.WriteLine("优秀");
else if (score >= 80)
{
    Console.WriteLine("良好");
}
else
{
    Console.WriteLine("合格");
}

这段代码使用的是if-else条件语句链。它首先检查变量score是否大于等于90,如果是,则输出"优秀"。如果不是,则继续检查下一个条件(即score是否大于等于80),如果是,则输出"良好";如果score既不大于等于90也不大于等于80,则执行else后的语句块,输出"合格"。

switch-case

cs 复制代码
char gradeChar = 'B';
switch (gradeChar)
{
   case 'A':
        Console.WriteLine("优秀");
        break;
   case 'B':
       Console.WriteLine("良好");
        break;
    case 'C':
        Console.WriteLine("中等");
        break;
    default:
        Console.WriteLine("未知等级");
        break;
}

此段代码使用switch-case结构来根据变量gradeChar的值执行不同的代码块。当gradeChar等于'A'时,输出"优秀",接着遇到break语句结束当前case并跳出switch。同样,如果gradeChar等于'B'则输出"良好",等于'C'则输出"中等"。default语句用于匹配所有未列出的情况,此处输出"未知等级"。

循环结构 - for

cs 复制代码
for (int i = 1; i <= 10; i++) // 输出1到10
{
    Console.Write(i + " ");
}

这是一个for循环,初始化部分设置了变量i为1,条件部分检查i是否小于或等于10,每次循环结束后递增i的值。循环体内的代码会在满足条件的情况下重复执行,直到i不再小于或等于10为止。此循环会依次打印出1到10之间的整数,并在每个数字之间加上空格。

while循环

cs 复制代码
int counter = 0;
while (counter < 5)
{
    Console.WriteLine(counter);
    counter++;
}

这是一个while循环,只要条件counter < 5成立,就会一直执行循环体内的代码。初始时,counter被赋值为0,每次循环内部都会打印counter的当前值,并将其加1。因此,此循环将打印出0到4这五个数字,每次打印完都会更新counter的值。

do-while循环

cs 复制代码
int j = 0;
do
{
    Console.WriteLine(j);
    j++;
} while (j < 5); // 至少会执行一次循环体

do-while循环与while循环类似,但是它确保至少执行一次循环体,不管初始条件是否满足。在这里,先执行循环体,然后检查条件j < 5。所以无论初始时j是多少,都会首先打印j并增加它的值,之后再检查条件。同样,这个循环也会打印出0到4这五个数字。

跳转语句 - continue 和 break

cs 复制代码
for (int k = 1; k <= 10; k++)
{
   if (k == 5)
   {
        continue; // 当k等于5时,跳过本次循环体剩余部分,进入下一次循环
    }
    else if (k == 8)
    {
        break; // 当k等于8时,退出整个循环
    }
    Console.WriteLine(k);
}

在这段代码中,嵌套在一个for循环内有if-else条件语句。当变量k等于5时,continue语句被执行,这会导致程序立即跳过当前循环迭代的剩余部分,直接开始下一次迭代。而当k等于8时,break语句被执行,此时整个包含break的循环(即for循环)会被立即终止,不再执行后续的任何循环迭代。在没有遇到continue或break时,循环会正常打印出k的值。

相关推荐
Humbunklung6 分钟前
Rust Floem UI 框架使用简介
开发语言·ui·rust
钢铁男儿15 分钟前
C# 类和继承(扩展方法)
java·servlet·c#
爱炸薯条的小朋友27 分钟前
C#由于获取WPF窗口名称造成的异常报错问题
windows·c#·wpf
网安INF43 分钟前
RSA加密算法:非对称密码学的基石
java·开发语言·密码学
明月*清风44 分钟前
c++ —— 内存管理
开发语言·c++
蔡蓝1 小时前
设计模式-观察着模式
java·开发语言·设计模式
Lester_11011 小时前
嵌入式学习笔记 - freeRTOS xTaskResumeAll( )函数解析
笔记·stm32·单片机·学习·freertos
jackson凌1 小时前
【Java学习笔记】Math方法
java·笔记·学习
Humbunklung1 小时前
PySide6 GUI 学习笔记——常用类及控件使用方法(多行文本控件QTextEdit)
笔记·python·学习·pyqt
sealaugh321 小时前
aws(学习笔记第四十三课) s3_sns_sqs_lambda_chain
笔记·学习·aws