在C#编程中,控制结构是构建程序逻辑的核心工具,它们允许开发者根据条件执行不同代码块或重复执行任务。
条件语句使用说明
条件语句用于基于布尔表达式(如 true
或 false
)决定代码执行路径。C# 支持多种条件结构,帮助程序分支处理不同场景。
条件语句列表:
-
if
语句:检查单个条件,条件为真时执行代码块。-
语法:
if (条件) { /* 代码块 */ }
-
示例:
int age = 18; if (age >= 18) { Console.WriteLine("成年人"); }
-
-
if-else
语句:扩展if
语句,添加备选分支(条件为假时执行)。-
语法:
if (条件) { /* 代码块1 */ } else { /* 代码块2 */ }
-
提供了两种情况的处理。当
if
中的条件为true
时,执行if
后的代码块;为false
时,执行else
后的代码块。 -
示例:
int score = 75; if (score >= 60) { Console.WriteLine("及格"); } else { Console.WriteLine("不及格"); }
-
-
if-else if
语句:处理多个条件分支,依次检查每个条件,直到找到真值或执行else
块。-
语法:
if (条件1) { /* 代码块1 */ } else if (条件2) { /* 代码块2 */ } else { /* 默认代码块 */ }
-
按照顺序依次检查条件,当某个
条件
为true
时,执行对应的代码块,然后跳出整个结构。如果所有条件都不满足,执行else
中的代码块(else
部分可选)。 -
示例:
int grade = 85; if (grade >= 90) { Console.WriteLine("优秀"); } else if (grade >= 80) { Console.WriteLine("良好"); // 输出:良好 } else { Console.WriteLine("需改进"); }
-
-
switch
语句:基于变量值匹配多个固定选项,比多个if-else if
更高效。-
语法:
switch (变量) { case 值1: /* 代码块1 */ break; case 值2: /* 代码块2 */ break; default: /* 默认代码块 */ break; }
-
当匹配到某个
case
时,执行该case
下的代码块,直到遇到break
语句跳出switch
结构。如果没有匹配的case
,执行default
下的代码块(default
部分可选) -
示例:
string day = "Monday"; switch (day) { case "Monday": Console.WriteLine("工作日开始"); break; case "Friday": Console.WriteLine("周末临近"); break; default: Console.WriteLine("其他日子"); break; }
-
2. 循环语句使用说明
循环语句用于重复执行代码块,直到满足终止条件。C# 提供了多种循环结构,并支持嵌套和控制语句(如 break
或 continue
)来管理流程。
循环语句列表:
-
for
循环:指定初始值、条件和迭代步长,适合已知迭代次数的场景。-
语法:
for (初始化; 条件; 迭代) { /* 循环体 */ }
-
初始化部分,用于初始化循环变量,只在循环开始时执行一次。循环条件,每次循环开始前检查,为
true
时执行循环体。迭代表达式,用于在每次循环体执行后更新循环变量。 -
示例:
for (int i = 1; i <= 10; i++) { Console.WriteLine(i); // 输出1到10 }
-
-
while
循环:先检查条件,再执行循环体;条件为假时终止。-
语法:
while (条件) { /* 循环体 */ }
-
只要
条件
为true
,就会执行循环体。在循环体内部需要有改变条件
的操作,否则可能会导致无限循环。 -
示例:
int count = 0; while (count < 5) { Console.WriteLine(count); count++; // 输出0到4 }
-
-
do-while
循环:先执行循环体一次,再检查条件;保证至少执行一次。-
语法:
do { /* 循环体 */ } while (条件);
-
先执行一次循环体,然后检查
条件
。如果条件
为true
,则继续执行循环体;为false
时,循环结束。 -
示例:
int j = 0; do { Console.WriteLine(j); // 输出0,1,2,3,4 j++; } while (j < 5);
-
-
foreach
循环:遍历集合(如数组或列表)中的每个元素,无需索引管理。-
语法:
foreach (type variable in collection) { /* 循环体 */ }
-
用于遍历集合或数组中的元素。
type
是集合中元素的类型,variable
是代表每个元素的变量,collection
是要遍历的集合。 -
示例:
string[] names = { "Alice", "Bob", "Charlie" }; foreach (string name in names) { Console.WriteLine(name); }
-
循环控制语句:
-
break
:立即终止当前循环。-
示例:
for (int i=0; i<10; i++) { if (i==5) break; } // 当i=5时退出
-
-
continue
:跳过当前迭代,进入下一次循环。-
示例:
for (int i=0; i<5; i++) { if (i==2) continue; Console.WriteLine(i); } // 跳过i=2
-
-
goto
语句:跳转到代码标签处,常用于退出多层嵌套循环(但不推荐滥用)。-
示例:
for (int i=0; i<3; i++) { for (int k=0; k<3; k++) { if (k==1) goto exitLoop; // 当k=1时跳转 } } exitLoop: Console.WriteLine("跳出循环");
-
学习小TIPS:
-
循环嵌套:任何循环都可嵌套使用(如
for
内嵌while
),但需避免死循环(无限循环),确保条件能终止。
C# 的控制结构包括条件语句(if
, if-else
, if-else if
, switch
)和循环语句(for
, while
, do-while
, foreach
),辅以控制语句(break
, continue
, goto
)。这些结构是程序逻辑的基石,能高效处理分支和重复任务。
开发中应优先使用 if-else
或 switch
处理条件分支,for
或 foreach
处理迭代,避免 goto
以提升代码可读性。