C#控制流

🧩 一、控制流概述

C# 中的控制流语句用于根据条件或循环执行代码块。它们是程序逻辑的核心部分。


✅ 二、1. ifelse ifelse

int score = 85;if (score >= 90)
{Console.WriteLine("优秀");
}
else if (score >= 60)
{Console.WriteLine("及格");
}
else
{Console.WriteLine("不及格");
}

✅ 三、2. switch 语句

示例:选择星期几

Console.Write("请输入星期几(1-7):");
int day = int.Parse(Console.ReadLine());switch (day)
{case 1:Console.WriteLine("星期一");break;case 2:Console.WriteLine("星期二");break;case 3:case 4:Console.WriteLine("工作日");break;case 5:Console.WriteLine("星期五");break;case 6:case 7:Console.WriteLine("周末");break;default:Console.WriteLine("输入错误");break;
}

使用 when 条件匹配(C# 7+)

object value = 100;switch (value)
{case int i when i > 0:Console.WriteLine("正整数");break;case int i when i < 0:Console.WriteLine("负整数");break;default:Console.WriteLine("其他类型或零");break;
}

使用枚举作为匹配表达式

enum Color
{Red,Green,Blue
}Color selected = Color.Green;switch (selected)
{case Color.Red:Console.WriteLine("红色");break;case Color.Green:Console.WriteLine("绿色");break;default:Console.WriteLine("未知颜色");break;
}

switch 表达式(C# 8+)

string result = selected switch
{Color.Red => "红色",Color.Green => "绿色",_ => "未知颜色"
};Console.WriteLine(result);

✅ 四、3. whiledo...while

while 简单循环

int count = 1;
while (count <= 5)
{Console.WriteLine($"计数:{count}");count++;
}

do...while 至少执行一次

int num;
do
{Console.Write("请输入一个数字(输入0退出):");num = int.Parse(Console.ReadLine());
} while (num != 0);

✅ 五、4. for 循环

简单循环输出 1~10

for (int i = 1; i <= 10; i++)
{Console.WriteLine(i);
}

for 遍历数组

int[] numbers = { 10, 20, 30, 40 };for (int i = 0; i < numbers.Length; i++)
{Console.WriteLine($"索引 {i} 的值为:{numbers[i]}");
}

嵌套 for 循环(打印乘法表)

for (int i = 1; i <= 9; i++)
{for (int j = 1; j <= i; j++){Console.Write($"{j}*{i}={i * j}\t");}Console.WriteLine();
}

✅ 六、5. foreach 遍历集合

string[] names = { "Alice", "Bob", "Charlie" };foreach (string name in names)
{Console.WriteLine(name);
}

✅ 七、6. continue 跳过当前迭代

for (int i = 1; i <= 10; i++)
{if (i % 2 == 0)continue;Console.WriteLine(i); // 只输出奇数
}

🧠 八、总结对比表

控制流结构是否支持条件判断是否支持多分支是否可重复执行
if / else
switch
while
do...while
for
foreach

📦 九、完整练习项目模板(Program.cs)

using System;class Program
{enum WeekDay{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday}static void Main(){Console.WriteLine("=== C# 控制流综合练习 ===\n");// if / else if / elseint score = 78;if (score >= 90) Console.WriteLine("优秀");else if (score >= 60) Console.WriteLine("及格");else Console.WriteLine("不及格");// switchWeekDay today = WeekDay.Monday;string dayName = today switch{WeekDay.Saturday or WeekDay.Sunday => "周末",_ => "工作日"};Console.WriteLine($"今天是:{dayName}");// whileint count = 1;while (count <= 5){Console.WriteLine($"计数:{count}");count++;}// do whileint num;do{Console.Write("请输入一个数字(输入0退出):");num = int.Parse(Console.ReadLine());} while (num != 0);// for 循环数组int[] nums = { 10, 20, 30 };for (int i = 0; i < nums.Length; i++){Console.WriteLine($"索引 {i} 的值为:{nums[i]}");}// foreachstring[] names = { "Tom", "Jerry" };foreach (string name in names){Console.WriteLine(name);}// continuefor (int i = 1; i <= 10; i++){if (i % 2 == 0) continue;Console.WriteLine(i);}Console.WriteLine("\n按任意键退出...");Console.ReadKey();}
}

🎯 十、运行效果(模拟)

=== C# 控制流综合练习 ===及格
今天是:工作日
计数:1
计数:2
...
请输入一个数字(输入0退出):5
请输入一个数字(输入0退出):0
索引 0 的值为:10
索引 1 的值为:20
索引 2 的值为:30
Tom
Jerry
1
3
5
7
9按任意键退出...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/83911.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你知道mysql的索引下推么?

在此之前&#xff0c;需要先明白mysql内部的一个大致结构&#xff0c;mysql内部大概是划分为3处&#xff0c;client客户端连接&#xff0c;server层&#xff0c;存储引擎层 索引下推是mysql5.6之后内部的一种索引优化手段。 比如现在我有一张表student表&#xff0c;字段有id&…

mysql的基础命令

1.SQL的基本概念 SQL 是用于管理和操作关系型数据库的标准编程语言。是所有关系型数据库&#xff08;如 MySQL、PostgreSQL、Oracle 等&#xff09;的通用语言。 SQL语句分类 DDL: Data Defination Language 数据定义语言 CREATE&#xff0c;DROP&#xff0c;ALTER DML: Da…

Python爬虫实战:研究加密参数的定位方法,实现逆向解密

一、引言 在数字化信息时代,网络数据成为重要的战略资源。Python 以其简洁的语法和丰富的库生态,成为网络爬虫开发的首选语言。然而,随着互联网安全防护意识的增强,网站普遍采用加密技术保护数据接口,如请求参数加密、会话验证、动态令牌等,这使得传统爬虫技术面临巨大挑…

轴承表面缺陷检测数据集VOC+YOLO格式3945张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;3945 标注数量(xml文件个数)&#xff1a;3945 标注数量(txt文件个数)&#xff1a;3945 标注…

【51单片机中断】

目录 配置流程 1.在IE寄存器中开启总中断通道和需要的某中断通道 2.在TCON寄存器开启所用中断的触发方式 3.使用中断函数完成中断 4.若需要中断嵌套则在IP寄存器中配置 5.若需要使用串口的中断&#xff0c;则配置SCON寄存器 6.代码示例 配置流程 1.在IE寄存器中开启总…

【机器学习】Anaconda安装后打不开jupyter notebook(网页不自动跳出)

文章目录 一、遇到的问题&#xff1a;jupyter notebook网页不自动跳出&#xff08;一&#xff09;输入jupyter notebook命令&#xff08;二&#xff09;手动打开网页 二、解决办法&#xff1a;指定浏览器&#xff08;一&#xff09;找文件 jupyter_notebook_config.py&#xff…

数字格式化库 accounting.js的使用说明

accounting.js 是一个用于格式化数字、货币和金额的轻量级库&#xff0c;特别适合财务和会计应用。以下是其详细使用说明&#xff1a; 安装与引入 通过 npm 安装&#xff1a; bash 复制 下载 npm install accounting 引入&#xff1a; javascript 复制 下载 const accounting …

DeepSpeed简介及加速模型训练

DeepSpeed是由微软开发的开源深度学习优化框架&#xff0c;专注于大规模模型的高效训练与推理。其核心目标是通过系统级优化技术降低显存占用、提升计算效率&#xff0c;并支持千亿级参数的模型训练。 官网链接&#xff1a;deepspeed 训练代码下载&#xff1a;git代码 一、De…

集星獭 | 重塑集成体验:新版编排重构仿真电商订单数据入库

概要介绍 新版服务编排以可视化模式驱动电商订单入库流程升级&#xff0c;实现订单、客户、库存、发票、发货等环节的自动化处理。流程中通过循环节点、判断逻辑与数据查询的编排&#xff0c;完成了低代码构建业务逻辑&#xff0c;极大提升订单处理效率与业务响应速度。 背景…

AMO——下层RL与上层模仿相结合的自适应运动优化:让人形行走操作(loco-manipulation)兼顾可行性和动力学约束

前言 自从去年24年Q4&#xff0c;我司「七月在线」侧重具身智能的场景落地与定制开发之后 去年Q4&#xff0c;每个月都会进来新的具身需求今年Q1&#xff0c;则每周都会进来新的具身需求Q2的本月起&#xff0c;一周不止一个需求 特别是本周&#xff0c;几乎每天都有国企、央企…

MATLAB中进行语音信号分析

在MATLAB中进行语音信号分析是一个涉及多个步骤的过程&#xff0c;包括时域和频域分析、加窗、降噪滤波、端点检测以及特征提取等。 1. 加载和预览语音信号 首先&#xff0c;你需要加载一个语音信号文件。MATLAB支持多种音频文件格式&#xff0c;如.wav。 [y, fs] audiorea…

JWT令牌验证

一、JWT 验证方式详解 JWT&#xff08;JSON Web Token&#xff09;的验证核心是确保令牌未被篡改且符合业务规则&#xff0c;主要分为以下步骤&#xff1a; 1. 令牌解析与基础校验 收到客户端传递的 JWT 后&#xff0c;首先按 . 分割为三部分&#xff1a;Header、Payload、S…

一文讲清python、anaconda的安装以及pycharm创建工程

软件下载 Pycharm下载地址&#xff1a; Other Versions - PyCharm anaconda下载地址&#xff1a; https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Windows-x86_64.exe 安装步骤 一、 Python 解释器的安装步骤 安装目录介绍&#xff1a; 二、 Anaconda 安装 2.1 安装步…

Mac如何允许安装任何来源软件?

打开系统偏好设置-安全性与隐私&#xff0c;点击右下角的解锁按钮&#xff0c;选择允许从任何来源。 如果没有这一选项&#xff0c;请到打开终端&#xff0c;输入命令行&#xff1a;sudo spctl --master-disable, 输入命令后回车&#xff0c;输入电脑的开机密码后回车。 返回“…

React Flow 中 Minimap 与 Controls 组件使用指南:交互式小地图与视口控制定制(含代码示例)

本文为《React Agent&#xff1a;从零开始构建 AI 智能体》专栏系列文章。 专栏地址&#xff1a;https://blog.csdn.net/suiyingy/category_12933485.html。项目地址&#xff1a;https://gitee.com/fgai/react-agent&#xff08;含完整代码示​例与实战源&#xff09;。完整介绍…

Windows Ubuntu 目录映射关系

情况一&#xff1a;你是通过 WSL (Windows Subsystem for Linux) 安装 Ubuntu 这是最常见的情况。如果你在 Microsoft Store 安装了 “Ubuntu”&#xff0c;默认就是 WSL。 &#x1f4c1; 目录映射关系如下&#xff1a; 从 Ubuntu&#xff08;WSL&#xff09;访问 Windows&…

双指针法高效解决「移除元素」问题

双指针法高效解决「移除元素」问题 双指针法高效解决「移除元素」问题一、问题描述二、解法解析&#xff1a;双指针法1. 核心思想2. 算法步骤3. 执行过程示例 三、关键点分析四、复杂度分析五、与其他解法的比较1. 快慢指针法2. 本解法的优势 六、实际应用场景七、总结 双指针法…

知识图谱构架

目录 知识图谱构架 一、StanfordNLP 和 spaCy 工具介绍 &#xff08;一&#xff09;StanfordNLP 主要功能 使用示例 &#xff08;二&#xff09;spaCy 主要功能 使用示例 二、CRF 和 BERT 的基本原理和入门 &#xff08;一&#xff09;CRF&#xff08;条件随机场&…

激光三角测量标定与应用

文章目录 1&#xff0c;介绍。2&#xff0c;技术原理3&#xff0c;类型。3.1&#xff0c;直射式3.2&#xff0c;斜射式3.3&#xff0c;两种三角位移传感器特性的比较 4&#xff0c;什么是光片&#xff1f;5&#xff0c;主要的算子。1&#xff0c;create_sheet_of_light_model2&…

高可用消息队列实战:AWS SQS 在分布式系统中的核心解决方案

引言&#xff1a;消息队列的“不可替代性” 在微服务架构和分布式系统盛行的今天&#xff0c;消息队列&#xff08;Message Queue&#xff09; 已成为解决系统解耦、流量削峰、异步处理等难题的核心组件。然而&#xff0c;传统的自建消息队列&#xff08;如RabbitMQ、Kafka&am…