<C和指针---读书笔记4>

本节将介绍 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语句 : 不要使用

      

     

 

原文地址:https://www.cnblogs.com/mokang0421/p/7360575.html