• <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)貼],因其丑陋,見諒!~
            隨筆 - 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ǔ)句沒有效果只是表示表達(dá)式的值被忽略。

             

            2.2 語(yǔ)句塊

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

            實(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 肥仔 閱讀(2173) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 狀態(tài)機(jī) & 自動(dòng)機(jī) & 形式語(yǔ)言

            亚洲欧美日韩精品久久亚洲区| 波多野结衣久久| 秋霞久久国产精品电影院| 97r久久精品国产99国产精| 91久久精一区二区三区大全| 波多野结衣中文字幕久久| 精品一区二区久久久久久久网站| 久久久中文字幕| 久久综合九色欧美综合狠狠| 成人综合久久精品色婷婷| 午夜精品久久久久久中宇| 国产欧美一区二区久久| 久久996热精品xxxx| 久久天天躁狠狠躁夜夜不卡| 亚洲第一极品精品无码久久| 成人久久精品一区二区三区| 国产精品成人久久久久三级午夜电影| 午夜福利91久久福利| 久久久久亚洲AV无码永不| 亚洲国产精品婷婷久久| 亚洲午夜精品久久久久久浪潮| 亚洲欧美成人综合久久久| 久久99国产精一区二区三区| 久久精品国产99久久久香蕉| 亚洲色婷婷综合久久| 国产午夜精品理论片久久| 成人综合久久精品色婷婷| 久久精品无码一区二区三区| 亚洲日本久久久午夜精品| 精品999久久久久久中文字幕| 色综合久久天天综线观看| 成人国内精品久久久久影院| 久久亚洲国产最新网站| 色综合色天天久久婷婷基地| 久久久久久久精品成人热色戒 | 国产亚洲精品久久久久秋霞| 久久精品国产亚洲av麻豆小说 | 欧美喷潮久久久XXXXx| 91精品婷婷国产综合久久| 国产69精品久久久久9999APGF| 97久久久久人妻精品专区|