• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見(jiàn)諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            C語(yǔ)言詳解 - 表達(dá)式和語(yǔ)句

            1. 什么是表達(dá)式?

            C語(yǔ)言中的表達(dá)式一種有值的語(yǔ)法結(jié)構(gòu),它由運(yùn)算符將變量、常量、函數(shù)調(diào)用返回值結(jié)合而成。

            1.1 變量

            變量名本身是一個(gè)表達(dá)式,表達(dá)式的值是變量當(dāng)前的值。復(fù)雜的表達(dá)式由[], ->, ., 和單目運(yùn)算符*構(gòu)成。

            1.2 常量

            常量名本身是一個(gè)表達(dá)式,字面常量也是表達(dá)式。對(duì)于這兩者,表達(dá)式的值是常量當(dāng)前的值。

            1.3 函數(shù)調(diào)用

            對(duì)于返回值不為void的函數(shù),對(duì)它的正確調(diào)用也是表達(dá)式。表達(dá)式的值為函數(shù)的返回值。

            1.4 操作符

            運(yùn)算符用于連接表達(dá)式中的值。以下是C語(yǔ)言中的運(yùn)算符,運(yùn)算符的優(yōu)先級(jí),及運(yùn)算符的結(jié)合順序

            Order

            Category

            Operator

            Operation

            Associativity

            1

            Highest precedence

            ( )
            [ ]

            : :
            .

            Function call

            L → R
            Left to Right

            2

            Unary

            !
            ~
            +
            -
            ++
            - -
            &
            *
            Size of

            Logical negation (NOT)
            Bitwise 1’s complement
            Unary plus
            Unary minus
            Pre or post increment
            Pre or post decrement
            Address
            Indirection
            Size of operant in bytes

            R → L
            Right -> Left

            3

            Member Access

            .*
            →*

            Dereference
            Dereference

            L → R

            4

            Multiplication

            *
            /
            %

            Multiply
            Divide
            Modulus

            L → R

            5

            Additive

            +
            -

            Binary Plus
            Binary Minus

            L → R

            6

            Shift

            <<
            >>

            Shift Left
            Shift Right

            L → R

            7

            Relational

            <
            <=
            >
            >=

            Less than
            Less than or equal to
            Greater than
            Greater than or equal to

            L → R

            8

            Equality

            ==
            !=

            Equal to
            Not Equal to

            L → R

            9

            Bitwise AAND

            &

            Bitwise AND

            L → R

            10

            Bitwise XOR

            ^

            Bitwise XOR

            L → R

            11

            Bitwise OR

            |

            Bitwise OR

            L → R

            12

            Logical AND

            &&

            Logical AND

            L → R

            14

            Conditional

            ? :

            Ternary Operator

            R → L

            15

            Assignment

            =
            *=
            %=
            /=
            +=
            -=
            &=
            ^=
            |=
            <<=
            >>=

            Assignment
            Assign product
            Assign reminder
            Assign quotient
            Assign sum
            Assign difference
            Assign bitwise AND
            Assign bitwise XOR
            Assign bitwise OR
            Assign left shift
            Assign right shift

            R → L

            16

            Comma

            ,

            Evaluate

            L → R

             

            1.5 實(shí)例

            /* 變量常量表達(dá)式 */
            a
            sum
            1
            0.5
            PI

            /* 算術(shù)表達(dá)式 */
            a + b
            a - b + c
            a * b +
            'A'
            a / b - c +
            10
            i++ + i++ + ++i

            /* 賦值表達(dá)式 */
            a = b
            a *= b +=
            20
            a = b = c =
            10
            a = (b=
            4) / (c=2)

            /* 逗號(hào)表達(dá)式 */
            1+2, 3+4
            (
            10, a*5), a+10

            /* 關(guān)系表達(dá)式 */
            x == y
            x <= y
            x != y

            /* 邏輯表達(dá)式 */
            10 && 20
            0 || 1
            (a>b) && (!
            0)

            clip_image001clip_image001

            /* 復(fù)合表達(dá)式 */
            x = ( y = (a + b), z=
            10)

            /* 表達(dá)式的應(yīng)用 */
            if( !100 ) //!100為邏輯表達(dá)式
              printf("expression show!");

            for(int i=10; i<10; i++)//for包含3個(gè)表達(dá)式,分別為i=10  i<10  i++
              printf("expression show!");

            while( 1 ) //1也是一個(gè)表達(dá)式
            {
                printf(
            "death loop!");
            }

            clip_image001clip_image001

             

            2. 語(yǔ)句

            語(yǔ)句指的是當(dāng)程序運(yùn)行時(shí)執(zhí)行某個(gè)動(dòng)作的語(yǔ)法結(jié)構(gòu)。它改變變量的值,產(chǎn)生輸出,或處理輸入。C語(yǔ)言包括4類語(yǔ)句:

            2.1 表達(dá)式語(yǔ)句

            表達(dá)式語(yǔ)句是最簡(jiǎn)單的一種語(yǔ)句,在表達(dá)式的末尾加分號(hào)就形成了一個(gè)表達(dá)式語(yǔ)句。表達(dá)式語(yǔ)句有以下形式:

            expression;

            最常用的表達(dá)式語(yǔ)句是函數(shù)調(diào)用語(yǔ)句和賦值語(yǔ)句。函數(shù)調(diào)用語(yǔ)句也屬于表達(dá)式語(yǔ)句,因?yàn)楹瘮?shù)調(diào)用(sin(x) )也屬于表達(dá)式的一種。賦值語(yǔ)句的作用是將等號(hào)左邊變量的值改成等號(hào)右邊表達(dá)式的值。賦值語(yǔ)句最常用的形式為:

            variable = expression;

            實(shí)例:

             

            x = 10;
            y =
            20;
            x *=
            10;   

            1;
            x + y;
            //這些語(yǔ)句也是合法的。語(yǔ)句被執(zhí)行時(shí),表達(dá)式求值,但結(jié)果并不保存于任何地方
            getchar(); //讀取輸入中的下一個(gè)字符,但接著便將其丟棄!

            x++;
            printf(
            "hello \n"); //printf函數(shù)的返回值通常并不關(guān)心。所謂語(yǔ)句沒(méi)有效果只是表示表達(dá)式的值被忽略。

             

            2.2 語(yǔ)句塊

            可以用{  }將一系列語(yǔ)句括起來(lái)使其大功能上相當(dāng)于一條語(yǔ)句,這就是語(yǔ)句塊。語(yǔ)句塊中可以有變量聲明,聲明必須位于塊的開(kāi)始。

            實(shí)例:

             

            clip_image001

            int x;
            int y;
            x =
            6;

            {
               
            int z = 100;
                y = z/x;
                printf(
            "%d \n", y);
            }

            clip_image001

             

            2.3 空語(yǔ)句

            即只有一個(gè)分號(hào)的語(yǔ)句,它什么也不做。當(dāng)用在循環(huán)體中時(shí),表示循環(huán)體什么也不做。

            實(shí)例:

            ; //空語(yǔ)句

            for( int i=0; i<10; i++ )
            ;
            //循環(huán)體為空

             

            2.4 控制語(yǔ)句

            控制語(yǔ)句分類3類:循環(huán)語(yǔ)句,選擇/條件語(yǔ)句,特殊語(yǔ)句

            Repetition

            While Loops

            -

            pretest loops

            For Loops

            -

            pretest loops

            Do-While Loops

            -

            posttest loops

             

             

             

            /* While Loops */
            while (conditional-expression) {
                nested-statements
            }

            /* For Loops */
            for (initialization; conditional-expression; increment) {
                nested-statements
            }

            /* Do-While Loops */
            do {
                nested-statements
            }
            while (conditional-expression);

             

            Conditional Execution And Selection

            If Statements

            -

            conditional execution of a single statement

            If-Else Statements

            -

            conditional selection among two statements

            Switch Statements

            -

            conditional selection among several statements

            Extended If Statements

            -

            conditional selection among several statements

             

             

             

            /* If Statements */
            if (conditional-expression) {
                then-clause
            }

            /* If-Else Statements */
            if (conditional-expression) {
                then-clause
            }
            else {
               
            else-clause
            }

            /* Switch Statements */
            switch (control-expression) {
               
            case constant-expression-1:
                statements-
            1
                    .
                    .
                    .
               
            case constant-expression-n:
                statements-n
               
            default:
               
            default-statements
            }

            /* Extended If Statements */
            if (conditional-expression-1) {
                statements-
            1
            }
            else if (conditional-expression-1) {
                statements-
            1
                .
                .
                .
            }
            else if (conditional-expression-n) {
                statements-n
            }
            else {
               
            default-statements
            }

             

            Special Control Statements

            Return Statements

            -

            return values from and terminate functions

            Continue Statements

            -

            skip the remaining statements in an iteration of a loop

            Break Statements

            -

            exit a loop or switch statement

            /* Return Statements */
            return;
            return expression;

            /* Continue Statements */
            continue;

            /* Break Statements */
            break;

             

            實(shí)例略

             

            Tag標(biāo)簽: 表達(dá)式,語(yǔ)句

            jcsu
            關(guān)注 - 1
            粉絲 - 1

            關(guān)注博主

             

            posted on 2010-05-06 12:09 肥仔 閱讀(2178) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 狀態(tài)機(jī) & 自動(dòng)機(jī) & 形式語(yǔ)言

            久久久久亚洲爆乳少妇无| 影音先锋女人AV鲁色资源网久久| 久久婷婷五月综合97色一本一本| 午夜精品久久久久久久久| 久久夜色tv网站| 亚州日韩精品专区久久久| 亚洲欧美日韩久久精品第一区| 国产精品福利一区二区久久| 久久国产高清一区二区三区| 亚洲av成人无码久久精品| 国产日韩久久久精品影院首页| 中文字幕无码免费久久| 久久青青草原国产精品免费| 久久久久亚洲AV无码观看| 国产亚洲欧美成人久久片| 中文国产成人精品久久不卡| 久久久久国产精品三级网| 国产成人精品久久一区二区三区| 日韩中文久久| 久久精品一区二区三区中文字幕 | 欧美精品国产综合久久| 久久久久国产精品| avtt天堂网久久精品| 99精品久久精品一区二区| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 欧美亚洲色综久久精品国产| 久久久久久国产a免费观看不卡| 97久久精品无码一区二区天美| 久久久久久久精品成人热色戒| 久久无码av三级| 狠狠色婷婷综合天天久久丁香 | 亚洲国产精品无码久久98| 久久精品桃花综合| 一本色道久久88综合日韩精品| 久久国产美女免费观看精品 | 国内精品久久久久| 国产亚洲美女精品久久久久狼| 精品久久久久久久| 99久久伊人精品综合观看| 国产午夜精品久久久久九九| 久久av免费天堂小草播放|