分支结构
if语句
-
if条件判断:
在计算机中,使用二进制(可以简单理解为0和1)来进行比较和逻辑运算。如果条件为真,括号内的值为1并执行相应代码;否则,不运行。
示例:
if (1) printf("执行"); if (0) printf("执行"); // 没有输出
-
if基本结构:
if (condition) { // 如果条件为真,则执行这里的代码块 } else { // 如果条件为假,则执行这里的代码块 }
-
if多条件形式:
- 互斥的if-else if-else:
if (x1) { // ... } else if (x2) { // ... } else { // ... }
注意else一定与最近的if匹配!!!
- 独立的if:
if (condition1) { // ... } if (condition2) { // ... }
switch语句
Switch语句提供了一种根据表达式值多个选项中选择执行的方法。它类似于一系列嵌套的if-else语句,例如:
在这个示例中,如果 day
的值是 3,会输出 “Wednesday”
int day = 3;
switch (day) {
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
default:
printf("Invalid day");
}
基本结构:
switch (expression) {
case constant1:
// 执行这里的代码块,如果expression等于constant1
break;
case constant2:
// 执行这里的代码块,如果expression等于constant2
break;
default:
// 可选项,如果expression的值不匹配任何一个常量,则执行这里的代码块
break;
}
注意
- Switch语句适用于一系列固定值的情况,而if-else更适合于范围和条件复杂的情况。
- 在每个case中,不要忘记使用
break
,否则将继续执行下一个case,直到遇到break
或者switch结束。 default
可以放在任意位置,但通常放在最后。
循环结构
for循环
-
基本结构:
for (int i = 1; i <= 100; i++) { // 在条件为真时,重复执行这里的代码块 }
for循环的两个";“的内容(”;"不可省)都可省
例如,带变量省略形式:
int i;
for (; i <= 2; i++) {
// 在条件为真时,重复执行这里的代码块
}
-
关键字:
- break:for和if都可以用,终止当前循环。
- continue:终止当前循环迭代,并开始新的迭代。
while循环
可以理解为不带两个";"的if
-
基本结构:
while (condition) { // 在条件为真时,重复执行这里的代码块 }
do-while循环
-
基本结构:
do { // 在条件为真时,重复执行这里的代码块 } while (condition);
do-while
循环至少执行一次循环语句。
作业
作业
关注公众号[Kimo姬]即可获得答案,还有实用工具等等。简洁实用的公众号,无付费项目无捆绑应用
-
计算(m, n)范围内的所有整数能被3整除的数之和。
-
打印一个具有n行的等腰直角三角形。
-
找出1000以内的所有素数。
-
找出所有满足条件的四位数:
- 前两位数字相加等于后两位数字相加,且前两位数字乘以后两位数字的和等于这个四位数本身。
-
计算[1, n]内的所有奇数的平方和。
-
计算并输出n的阶乘。
-
判断一个数是否为水仙花数。
- 水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。
-
编写程序,求解最大公约数和最小公倍数。
- 输入两个整数,输出它们的最大公约数和最小公倍数。
-
模拟投掷骰子。
- 编写一个模拟掷骰子的程序,模拟掷n次骰子,统计每个点数出现的次数。