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.pswp.cn/diannao/83911.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/83911.shtml
英文地址,請注明出處:http://en.pswp.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…