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的值。

相关推荐
YUS云生1 小时前
Python学习笔记·第31天:FastAPI入门——路由、路径参数、查询参数与请求体
笔记·python·学习
玖玥拾1 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
铅笔侠_小龙虾1 小时前
Rust 学习目录
开发语言·学习·rust
云泽8082 小时前
从零吃透 C++ 异常:抛出捕获、栈展开、异常重抛与编码规范详解
开发语言·c++·代码规范
灯澜忆梦2 小时前
GO---可见性规则
开发语言·golang
逝水无殇2 小时前
C# 文件的输入与输出详解
开发语言·数据库·后端·c#
渣渣灰飞3 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第二章:RBAC 权限系统设计
android·学习·mysql
六bring个六3 小时前
open Harmony中分布式软总线的学习任务清单
分布式·学习·c/c++·open harmony
这是个栗子3 小时前
前端开发中的常用工具函数(八)
开发语言·前端·javascript
凤凰院凶涛QAQ3 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构