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

相关推荐
傻乐u兔4 小时前
C语言进阶————指针4
c语言·开发语言
大模型玩家七七4 小时前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch
历程里程碑4 小时前
Linux22 文件系统
linux·运维·c语言·开发语言·数据结构·c++·算法
牛奔5 小时前
Go 如何避免频繁抢占?
开发语言·后端·golang
寻星探路9 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
lly20240610 小时前
Bootstrap 警告框
开发语言
2601_9491465311 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
曹牧11 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
KYGALYX11 小时前
服务异步通信
开发语言·后端·微服务·ruby
zmzb010311 小时前
C++课后习题训练记录Day98
开发语言·c++