【C语言条件控制语句与格式化输入输出】
在C语言中,条件控制语句是程序设计中的核心组成部分,它们允许我们根据特定条件执行不同的代码块。本讲主要讲解了两种主要的条件控制语句——if...else和switch...case,以及格式化输入输出函数printf()和scanf()。
### if...else语句
1. **单分支结构**:if语句的基本形式是检查一个条件表达式,如果表达式为真(非零),则执行紧跟在if后的语句。例如:
```c
if(表达式) {
语句;
}
```
如果表达式为假,那么`语句`不会被执行。
2. **双分支结构**:当需要在两个可能的操作之间选择时,可以使用if...else结构。
```c
if(表达式) {
语句1;
} else {
语句2;
}
```
表达式为真执行`语句1`,否则执行`语句2`。
3. **多分支结构**:使用else if链可以实现多个条件的判断。
```c
if(表达式1) {
语句1;
} else if(表达式2) {
语句2;
} else if(表达式3) {
语句3;
} else {
语句n+1;
}
```
检查表达式1至n,找到第一个为真的条件并执行相应的语句,所有条件为假则执行`语句n+1`。
### if语句的嵌套
if语句可以嵌套在其他if语句内部,形成多层条件判断,使得逻辑更为复杂。例如:
```c
if(条件1) {
if(条件2) {
语句2.1;
} else {
语句2.2;
}
} else {
语句1.1;
}
```
这样的结构可以处理更复杂的逻辑决策。
### switch...case语句
switch语句用于替代多层if...else结构,简化多分支选择。其基本形式如下:
```c
switch(表达式) {
case 常量1:
语句组1;
break;
case 常量2:
语句组2;
break;
...
default:
默认语句组;
}
```
- `表达式`的结果与`case`后的常量进行比较,找到匹配的`case`,执行对应的语句组。
- `break`语句用于跳出switch结构,防止执行下一个`case`的语句。
- `default`语句是可选的,当没有匹配的`case`时执行。
### 格式化输入输出函数
1. **printf()**:用于输出格式化的字符串和变量值。
```c
printf("格式控制字符串", 变量1, 变量2, ...);
```
其中`格式控制字符串`包含转换说明符(如 `%d` for 整数,`%f` for 浮点数)来指定如何输出变量。
2. **scanf()**:用于从标准输入(通常是键盘)读取数据。
```c
scanf("格式控制字符串", &变量1, &变量2, ...);
```
类似printf,`格式控制字符串`指定了输入数据的类型和位置。
### 实际应用示例
在实际编程中,这些条件控制语句和输入输出函数常用于处理各种逻辑判断和用户交互。例如,比较两个数的和与积,或者根据输入的数值执行不同操作。例如:
```c
#include <stdio.h>
int main() {
int a, b, s1, s2;
printf("请输入两个整数a, b:");
scanf("%d %d", &a, &b);
s1 = a + b;
s2 = a * b;
if (s1 > s2) {
printf("a与b的和大于a与b的积\n");
} else {
printf("a与b的和小于等于a与b的积\n");
}
return 0;
}
```
这个例子中,我们使用了if...else语句来比较两个整数的和与积,并使用printf()输出结果。
总结来说,C语言的条件控制语句和格式化输入输出函数是编写程序时不可或缺的工具,它们帮助我们构建能够根据输入数据动态响应的程序,实现复杂的逻辑和数据处理。通过熟练掌握这些基础概念,可以为后续学习更高级的C语言特性打下坚实的基础。
评论0