一、分支语句
1.if 语句
简单 if 语句
- 语法格式:
if (条件表达式) { 语句块; }。当条件表达式的值为真(非零)时,就会执行语句块中的内容;如果条件表达式的值为假(零),则跳过语句块。
#include <stdio.h>
int main()
{
int num = 10;
if (num > 5) {
printf("这个数字大于5\n");
}
return 0;
}
if语句判断num > 5这个条件表达式,因为 10 大于 5,条件为真,所以会执行printf函数,输出相应的信息。
简单 if 语句
- 语法格式:
if (条件表达式) { 语句块1; } else { 语句块2; }。当条件表达式的值为真(非零)时,执行语句块 1;当条件表达式的值为假(零)时,执行语句块 2。
#include <stdio.h>
int main()
{
int num = 3;
if (num > 5) {
printf("这个数字大于5\n");
} else {
printf("这个数字小于等于5\n");
}
return 0;
}
num的值为 3,num > 5这个条件表达式为假,所以会执行else后面的语句块,输出 “这个数字小于等于 5”。
if - else if - else 语句
- 语法格式:
if (条件表达式1) { 语句块1; } else if (条件表达式2) { 语句块2; }... else { 语句块n; }。它用于多分支的情况,会按照顺序依次判断条件表达式。当某个条件表达式的值为真(非零)时,就执行对应的语句块,然后跳出整个if - else if - else结构;如果所有的条件表达式都为假(零),则执行else后面的语句块。
#include <stdio.h>
int main()
{
int score = 75;
if (score >= 90) {
printf("优秀\n");
} else if (score >= 70) {
printf("良好\n");
} else if (score >= 60) {
printf("及格\n");
} else {
printf("不及格\n");
}
return 0;
}
根据score的值来判断成绩等级。因为75大于等于 70 且小于 90,所以会输出 “良好”。
2.switch 语句
switch 语句是一种有限制的控制流语句,它用于根据表达式的值执行不同的代码块。
一个 switch 语句允许测试一个变量等于多个值时的情况,每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。
switch (表达式) {
case 常量表达式1:
语句块1;
break;
case 常量表达式2:
语句块2;
break;
...
case 常量表达式n:
语句块n;
break;
default:
语句块n + 1;
}
switch语句首先计算switch后面表达式的值,然后将这个值与各个case后面的常量表达式的值进行比较。如果找到匹配的值,就执行对应的语句块,直到遇到break语句跳出switch结构;如果没有找到匹配的值,则执行default后面的语句块(default部分是可选的) 。
二、循环语句
1.for 循环
for循环语法是for(初始化表达式; 条件判断表达式; 循环变量更新表达式) {循环体语句}。
int sum = 0;
for(int i = 1; i <= 100; i++) {
sum += i;
}
printf("1到100的和为:%d", sum);
for循环适合用于已知循环次数的情况。比如计算数列的前n项和,或者对一个数组的固定长度部分进行操作。例如,上面列子要计算 1 到 100 的整数和 。
2.while 循环
while(条件判断表达式) {循环体语句}例如:
int i = 0; while(i < 10) { printf("%d ", i); i++; }首先需要在
while循环之前初始化循环变量,这里int i = 0定义并初始化了变量i。然后条件判断表达式i < 10决定了循环是否继续,只要这个条件为真,就会执行循环体。在循环体内部,printf("%d ", i);用于输出当前i的值,i++;用于更新循环变量,将其值加 1。
int num;
scanf("%d", &num);
while(num!= 0) {
printf("你输入的数是:%d\n", num);
scanf("%d", &num);
}
while循环当不知道循环的具体次数,但知道循环结束的条件时使用。例如,以下程序从用户处读取整数,直到用户输入 0 为止:
3.do - while 循环
do {循环体语句} while(条件判断表达式);例如:
int i = 0; do { printf("%d ", i); i++; } while(i < 10);先执行一次循环体语句,然后再根据条件判断表达式来决定是否继续循环。在这个例子中,先执行
printf("%d ", i);和i++;,然后判断i < 10是否成立,若成立则继续循环。
int choice;
do {
printf("1. 开始游戏\n");
printf("2. 查看记录\n");
printf("3. 退出游戏\n");
scanf("%d", &choice);
// 根据用户选择执行不同操作
} while(choice!= 3);
do-while循环适用于至少需要执行一次循环体的情况。比如一个游戏的主菜单循环,游戏启动后,至少要显示一次菜单,之后根据用户的选择来决定是否继续显示菜单。
1661

被折叠的 条评论
为什么被折叠?



