根据给定文件的信息,我们可以总结出以下几个C语言的基础知识点:
### 1. 使用`switch`语句进行条件判断
#### 示例代码分析:
```c
int main() {
int year, yue, day;
printf("请输入年份,月份:\n");
scanf("%d,%d", &year, &yue);
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) { // 判断是否为闰年
switch (yue) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
case 2:
day = 29;
break;
}
} else {
switch (yue) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
case 2:
day = 28;
break;
}
}
printf("该月的天数为:%d", day);
return 0;
}
```
#### 知识点说明:
- **基本语法**:`switch`语句用于基于不同的条件执行不同的代码块。每个条件被称为一个“case”,并且以`break`语句结束。
- **case结构**:多个`case`可以共用相同的执行语句,这样可以避免重复代码。
- **break语句**:`break`语句用于终止当前`switch`语句的执行,并将控制权转移到`switch`之后的第一条语句。
### 2. 使用`if`语句进行条件判断
#### 示例代码分析:
```c
int main() {
float a1, a2, b1, b2;
scanf("%f%f", &a1, &a2);
scanf("%f%f", &b1, &b2);
if ((a1 * 60 + a2) < (b1 * 60 + b2)) {
if (b1 >= 1 && b1 <= 17)
printf("%.0f", 0);
if (a1 >= 1 && a1 <= 17) {
if (b1 >= 18 && b1 <= 20 && b2 == 0)
printf("%.0f", (b1 - 18) * 2);
// ...其他条件分支...
}
if (a1 >= 18 && b1 <= 21 && b2 == 0)
printf("%.0f", (b1 - a1) * 2);
// ...其他条件分支...
} else
printf("%.0f", 0);
return 0;
}
```
#### 知识点说明:
- **基本语法**:`if`语句用于基于特定条件执行一段代码。
- **嵌套使用**:可以将`if`语句嵌套在另一个`if`语句中来实现更复杂的逻辑。
- **逻辑运算符**:使用`&&`(与)和`||`(或)来组合条件表达式,从而形成更复杂的条件判断。
### 3. 循环语句的应用:`while`、`do...while` 和 `for`
#### 示例代码分析:
- **使用`while`循环计算阶乘**:
```c
int main() {
int n, i = 1, s = 1;
scanf("%d", &n);
while (i <= n) {
s = s * i;
i++;
}
printf("%d", s);
return 0;
}
```
- **使用`do...while`循环计算阶乘**:
```c
int main() {
int n, i = 1, s = 1;
scanf("%d", &n);
do {
s = s * i;
i++;
} while (i <= n);
printf("%d", s);
return 0;
}
```
- **使用`for`循环计算阶乘**:
```c
int main() {
int s = 1, i = 1, n;
scanf("%d", &n);
for (; i <= n; i++)
s = s * i;
printf("%d", s);
return 0;
}
```
#### 知识点说明:
- **基本语法**:`while`循环会在满足条件时重复执行代码块,`do...while`循环会至少执行一次循环体,然后检查条件;`for`循环可以在一行代码内定义初始化、条件和更新语句。
- **循环变量管理**:确保循环变量正确更新,以避免无限循环。
### 4. 输出99乘法表
#### 示例代码分析:
```c
int main() {
int i, j;
for (i = 1; i <= 9; i++) {
for (j = 1; j <= i; j++)
printf("%d*%d=%2d", i, j, i * j);
printf("\n"); // 每行结束后换行
}
return 0;
}
```
#### 知识点说明:
- **嵌套循环**:外层循环控制行数,内层循环控制每行的列数。
- **格式化输出**:使用`printf`函数输出格式化的文本。
以上是针对提供的文件中的示例代码所涉及的主要知识点的详细介绍。这些基本的C语言概念对于初学者来说非常重要,可以帮助他们理解如何使用条件判断和循环控制程序流程。