亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        巧用C語(yǔ)言中的自增自減運(yùn)算符

        2010-07-30 02:57:24黃建瓊
        電腦知識(shí)與技術(shù) 2010年11期
        關(guān)鍵詞:表達(dá)式函數(shù)

        黃建瓊

        摘要:自增自減運(yùn)算符在C語(yǔ)言的編程過程中經(jīng)常用到,具有重要的作用,而靈活使用自增自減運(yùn)算符則是個(gè)難點(diǎn)。該文從幾個(gè)例子入手,觀察運(yùn)行的結(jié)果,對(duì)結(jié)果進(jìn)行分析,最后得出結(jié)論。以期能使初學(xué)者避重就輕,從而熟練掌握自增自減運(yùn)算符。

        關(guān)鍵詞:C語(yǔ)言;自增自減運(yùn)算符;表達(dá)式;函數(shù)

        中圖分類號(hào):TP301文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2010)11-2631-02

        Skillfully Apply the Autoincrement and Autodecrement Operators in the C Programming Language

        HUANG Jian-qiong

        (Fuzhou Technical College of Foreign Studies, Fuzhou 350018, China)

        Abstract: Autoincrement and autodecrement operators in the C programming language frequently used process has an important role, while the flexible use of autoincrement and autodecrement operators is a difficult. In this paper, a few examples to start to observe the operation results, the results were analyzed, the final conclusion. With a view to enable the novice takes the easy way to master the autoincrement and autodecrement operators.

        Key words: C programming language; increment and decrement operators; expression; function

        C語(yǔ)言功能強(qiáng)大,使用靈活,是初學(xué)者的很好的入門語(yǔ)言。而C語(yǔ)言中規(guī)則繁多、運(yùn)算符豐富,特別是含有自增自減運(yùn)算符的同一個(gè)表達(dá)式在不同情況下具有不同的值,讓許多初學(xué)者感到困難。本文以TURBO C為運(yùn)行環(huán)境,從示例入手,由淺入深,巧析自增自減運(yùn)算符的使用。

        1 自增自減運(yùn)算符的功能

        自增自減運(yùn)算符的符號(hào)分別為“++”和“--”,其作用是使變量的值增1或減1,它的操作方法又分為兩種,即運(yùn)算符在變量前和運(yùn)算符在變量后,本文為了說明方便,統(tǒng)一用前自增(前自減)或后自增(后自減)來引用。

        例1: ++i,i++(在使用之前,使i的值加1)

        這里,++ i和i++的作用相當(dāng)于i =i+1。但++ i和i++出現(xiàn)在表達(dá)式或語(yǔ)句中是有區(qū)別的。

        例2:int i=3,j=3,m,n;

        m=i++;(i的值賦給m,m的值為3,之后i加1,值為4)

        n=++j; (j加1,值為4,4賦給n,n的值為4)

        當(dāng)“++”在后時(shí),先使用i的值,再執(zhí)行i=i+1;當(dāng)“++”在前時(shí),先執(zhí)行j=j+1,再使用j的值。所以m和n的結(jié)果分別是3和4。

        2 自增自減運(yùn)算符在賦值表達(dá)式中的應(yīng)用

        例3:main()

        { int i=3,a;

        a=(++i)+(i--)+i;

        printf("a=%d,i=%d ",a,i);}

        運(yùn)行程序,輸出結(jié)果為a=12,i=3。

        分析:先計(jì)算++i,i的值變?yōu)?,右邊三個(gè)i均取4, a的值為4+4+4=12,最后i減1變?yōu)?。

        例4:main()

        { int i=3,a;

        a=(++i)+(i--)+(++i)+i;

        printf("a=%d,i=%d ",a,i);}

        運(yùn)行程序,輸出結(jié)果為a=20,i=4。

        分析:先計(jì)算兩個(gè)++i,i的值變?yōu)?,右邊四個(gè)i均取5, a的值為5+5+5+5=20,最后i減1變?yōu)?。

        根據(jù)以上兩個(gè)例子及眾多的實(shí)驗(yàn),在涉及自增自減的賦值表達(dá)式運(yùn)算中,筆者總結(jié)出如下計(jì)算規(guī)律:1) 碰到前自增自減的情況時(shí),先計(jì)算前自增自減表達(dá)式;2) 統(tǒng)一處理整個(gè)表達(dá)式,求解;3) 最后進(jìn)行后自增自減運(yùn)算。

        例5:main()

        { int n=4,m;

        m=(++n)+(--n)+(++n)+(++n)+(n--)+n;

        printf("m=%d,n=%d ",m,n);}

        運(yùn)行程序,輸出結(jié)果為m=36,n=5。

        根據(jù)以上結(jié)論進(jìn)行推導(dǎo):1)計(jì)算(++n)、(--n)、(++n)和(++n),得出n=6;2)m=6+6+6+6+6+6,等于36;3)計(jì)算n--,n等于5。

        例6:main()

        { i=3;

        i=(++i)+(i--)+i;

        printf("i=%d ",i);}

        運(yùn)行程序,輸出結(jié)果為i=11。

        根據(jù)以上結(jié)論推導(dǎo):1)計(jì)算++i,得出i=4;2)i=4+4+4,等于12;3)計(jì)算i--,i等于11。

        3 自增自減運(yùn)算符在printf函數(shù)中的應(yīng)用

        例7:main()

        { int i=3;

        printf("a=%d ", (++i)+(i--)+i);}

        運(yùn)行程序,輸出結(jié)果為a=11。

        觀察例7和例3,例7是由例3修改而來的。在例3中,(++i)+(i--)+i是放在賦值表達(dá)式中,而例7中(++i)+(i--)+i是放在printf函數(shù)中作為參數(shù),而結(jié)果卻不一樣。這說明自增自減運(yùn)算符在賦值表達(dá)式和printf函數(shù)中的應(yīng)用是不一樣的。

        分析:先計(jì)算++i,i的值變?yōu)?,表達(dá)式變?yōu)?+(i--)+i;接著前兩項(xiàng)相加結(jié)果為8+i,i變?yōu)?;最后計(jì)算8+3,等于11。

        例8:main()

        { int i=3;

        printf("%d ", (i++)+(i++)+(i++));}

        運(yùn)行程序,輸出結(jié)果12。

        分析:先計(jì)算表達(dá)式,變?yōu)?+(i++)+(i++),i的值變?yōu)?;接著前兩項(xiàng)相加,表達(dá)式變?yōu)?+4+(i++),即7+(i++),i的值變?yōu)?;最后計(jì)算整個(gè)表達(dá)式的值為7+5,等于12,i的值為6。

        例9:main()

        {int i=3;

        printf("%d ", (++i)+( ++i)+( ++i));}

        運(yùn)行程序,輸出結(jié)果a=15。

        計(jì)算的過程和上例一樣,按照自左向右的規(guī)則,i的值依次為4、5、6,表達(dá)式的值為4+5+6=15

        由上例7~例9及大量的實(shí)驗(yàn),可以歸納如下:當(dāng)自增自減表達(dá)式作為printf函數(shù)的參數(shù)時(shí),按自左向右的原則,依次計(jì)算得出結(jié)果。

        例10:main()

        {int i=3;

        printf("%d ", (++i)+(i++)+( ++i));}

        運(yùn)行程序,輸出結(jié)果14。

        運(yùn)用上述結(jié)論,不難推出i的結(jié)果為6,表達(dá)式的結(jié)果為4+4+6,即14。

        4 小結(jié)

        自增自減運(yùn)算符在編程過程中經(jīng)常用到,靈活的使用它,可以簡(jiǎn)化編程語(yǔ)句。而它在不同地方、不同編譯環(huán)境下的實(shí)現(xiàn)過程不一,這就要求使用者在使用時(shí)要倍加小心。此外,對(duì)于初學(xué)者一定要勤學(xué)多問、多實(shí)踐。

        參考文獻(xiàn):

        [1] 譚浩強(qiáng).C程序設(shè)計(jì)[M].3版.北京:清華大學(xué)出版社,2005.

        [2] 譚浩強(qiáng),張基溫.C語(yǔ)言程序設(shè)計(jì)教程[M].3版.北京:高等教育出版社,2006.

        [3] 張莉.C程序設(shè)計(jì)教程[M].北京:電子工業(yè)出版社,2000.

        猜你喜歡
        表達(dá)式函數(shù)
        第3講 “函數(shù)”復(fù)習(xí)精講
        二次函數(shù)
        既有建筑結(jié)構(gòu)鑒定表達(dá)式各分項(xiàng)系數(shù)的確定分析
        第3講 “函數(shù)”復(fù)習(xí)精講
        靈活選用二次函數(shù)表達(dá)式
        二次函數(shù)
        函數(shù)備考精講
        一個(gè)混合核Hilbert型積分不等式及其算子范數(shù)表達(dá)式
        表達(dá)式轉(zhuǎn)換及求值探析
        第3講“函數(shù)”復(fù)習(xí)精講
        国产精品久久熟女吞精| 精品国产乱码久久久久久婷婷| 久久成人成狠狠爱综合网| 精品国产午夜理论片不卡| a在线免费| 久久久国产精品五月天伊人| 亚洲韩日av中文字幕| 久久精品亚洲成在人线av乱码| 无码人妻丰满熟妇啪啪网站| 亚洲另类自拍丝袜第五页| 噜噜噜色97| 亚洲精品中文字幕导航| 色爱情人网站| 国产精品嫩草99av在线| 久久AV老司机精品网站导航| 国产AV无码一区精品天堂| 中文字幕亚洲精品高清| 一个人看的视频在线观看| 女人和拘做受全程看视频 | 在线永久看片免费的视频| 国产丰满乱子伦无码专| 亚洲女av中文字幕一区二区| 白丝兔女郎m开腿sm调教室| 在线播放无码高潮的视频| 吃下面吃胸在线看无码| 在线免费观看毛视频亚洲精品| 午夜精品久久久久久久久| 成人做爰视频www| 狼色在线精品影视免费播放| 桃色一区一区三区蜜桃视频| 亚洲熟妇无码av在线播放 | 国产丝袜一区二区三区在线不卡| 国产小车还是日产的好 | 丰满少妇人妻久久久久久| 巨熟乳波霸若妻在线播放| 日韩成人精品一区二区三区| 亚洲捆绑女优一区二区三区| 人妻丰满熟妇无码区免费| 亚洲成a人片在线看| 亚洲一区二区三区亚洲| 久久久久亚洲av成人片|