C语言基础:switch语句与程序结构解析

需积分: 19 11 下载量 24 浏览量 更新于2024-08-19 收藏 1.33MB PPT 举报
"这篇文档是关于C语言基本语法的归纳,特别强调了如何使用switch语句。文中通过一个具体的例子展示了switch语句的用法,同时提出了两个问题:case和default的出现次序是否影响执行结果,以及当grade等于'B'时程序的输出。文档还涵盖了C语言的基本概念,包括C程序的结构、数据类型、运算符、表达式、顺序程序设计、选择结构、循环控制、数组、函数和指针,并提供了多个示例程序来辅助理解。" 在C语言中,switch语句是一种选择结构,它根据表达式的值来决定执行哪一段代码。在给定的示例中,switch语句用于根据grade的值打印相应的分数范围: ```c switch(grade) { case 'A': printf("85~100\n"); case 'B': printf("70~84\n"); case 'C': printf("60~69\n"); case 'D': printf("<60\n"); default : printf("error\n"); } ``` 问题1:各个case和default的出现次序并不影响执行结果。在C语言中,一旦`switch`表达式的值匹配到某个`case`标签,就会执行该`case`下的所有语句,直到遇到`break`语句或者到达`switch`块的结尾。如果`break`语句被省略,程序会继续执行下一个`case`,这就是所谓的"fallthrough"现象。所以,即使`default`标签放在最后,也不会影响其执行。 问题2:若grade等于'B',程序会先执行匹配的`case 'B'`,打印"70~84",由于没有`break`语句,程序会继续执行下一个`case 'C'`,但不会有任何输出,因为`printf`之后没有语句。然后,程序会到达`default`标签并打印"error"。因此,最终的输出结果是:"70~84\nerror"。 C语言的基础知识包括: 1. **C程序的结构**:C程序由一个或多个函数组成,其中主函数`main()`是程序的入口点。 2. **数据类型**:如`int`(整型)、`float`(浮点型)等,用来声明变量的类型。 3. **运算符与表达式**:C语言支持算术运算符、比较运算符、逻辑运算符等,表达式是这些运算符组合的结果。 4. **顺序程序设计**:程序按语句的顺序依次执行。 5. **选择结构**:`if...else`语句和`switch`语句提供条件分支。 6. **循环控制**:`for`、`while`和`do...while`循环用于重复执行某段代码。 7. **数组**:允许存储相同类型的数据集合。 8. **函数**:可以将代码组织成独立的功能模块。 9. **指针**:C语言的特色之一,可以存储内存地址,允许直接操作内存。 每个C程序都需要遵循这些基本规则和结构,通过组合使用各种语法元素,可以构建出复杂且高效的程序。