1. 选择结构概述
- 定义与重要性:
- 选择结构使得程序可以根据不同的条件执行不同的代码段。
- 选择结构使得程序可以根据不同的条件执行不同的代码段。
2. if 语句详解
- 基本形式:
if (表达式) 语句;
:当表达式为真时执行语句。
- 基本形式示例:
int a = 10;
if (a > 5) {
printf("a is greater than 5\n");
}
- 扩展形式:
if (表达式) 语句1; else 语句2;
:当表达式为真时执行语句1,否则执行语句2。- 多分支结构:使用多个
else if
来处理多种条件。
- 扩展形式示例:
int a = 10;
if (a > 15) {
printf("a is greater than 15\n");
} else if (a > 10) {
printf("a is greater than 10 but less than or equal to 15\n");
} else {
printf("a is less than or equal to 10\n");
}
- 表达式详解:
- 表达式可以是关系表达式、逻辑表达式或直接是数值。
- 解释如何构造有效的判断条件。
- 复合语句的使用:
- 使用花括号
{}
包围的语句块以在条件为真时执行多个语句。
- 使用花括号
3. 关系与逻辑运算符
- 关系运算符:
<, <=, >, >=, ==, !=
:用于比较两个值,结果为真或假。- 优先级及其与算术运算符的关系。
- 关系运算符示例:
int a = 10, b = 20;
if (a == b) {
printf("a is equal to b\n");
} else if (a < b) {
printf("a is less than b\n");
}
- 逻辑运算符:
&& (与), || (或), ! (非)
:用于组合多个关系表达式。
- 逻辑运算符示例:
int a = 10, b = 5, c = 20;
if (a > b && a < c) {
printf("a is between b and c\n");
}
4. 条件运算符
- 基本概念:
- 由两个符号( ? 和 : )组成,必须一起使用,要求有3个操作对象,称为三目运算符,它是C语言中唯一的三目运算符。
- 基本用法:
(条件表达式) ? 表达式1 : 表达式2
:根据条件表达式的真假选择表达式1或表达式2。
- 基本用法示例:
int a = 10;
int max = (a > 20) ? a : 20;
printf("Max value is %d\n", max);
5. switch 语句
- 基本结构:
- if语句只有两个分支可以选择,如果要实现多个分支,使用起来比较复杂,嵌套的层数比较多,大大降低了代码的可读性。C语言提供了switch语句直接处理多分支选择。
- if语句只有两个分支可以选择,如果要实现多个分支,使用起来比较复杂,嵌套的层数比较多,大大降低了代码的可读性。C语言提供了switch语句直接处理多分支选择。
- 执行流程:
(1) switch括号中的表达式,值类型应为整数类型(包括字符型)
(2) switch下面的花括号是一个复合语句,都属于switch语句的语句体
(3) case和default是标号,用来标志一个位置
(4) 执行switch语句时,先计算表达式的值,然后将值与case后面的常量按顺序进行对比,如果相同则从该执行该语句。如果没有相同的常量,则执行default标号后面的语句。
(5) 可以没有default标号,如果没有与switch表达式相匹配的case常量,则不执行任何语句,继续执行switch语句块后面的代码
(6) 各个case标号出现次序不影响执行结果。
(7) 每个常量值不能重复,否则出现冲突
(8) 在case子句中虽然包含了一个以上执行语句,但可以不必用{ }括起来,会自动顺序执行case标号后面的所有语句。加上{}也可以
(9) 多个case标号可以公用一组执行语句
(10) break语句打断,防止执行完对应语句继续向下执行 - 基本结构示例:
int num = 2;
switch (num) {
case 1:
printf("Number is 1\n");
break;
case 2:
printf("Number is 2\n");
break;
default:
printf("Number is neither 1 nor 2\n");
}
6. 选择结构的嵌套
- 嵌套if结构:
- 在if语句中又包含一个或多个if语句称为if语句的嵌套
- 在if语句中又包含一个或多个if语句称为if语句的嵌套
- 嵌套if结构示例:
int a = 10, b = 20;
if (a > 5) {
if (b > 15) {
printf("Both a and b are greater than their respective conditions\n");
}
}
7. 实战编程示例
- 综合示例:
#include <stdio.h>
int main() {
int age = 20;
if (age < 18) {
printf("You are a minor.\n");
} else if (age >= 18 && age < 60) {
printf("You are an adult.\n");
} else {
printf("You are a senior citizen.\n");
}
int num1 = 10, num2 = 20, num3 = 30;
int max = (num1 > num2) ? (num1 > num3 ? num1 : num3) : (num2 > num3 ? num2 : num3);
printf("The maximum number is %d\n", max);
return 0;
}
标签:语句,10,int,第三,运算符,printf,程序设计,C语言,表达式
From: https://blog.csdn.net/zgy11026/article/details/140642733