C语言程序设计之多分支选择控制与开关语句
需积分: 0 158 浏览量
更新于2024-08-05
收藏 2.67MB PDF 举报
第4章 分支控制-3开关语句1
本节讨论的主要问题是C语言中如何实现多分支控制,以及break和default在switch语句中的作用。多分支选择控制结构是指根据不同的条件选择不同的执行路径,C语言提供了多种方式来实现多分支选择控制,包括if语句、if-else语句、else-if语句、级联形式、双分支选择控制结构和多分支选择控制结构等。
在C语言中,if语句是最基本的选择控制结构,它可以根据条件的真假来选择不同的执行路径。if语句的基本形式为:
```c
if (条件) {
语句;
}
```
如果条件为真,则执行语句。如果条件为假,则跳过语句。
if-else语句是if语句的扩展形式,它可以根据条件的真假来选择不同的执行路径。如果条件为真,则执行if语句中的语句;如果条件为假,则执行else语句中的语句。if-else语句的基本形式为:
```c
if (条件) {
语句1;
} else {
语句2;
}
```
else-if语句是if语句的另一种扩展形式,它可以根据多个条件来选择不同的执行路径。else-if语句的基本形式为:
```c
if (条件1) {
语句1;
} else if (条件2) {
语句2;
} else {
语句3;
}
```
级联形式是if语句的另一种扩展形式,它可以根据多个条件来选择不同的执行路径。级联形式的基本形式为:
```c
if (条件1) {
语句1;
} else if (条件2) {
语句2;
} else if (条件3) {
语句3;
} ...
```
双分支选择控制结构是指根据一个条件来选择两个不同的执行路径。双分支选择控制结构的基本形式为:
```c
if (条件) {
语句1;
} else {
语句2;
}
```
多分支选择控制结构是指根据多个条件来选择多个不同的执行路径。多分支选择控制结构的基本形式为:
```c
if (条件1) {
语句1;
} else if (条件2) {
语句2;
} else if (条件3) {
语句3;
} ...
```
switch语句是C语言中的一种多分支选择控制结构,它可以根据一个表达式的值来选择不同的执行路径。switch语句的基本形式为:
```c
switch (表达式) {
case 值1:
语句1;
break;
case 值2:
语句2;
break;
...
default:
语句n;
break;
}
```
break语句是switch语句中的一个关键词,它可以使程序跳出switch语句的执行。default语句是switch语句中的一个关键词,它可以指定switch语句中的默认执行路径。
在本节的实例中,我们使用if语句来实现百分制成绩转换为五分制成绩的功能。我们首先输入score,然后根据score的值来选择不同的grade。例如,如果score在90-100之间,我们将grade设置为'A',如果score在80-89之间,我们将grade设置为'B',以此类推。如果score小于0或大于100,我们将输出"Input error!"。
在C语言程序设计中,我们可以使用if语句来实现多分支选择控制结构。例如:
```c
int main() {
int score;
char grade;
printf("Please input score:");
scanf("%d", &score);
if (score >= 90 && score <= 100) grade = 'A';
if (score >= 80 && score < 90) grade = 'B';
if (score >= 70 && score < 80) grade = 'C';
if (score >= 60 && score < 70) grade = 'D';
if (score >= 0 && score < 60) grade = 'E';
if (score < 0 || score > 100) printf("Input error!\n");
else printf("grade: %c\n", grade);
return 0;
}
```
这个程序首先输入score,然后根据score的值来选择不同的grade。最后,我们输出grade的值。如果score小于0或大于100,我们将输出"Input error!"。
2023-12-16 上传
556 浏览量
144 浏览量
2021-09-23 上传
2021-10-07 上传
2021-01-28 上传
2022-12-02 上传
2022-11-17 上传
2024-04-19 上传

独角兽邹教授
- 粉丝: 38
最新资源
- C++编程:指针、数组与结构体解析
- WinDbg内核调试入门指南
- 使用C语言创建DLL教程
- 理解与编写Makefile:自动化编译的关键
- 常用算法设计详解与VB实现:迭代法与验证技巧
- C/C++编程头文件参考指南
- C++模板实现单链表容器
- C++Builder6实战指南:从环境到高级编程技术
- Oracle数据库开发不装客户端实践与经验
- JSP2.0技术手册:Java Web开发入门经典
- 网络软件架构设计的核心思想
- GTK+ 2.0 C语言教程:从HelloWorld到高级组件
- Vim新手指南:技能而非知识,动手操作是关键
- 掌握Makefile编写:提升专业编程能力的关键
- J2EE学习笔记:价值对象与架构解析
- vi命令详解:Linux强大的代码编辑器模式与操作