C - 决策制定:初学者指南

你好,未来的程序员们!欢迎来到C编程的精彩世界。我很高兴能成为你的向导,带领你了解编码中最基本的概念之一:决策制定。作为一个教授C语言超过十年的老师,我可以向你保证,掌握这些概念将会在你的编程冒险中改变游戏规则。那么,让我们开始吧!

C - Decision Making

C编程中的if语句

想象一下你在一个冰淇淋店里,需要决定是否购买一个冰淇淋。在编程中,我们使用'if'语句来进行这样的决策。这就像问一个问题,并根据答案来做某事。

下面是C语言中的样子:

if (条件) {
// 如果条件为真,要执行的代码
}

让我们来看一个真实的例子:

#include <stdio.h>

int main() {
int 球数 = 2;

if (球数 > 1) {
printf("哇,那可是很多冰淇淋!\n");
}

return 0;
}

在这个例子中,如果球数大于1,它将打印出这条消息。尝试改变'球数'的值,看看会发生什么!

C编程中的if...else语句

现在,如果我们想在条件为假时做些什么呢?这时'if...else'语句就派上用场了。这就像有一个备用计划。

if (条件) {
// 如果条件为真,要执行的代码
} else {
// 如果条件为假,要执行的代码
}

让我们扩展我们的冰淇淋例子:

#include <stdio.h>

int main() {
int 零钱 = 5;
int 冰淇淋价格 = 6;

if (零钱 >= 冰淇淋价格) {
printf("耶!你可以买一个冰淇淋!\n");
} else {
printf("抱歉,今天没有足够的钱买冰淇淋。\n");
}

return 0;
}

在这里,我们正在检查我们是否有足够的钱买冰淇淋。如果有,太好了!如果没有,好吧,下次总有时间。

C编程中的嵌套if语句

有时,生活(和编程)不仅仅是一次决策。我们经常需要在决策中做出决策。这时就需要嵌套的'if'语句。

if (外部条件) {
if (内部条件) {
// 如果两个条件都为真,要执行的代码
}
}

让我们来看一个更复杂的冰淇淋场景:

#include <stdio.h>

int main() {
int 温度 = 30;
int 有钱 = 1; // 1表示真,0表示假

if (温度 > 25) {
if (有钱) {
printf("天气热,你还有钱。是时候吃冰淇淋了!\n");
} else {
printf("天气热,但没有钱买冰淇淋。也许应该洗个冷水澡?\n");
}
} else {
printf("天气不那么热。把钱省下来,以备不时之需。\n");
}

return 0;
}

这个程序在考虑温度和是否有钱之前,会建议吃冰淇淋。

C编程中的switch语句

'switch'语句就像是决策制定的多口味冰淇淋。当你有多个选项时,它非常完美。

switch(表达式) {
case 常量1:
// 如果表达式等于常量1,要执行的代码
break;
case 常量2:
// 如果表达式等于常量2,要执行的代码
break;
...
default:
// 如果表达式不匹配任何常量,要执行的代码
}

让我们用它来选择冰淇淋口味:

#include <stdio.h>

int main() {
int 口味 = 2;

switch(口味) {
case 1:
printf("你选择了香草。经典!\n");
break;
case 2:
printf("巧克力口味。美味!\n");
break;
case 3:
printf("草莓,清新的水果味!\n");
break;
default:
printf("我们没有那个口味。香草怎么样?\n");
}

return 0;
}

这个程序根据选择的口味编号选择一条消息。

C编程中的条件运算符

条件运算符(?:)就像是简写版的'if...else'语句。它非常适合快速、简单的决策。

条件 ? 表达式为真时的值 : 表达式为假时的值;

下面是一个决定甜点的简洁方法:

#include <stdio.h>

int main() {
int 饿了 = 1; // 1表示真,0表示假

printf(饿了 ? "让我们去吃冰淇淋!\n" : "也许稍后。\n");

return 0;
}

这一行代码检查你是否饿了,并建议 accordingly。

C编程中的break语句

'break'语句就像是在中途说“我在这里做完了”。它用于提前退出循环或switch语句。

#include <stdio.h>

int main() {
int i;
for(i = 1; i <= 10; i++) {
if(i == 5) {
printf("找到5了!让我们在这里停下来。\n");
break;
}
printf("%d ", i);
}
return 0;
}

这个程序数到10,但在达到5时停止。

C编程中的continue语句

'continue'就像是说“跳过这个,继续下一个”。它跳过当前循环迭代的其余部分,并继续下一个迭代。

#include <stdio.h>

int main() {
int i;
for(i = 1; i <= 5; i++) {
if(i == 3) {
printf("哦哦,让我们跳过3。\n");
continue;
}
printf("冰淇淋球数 %d\n", i);
}
return 0;
}

这个程序数冰淇淋球数,但跳过第3个。

C编程中的goto语句

'goto'语句就像是代码中的传送装置。它跳转到标记的语句。但是,要谨慎使用,因为它会使代码难以跟踪。

#include <stdio.h>

int main() {
int 球数 = 0;

scoop_more:
球数++;
printf("加了一个球。总数: %d\n", 球数);

if(球数 < 3) {
goto scoop_more;
}

printf("冰淇淋圣代完成了!\n");
return 0;
}

这个程序向你的圣代中加球,直到你有三个。

下面是我们所涵盖的所有决策方法的总结表:

方法 目的 语法
if 简单的条件检查 if (条件) { ... }
if...else 双向决策 if (条件) { ... } else { ... }
嵌套if 多个条件 if (条件1) { if (条件2) { ... } }
switch 多个选项 switch(表达式) { case 常量: ... }
?: 快速、简单的决策 条件 ? 为真时的表达式 : 为假时的表达式
break 退出循环或switch break;
continue 跳过当前迭代 continue;
goto 跳转到标记的语句 goto 标记;

记住,熟能生巧!尝试使用这些概念编写你自己的程序。在你意识到之前,你将像专业人士一样在C语言中做出决策。快乐编程!

Credits: Image by storyset