本节将介绍 C语言---语句的基本知识、
空语句:
空语句即逗号; 它不会修改任何的变量值,但是真实执行的。汇编指令00.
表达式语句:
C语言由函数组成, 函数由语句组成;语句由表达式+分号组成;表达式又分成 : 常量表达式逻辑表达式算数表达式赋值表达式关系表达式.....或者这些表达式的组合.
常量表达式 6 本身
算数表达式 2+4 、 x+3 运算结果
赋值表达式 y= x+3 ; x=1+2; 右侧的结果值
逻辑表达式 6 & 1 x ^ 0x01 逻辑结果值
关系表达式 1 > 2 x<1 真为1,假为0
组合 (y=x+3) < 5 ()的结果是x+3. 若小于5,则1. 否则为0
以上这些都是表达式. 在他们尾部加上 分号 都是可以编译通过的/虽然这些语句可能没有实际的应用价值,但是它会真正的编译成
汇编码.
这些表达式语句的结果是什么呢 ,参考右侧。
C语言中常用到的循环判断语句主要有 if whiledo..whileforswitch....语句,下面将介绍这些语句的基本语法问题
if语句 :
if (expression) {
statement1
} else {
statement2
}
expression是表达式语句, if() 判断表达式语句最后的结果,若为0,则为假执行statement2; 为 非0值,则执行 statement1;
这里做一个补充: 布尔型数据
什么是布尔型数据? 布尔型跟intchar是一样,是一种数据类型, 声明 bool a 之后,变量a可以直接赋予 关键字 false rue.
这一类数据称为布尔型. 在C99之前,C语言是没有布尔型的,但是其他的语言有,程序员为了统一起见,通常使用下面的
做法: typedef Bool int
#define false 1
#define true 0
Bool a = false ;
但是在C99之后, 使用 #include <stdbool.h> 就能直接定义 bool类型了。
while语句
while (expression)
{ statement}
先判断 expression的结果,然后判断非0,则执行statement; 为0则跳过while循环.
内部搭配 breakcontinue 能更加灵活的实现控制, continue只退出本次后续代码,直接跳转到 重新判断
break 则是退出整个while循环.
do语句
do语句和while语句类似. 只不过是先 执行statement 再执行判断while.
For语句
for(initial ; expression ; update)
{ statement }
先执行initial .然后判断expression, 若真则执行 statement + updata ,再重复判断; 若为假则退出该if循环
switch语句:
switch (expression) {
case 1 : statement1; ( break;)
case 2 : statement2; ( break;)
.....
case n : statementn; ( break;)
default : statement
}
需要注意的是 当expression = 2时,执行完statement2之后,会继续执行statement3 ....statementn
为了避免这种行为,在 case后面添加 break; 用于跳出。同时一般会增加default分支,以避免无命中情况.
Goto语句 : 不要使用