信奥竞赛

系列

剑指信奥 | C 语言之新年快乐

从运算开始

在上一次课中,我们提到过,在 C 语言中,有着各种各样的运算,我们现在了解的运算有这些:

  • 加法 +
  • 减法 -
  • 乘法 *
  • 除法 /

那么,C 语言中还有别的计算方式吗?

当然有,我们来看这一组运算:

  • == 等于
  • != 不等于
  • > 大于
  • < 小于
  • >= 大于等于
  • <= 小于等于

这一组运算符在 C 语言中被称为关系运算符,我们来看一个简单的例子:

#include <stdio.h>
int main() {
    int i = 2019;
    int j = 2020;
    printf((i < j) ? "true" : "false");
}
                

这段代码输出了 true,意味着 2019 < 2020,所以,关系运算符就是用来比较数值大小的:

大与小的比较

选择结构

学会了关系运算符,我们就可以理解一种非常重要的程序控制结构 —— 选择结构。

选择结构指的是,在程序运行到一个节点时,前方出现了两条路,我们需要在这时做出一个判断,决定下一步走那条路:

岔路口的选择

选择结构的一个例子:

#include <stdio.h>
int main() {
    float today = 12.31f;
    if (today == 1.1f) {
        printf("%s", "今天是新年第一天!");
    } else {
        printf("%s", "今天不是新年。");
    }
}
                

输出的结果是“今天不是新年。”,原因就是 today 的值是 12.31,所以没有通过 if 如果 语句的判断,从而执行了 else 否则 语句,输出了以上结果。

有时,if 语句会更加复杂一些:

#include <stdio.h>
int main() {
    float today = 12.31f;
    if (today == 1.1f) {
        printf("%s", "今天是新年第一天!");
    } elseif (today == 12.31f) {
        printf("%s", "明天是新年第一天!");
    } else {
        printf("%s", "今天和明天都不是新年。");
    }
}
                

这段程序的结果是“明天是新年第一天!”,程序执行时,出现了三条可走的路,满足哪个条件就执行那一段代码,从而完成了选择。

明天就是新年第一天啦,祝愿小同学们:

新年有新知,未来有可期!

我们明年见~

Happy New Year

日积月累

  • if 如果
  • else 否则