C Day 5

先判断条件,
再选择安全的执行路线

今天第一次学习 C 语言的 if / else。程序会先检查第二个整数是否为零,再决定计算商和余数,还是输出提示。

第一次条件判断

if 表示“如果”。括号中的 second != 0 是条件,其中 != 表示“不等于”。只有条件成立时,程序才会执行紧随其后的大括号。

day5.c
if (second != 0)
{
    int quotient = first / second;
    int remainder = first % second;

    printf("%d / %d = %d\n", first, second, quotient);
    printf("余数 = %d\n", remainder);
}

否则进入 else

else 表示“否则”,不需要再写条件。当 second != 0 不成立,也就是第二个整数等于零时,程序跳过除法和取余,进入 else

day5.c
else
{
    printf("除数不能为0\n");
}

两条路线都实际验证

输入 94
9 / 4 = 2
余数 = 1

因为 4 != 0 成立,程序执行 if 中的除法和取余。

输入 90
除数不能为0

因为 0 != 0 不成立,程序不会执行危险计算,而是进入 else。两次运行都正常结束,退出代码为 0

中文字符串终于正常显示

此前控制台中的中文曾出现乱码。开启 Windows 的系统级 UTF-8 支持并重启后,源文件中的中文输入提示、余数和除零提示都能够直接正常显示。

当前电脑不需要在每个程序中额外加入 Windows 专用的控制台编码代码。C 代码仍然使用英文半角直引号,中文写在引号包围的字符串内容中。

今天真正掌握的内容

  • 知道 if 会在条件成立时执行对应代码块
  • 知道 else 会在条件不成立时执行
  • 理解 != 表示“不等于”
  • 能用条件判断保护除法和取余,避免除数为零
  • 能预测并验证非零与零两条执行路线
  • 已经能够在当前 Visual Studio 环境中正常使用中文字符串

下一步将学习 ><==else if,让程序从正数、负数和零三种情况中选择一条路线。