《C和指针》学习笔记(四)

来源:互联网 发布:钉钉saas的数据架构 编辑:程序博客网 时间:2024/05/16 00:36

第四章 语句

 

4.1 空语句

    本身只包含一个分号。空语句并不执行任何任务,但有时是有用的。

 

4.2 表达式语句

    C没有专门的“赋值语句”。C的赋值在表达式内进行,是一种操作。

 

    y + 3;

    getchar();

    以上两条语句是合法的,它们被求值,但结果不被保存,因为它们没有赋值操作符。

 

4.3 代码块

    {

        declarations

        statements

    }

    代码块允许在语法要求只出现一条语句的地方使用多条语句;

    代码块允许把数据的声明非常靠近它所使用的地方。

 

4.4 if语句

    if (expression)

        statement

    else

        statement

 

    expression可以是任何能够产生整型结果的表达式:零值表示“假”,非零值表示“真”。

    规则:else从属于最靠近它的不完整的if语句。

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

    许多程序员倾向于在任何时候都添加花括号,以避免忘记添加花括号的错误。

 

4.5 while语句

    while(expression)

        statement

 

    4.5.1 break和continue语句

        break:永久终止循环;

        continue:终止当前循环,重新测试判断表达式的值,决定是否继续执行循环。

        当出现在嵌套循环最内部中,break和continue只对最内层的循环起作用,无法影响外层循环的执行。

 

    4.5.2 while语句的执行过程

        有时在while的判断表达式中就可以完成整个语句的任务,这时,循环体用空语句表示。如:

             while ( (ch=getchar() ) != EOF && ch != '/n' )

                 ;

 

    4.6 for语句

        for(expression1; expression2; expression3)

            statements

        for循环有一个风格上的优势,它把所有用于操纵循环的表达式收集在一起,放在同一个地点,便于寻找。当循环体比较庞大时,这个有点更为突出。

 

    4.7 do语句

        do

            statement

        while( expression )

    do语句至少执行循环体一次。

 

    4.8 switch语句

        switch( expression )

            {

                    statement-list

             }

        expression必须是整型值。

        switch语句体内只有一条语句是合法却无意义的。

 

        举例:

        switch( command )

        {

             case 'A' :

                           add_entry();

                           break;

             case 'B' :

                           delete_entry();

                           break;

             case 'C' :

                           print_entry();

                           break;

             case 'E' :

                           edit_entry();

                           break;

        }

 

        在switch语句中,continue语句没有任何效果。只有当switch位于每个循环内部时,才可以把continue语句放在switch语句内。

 

    4.8.2 default语句

    在switch语句中,加入default是个好习惯。

 

    4.9 goto语句

    希望不会用到这个知识点。

    goto 语句标签;

 

    总结:

            C并不具备任何输入/暑促语句;I/O是通过调用库函数实现的;C也不具备任何异常处理语句,它们也是通过调用库函数来完成的。