分支语句和循环语句
分支语句
- if
- switch
循环语句
- while
- for
- do while
goto语句
什么是语句
C语言中由一个分号隔开的就是一条语句
if语句
语法结构:
- if(表达式)
语句; - if(表达式)
语句1;
else(表达式)
语句2;
多分支
if(表达式)
语句1;
else if(表达式)
语句2;
else(表达式)
语句3;
<!--if、else都只能控制一条语句,如果要控制多条语句则需要用{}把语句括起来-->
如果条件成立,要执行多条语句,应该使用代码块,这里的一对{}就是一个代码块
悬空else
else符合就近原则,即离最近的if匹配,而不是简单的对齐匹配
[所以在写代码时应该注意格式,代码风格《高质量C/C++编程》]
switch语句
switch语句也是一种分支语句,常用于多分支,允许嵌套使用
<!--switch(整型表达式)-->
<!--{-->
<!--语句项;-->
<!--}-->
语句项就是一些case语句如:
<!--case 整型常量表达式:-->
<!--语句;-->
switch后括号里面的整型表达式与case后的整型常量表达式决定了入口;
break决定出口(非必须的,break语句实际效果是把语句列表划分为不同的部分)
[在switch语句中没法直接实现分支,只有搭配break使用才能实现真正的分支]
字符也可以在switch语句中使用(因为字符存储时使用的是ASC码值)
default子句
如果表达的值与所有的case标签的值都不匹配,所有的语句都会被跳过,程序不会终止或报错(C不认为是错误),如果不想忽略此错误,可以在语句列表中加一条default子句
[default语句一般放在switch语句最后,但只要符合需求语句就可以出现在语句列表的任何位置,而且语句流会像贯穿一个case标签一样贯穿default语句(一个switch语句只能有一条子句)]