5、选择结构程序设计
有人曾经证明:任何程序都可用顺序、选择、循环三种控制结构来实现,而结构化程序设计的研究成果表明:只用这三种控制结构编写的程序易于保证正确性。
1、C语言程序中语句的分类
1、表达式语句
表达式; //不要忘记分号。
2、函数调用语句
函数名(实际参数表);
3、复合语句
把多条语句用花括号{}括起来组成的一条语句称为复合语句。在程序中应把复合语句看成单条语句,而不是多条语句。
4、空语句
只有分号“;”组成的空语句。空语句什么也不执行。
5、控制语句
C语言有九种控制语句,可分为以下三类:
- 条件判断语句——if、switch
- 循环执行语句——do while、while、for
- 转向语句——break、goto、continue、return
2、关系运算符、逻辑运算符、条件运算符
1、关系运算符和关系表达式
C语言中提供了6种关系运算符(>、>=、<、<=、==、!=),前四个优先级大于后两个,它们都是右结合性。
关系表达式:表达式 关系运算符 表达式
C语言用0表示假,非0表示真。
一个关系表达式的值不是0就是1。
关系运算符都是双目运算符。
2、逻辑运算符和逻辑表达式
C语言提供的逻辑运算符有三种(!、&&、||),!是右结合性,其他两个为左结合性,优先级逐个降低。
逻辑表达式:表达式 逻辑运算符 表达式
并不是所有的逻辑运算符都被执行,只有在必要的情况下执行。
3、条件运算符和条件表达式
条件运算符?和:,是C语言提供唯一一个三目运算符。
条件表达式的一般格式:表达式1?表达式2:表达式3
条件运算符的运算优先级特别低,仅高于赋值运算符和逗号运算符。
条件运算符的结合方向是自右至左。
运算符优先级的口诀是:”单算移关,位逻条赋,逗!“。
3、选择结构的程序设计
注意点:
1、switch后面的”表达式“,必须是一个整型表达式,而且每个case后的”常量表达式“的类型应该与switch后面的”表达式“的 类型一致。
2、case后面必须是”常量表达式“,表达式中不能包含变量。
3、case后面的”常量表达式“仅起语句标号作用,并不进行条件判断。
4、case子句和default子句如果有的带break子句,有的没带,它们之间顺序的变化可能会影响输出结果。
4、易错
1、
char = 'a';
if('a'<c<='z') printf("YES"); //正确,'a'<c 的值为0