第5章
选择结构程序设计
第4章已讨论
程序结构
顺序结构
选择结构
循环结构
本章讨论
第6章讨论
C程序中语句的分类
C语言程序的执行部分是由语句组成的。程序的功能也是由执行语句实现的。C语言中的语句可以分为以下5类:
表达式语句
由表达式加上分号“;”组成。其一般形式为:表达式;
函数调用语句
由函数名、实际参数加上分号“;”组成。其一般形式为:函数名(实际参数表);
while (getchar( ) != '\n' )
;
本语句的功能是,只要从键盘输入的字符不是回车则重新输入。这里的循环体为空语句。
空语句
只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。
说明:
(1) “}”后不加分号
(2) 语法上和单一语句相同
(3) 复合语句可嵌套
(4) 复合语句内定义的变量只能在复合语句内使用。
复合语句
用{…}括起来的一组语句。
{
int a = 2, b = 3, c;
c = a + b;
printf ("c = %d\n", c);
}
一般形式为:
{ [数据说明部分;]
执行语句部分;
}
#include <>
void main ( )
{
int x = 10, y = 20, z;
z = x + y;
{
int z;
z = x * y;
printf ("z = %d\n", z); //输出复合语句中z的值
}
printf ("z = %d\n", z); //输出复合语句外z的值
}
输出结果:
z = 200
z = 30
控制语句
用来实现一定的控制功能的语句称为控制语句。C语言用控制语句来实现选择结构和循环结构。C语言有九种控制语句。可分成以下三类:
if( )~else~
switch
for( )~
while( )~
do~while( )
continue
break
goto
return
分支
循环
辅助控制
本章讨论
关系运算符、逻辑运算符、条件运算符
1. 关系运算符和关系表达式
关系运算符
含义
优先级
结合性
>
大于
这些关系运算符等优先级,但比下面的优先级高
左结合性
>= (>和=之间没有空格)
大于或等于
<
小于
<= (<和=之间没有空格)
小于或等于
== (两个=之间没有空格)
等于
这些关系运算符等优先级,但比上面的优先级低
!= (!和=之间没有空格)
不等于
关系运算符
关系表达式
用关系运算符连接起来的式子称为关系表达式。
关系表达式的一般形式为:表达式关系运算符表达式
例:a + b > c – d x > 3 / 2 'a' + 1 < c – i – 5 * j == k + 1
注意:
C语言用0表示假,非0表示真。
一个关系表达式的值不是0就是1,0表示假,1表示真。
关系运算符的优先级
算术运算符高
移位运算符
关系运算符
&、|、^
赋值运算符低
例如:
c > a + b 等价于:
a > b != c 等价于:
a == b < c 等价于:
a = b > c 等价于:
a >> 2 < c + d 等价于:
a & 4 > b | c 等价于:
c > (a + b)
(a > b) != c
a == (b < c)
a = (b > c)
(a >> 2) < (c + d)
(a & (4 > b)) | c
已知:a = 1; b = 2; c = 3;
问:d = a != c == a < b < c;的值?
答:d 的值为1。等价于:d = ((a != c) == ((a < b) < c));
例:int a = 3, b = 2, c = 1, d, f;
a > b
(a > b) == c
b + c < a
d = a > b
f = a > b > c
//表达式值1
//表达式值1
//表达式值0
//d = 1
//f = 0
关系运算注意:
例若a = 0; b = ; x = ;
则 a <= x <= b的值为
0
例 5 > 2 > 7 > 8在C中是
允许的,值为
0
例 int i = 1, j = 7, a;
a = i + (j % 4 != 0);
则a =
2
例‘a’>0 结果为
‘A’>100 结果为
1
0
例应避免对实数作相等或不等的判断
如 *== 结果为
可改写为:f
Kindle阅读器及应用介绍 来自淘豆网m.daumloan.com转载请标明出处.