C语言分支和循环语句详解

需积分: 0 0 下载量 10 浏览量 更新于2024-08-03 1 收藏 6KB TXT 举报
C语言分支和循环语句笔记 本篇笔记主要介绍C语言中的分支和循环语句,包括if语句、switch语句、while语句、for语句和do-while语句等。这些语句都是C语言编程中最基本和最重要的控制结构,掌握这些语句是编写高效、可靠的程序的基础。 一、if语句 if语句是C语言中最基本的分支语句,用于判断一个条件是否成立,如果条件成立则执行某个语句或语句块。if语句的语法结构如下: if(表达式) 语句; 其中,表达式是要判断的条件,语句是当条件成立时要执行的语句。如果表达式的值为非零,则执行语句,否则不执行语句。 例如: ```c #include<stdio.h> int main() { int age = 10; if (age < 18) printf("未成年\n"); else printf("成年\n"); return 0; } ``` 在上面的示例中,如果age小于18,则打印“未成年”,否则打印“成年”。 if语句也可以使用else语句来指定否则的情况。例如: ```c #include<stdio.h> int main() { int age = 99; if (age < 18) printf("未成年\n"); else if (age >= 18 && age < 28) printf("青年\n"); else if (age >= 28 && age < 50) printf("壮年\n"); else if (age >= 50 && age < 90) printf("老年\n"); else printf("老不死\n"); return 0; } ``` 在上面的示例中,我们使用了多个else if语句来指定不同的年龄段对应的输出结果。 需要注意的是,在if语句中,如果要执行多行代码,需要使用大括号来括起来。例如: ```c #include<stdio.h> int main() { int age = 10; if (age < 18) { printf("未成年\n"); printf("不能谈恋爱\n"); } else { if (age >= 18 && age < 28) printf("青年\n"); if (age >= 28 && age < 50) printf("壮年\n"); if (age >= 50 && age < 90) printf("老年\n"); else printf("老不死\n"); } return 0; } ``` 在上面的示例中,我们使用大括号来括起多行代码,以便在if语句中执行多个语句。 二、悬空else 悬空else是指else语句没有与之对应的if语句。在C语言中,如果if语句后面紧跟着一个else语句,而前面的if语句不成立,那么else语句将不会被执行。例如: ```c #include<stdio.h> int main() { int a = 0; int b = 2; if (a == 1) if (b == 2) printf("hehe\n"); else printf("haha\n"); return 0; } ``` 在上面的示例中,因为前面的if语句不成立,所以else语句不会被执行。 三、书写形式的对比 在C语言中,有多种书写形式可以实现相同的功能。例如: ```c #include<stdio.h> int main() { if (condition) { return x; } return y; } ``` 和 ```c #include<stdio.h> int main() { if (!condition) { return y; } return x; } ``` 这两种书写形式都可以实现相同的功能,但是在实际编程中,我们通常选择最简洁、最易读的书写形式。 本篇笔记主要介绍了C语言中的分支语句,包括if语句、悬空else和书写形式的对比。掌握这些语句是编写高效、可靠的程序的基础。