《Pointers On C》读书笔记(第四章 语句)

1.空语句只包含一个分号,它本身并不执行任何任务,其适用的场合是语法要求出现一条完整的语句,但并不需要它执行任何任务。

2.C语言中并不存在专门的“赋值语句”,赋值就是一种操作,在表达式内进行。通过在表达式后面加上一个分号,就可以把表达式转变为语句。因此,表达式

x = y + 3;
ch = getchar();

实际上是表达式语句,而不是赋值语句。

3.if语句的语法如下:

if( expression )
    statement
else
    statement

其中,括号是if语句的一部分,而不是表达式的一部分,因此它是必须出现的。

C语言中并不具备布尔类型,而是用整型来代替,零值表示“假”,非零值表示“真”

当if语句嵌套出现时,else子句从属于最靠近它的不完整的if语句。

4.在while循环中可以使用break语句,用于永久终止循环。在执行完break语句之后,执行流下一条执行的语句就是循环正常结束后应该执行的那条语句。

在while循环中也可以使用continue语句,用于终止当前的那次循环。在执行完continue语句之后,执行流接下来就是重新测试表达式的值,决定是否继续执行循环。

这两条语句的任何一条如果出现于嵌套的循环内部,它只对最内层的循环起作用,你无法使用break或continue语句影响外层循环的执行。

5.for语句中的初始化部分、条件部分和调整部分都是可选的,都可以省略。

6.当你需要循环体至少执行一次时,选择do。

7.switch语句的每个case标签必须具有一个唯一的值,其值必须在编译期间确定。

switch语句在执行时将贯穿所有的case标签,要避免这种行为,必须在每个case语句后面增加一条break语句。

每条switch语句中只能出现一条default子句,但它可以出现在语句列表的任何位置,而且语句流会像贯穿一个case标签一样贯穿default子句。default子句用于捕捉表达式的值与所有case标签的值不匹配的情况。如果没有default子句,当表达式的值与所有case标签的值不匹配时,整个switch语句体将被跳过。

8.在一般情况下,应该尽量避免使用goto语句。

posted @ 2013-08-29 21:32  茫茫人海1314  阅读(220)  评论(0编辑  收藏  举报