C语言程序设计之多分支选择控制与开关语句

需积分: 0 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!"。