程序设计基础
登录
< 返回教程列表

1.3 条件判断语句

知识介绍

if-else 语句:

if (条件1)
{
    // 条件1成立执行
}
else if (条件2)
{
    // 条件1不成立但条件2成立执行
}
else
{
    // 都不成立执行
}

switch 语句:

int day = 3;
switch (day)
{
    case 1:
        Console.WriteLine("星期一");
        break;          // 必须有 break
    case 2:
        Console.WriteLine("星期二");
        break;
    default:
        Console.WriteLine("其他");
        break;
}

⚠️ C# 的 case 不能贯穿(除非空 case),每个分支必须有 break 或 return。

例题

例题1: 根据分数输出等级:≥90分A,80-89分B,70-79分C,60-69分D,<60分E。

Console.Write("请输入分数:");
int score = int.Parse(Console.ReadLine());
char level;
if (score >= 90)
    level = 'A';
else if (score >= 80)
    level = 'B';
else if (score >= 70)
    level = 'C';
else if (score >= 60)
    level = 'D';
else
    level = 'E';
Console.WriteLine($"等级:{level}");

例题2: 用 switch 实现简易计算器。

Console.Write("输入第一个数:");
double x = double.Parse(Console.ReadLine());
Console.Write("输入运算符(+ - * /):");
char op = char.Parse(Console.ReadLine());
Console.Write("输入第二个数:");
double y = double.Parse(Console.ReadLine());

switch (op)
{
    case '+': Console.WriteLine($"{x}+{y}={x + y}"); break;
    case '-': Console.WriteLine($"{x}-{y}={x - y}"); break;
    case '*': Console.WriteLine($"{x}×{y}={x * y}"); break;
    case '/':
        if (y == 0) Console.WriteLine("除数不能为0");
        else Console.WriteLine($"{x}÷{y}={x / y}");
        break;
    default: Console.WriteLine("无效运算符"); break;
}

练习题

  1. 用户输入一个整数,判断是正数、负数还是零。

  2. 用户输入年份和月份(如:2024 2),输出该月有多少天(注意判断闰年的2月)。

  3. 用 switch 实现:输入一个字符,判断是大写字母、小写字母、数字还是其他字符。

  4. 输入三条边的长度,判断能否构成三角形(任意两边之和大于第三边);若能,进一步判断是等边、等腰还是普通三角形。