• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      C語言指針與自增自減運算解析

      2020-04-07 15:25:28曹雁湖北職業(yè)技術(shù)學(xué)院信息技術(shù)學(xué)院
      數(shù)碼世界 2020年3期
      關(guān)鍵詞:運算符后置數(shù)組

      曹雁 湖北職業(yè)技術(shù)學(xué)院信息技術(shù)學(xué)院

      關(guān)鍵字:指針 自增自減

      1 引言

      指針是C語言的重要概念之一,利用指針可以簡化程序,簡化字符串和數(shù)組的操作,解決了函數(shù)調(diào)用多個返回值的問題,能夠直接訪問內(nèi)存地址,提高了程序的運行效率、節(jié)省了內(nèi)存。自增、自減運算符也是C語言的重要的、非常實用的運算符,用法靈活。指針是C語言的難點和重點,而和自增、自減運算符相結(jié)合雖然使用簡單靈活,但是學(xué)生普遍反映不太理解、更不會使用,稍不注意就會出錯。本文結(jié)合作者多年的C語言教學(xué)和軟件開發(fā)經(jīng)驗,解析指針和自增、自減運算符的結(jié)合使用。

      2 自增、自減運算符

      自增自減運算符++和--表示對變量本身的值加1和減1,但根據(jù)是否先引用再改變變量的值,又有兩種使用方法,分別是前置模式和后置模式。前置模式是先運算再引用,后置模式是先引用再運算。舉例說明:

      分析上述代碼段,第二行代碼是自增運算符的前置模式,也就是先將變量a的值加1,然后賦值給變量b,即該行執(zhí)行完畢后,變量a和b的值都是5。第三行代碼是自增運算符的后置模式,也就是先將變量a的值賦值給變量c,再將變量a的值加1,即該行執(zhí)行完畢后,變量a和c的值分別是6和5。

      3 自增自減運算符與指針的綜合使用

      案例1:使用指針訪問一維數(shù)組

      分析上述代碼,函數(shù)scanf()調(diào)用需要提供輸入數(shù)據(jù)的地址,指針變量p用于保存數(shù)組的首地址,p++使得循環(huán)過程中p不斷指向下一個元素。

      *p++表達式結(jié)合過程為*(p++),先取p指向的元素的值,再將該指針變量p自增,也就是先*p,然后p++,使p后移。這里學(xué)生容易出錯。

      案例2:統(tǒng)計字符串中的“*”的個數(shù)

      上述程序運行結(jié)果不正確,主要在于語句①中的p++,實際運行過程中,while表達式先使用p所指向的變量的值,再將p向前移動一個元素。語句②中的p和語句①的p顯然已經(jīng)不是同一個值,結(jié)果自然就不對了。更正時只要將語句①的*p++更改為*p,然后在while循環(huán)體內(nèi)增加p++語句。

      4 結(jié)束語

      指針和自增自減運算符的結(jié)合使用是一把雙刃劍,一方面簡化了表達式,為程序設(shè)計帶來了很大的便利,但同時由于運算符優(yōu)先級和結(jié)合性以及指針的復(fù)雜性,稍微不注意就會出錯,并且錯誤很隱蔽。本文根據(jù)多年的教學(xué)經(jīng)驗和積累,總結(jié)了C語言中指針和自增自減運算符的使用規(guī)律、展示了常見的使用錯誤并進行了分析。

      猜你喜歡
      運算符后置數(shù)組
      JAVA稀疏矩陣算法
      電腦報(2022年13期)2022-04-12 00:32:38
      老祖?zhèn)魇诨具\算符
      JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
      電腦報(2020年24期)2020-07-15 06:12:41
      非正交五軸聯(lián)動數(shù)控機床后置處理算法開發(fā)
      沉淀后置生物處理組合工藝的工程應(yīng)用
      Review of Research on the Prevention of HPV Infection and Cervical Cancer
      尋找勾股數(shù)組的歷程
      后置式自動發(fā)卡機系統(tǒng)應(yīng)用
      C++運算符重載剖析
      價值工程(2014年17期)2014-04-16 03:29:20
      表達式求值及符號推導(dǎo)
      宁晋县| 安远县| 安塞县| 英超| 石屏县| 庐江县| 陕西省| 东明县| 车险| 东源县| 石狮市| 昂仁县| 桓仁| 比如县| SHOW| 曲沃县| 定远县| 呈贡县| 昌江| 涟水县| 繁昌县| 蛟河市| 双鸭山市| 高青县| 眉山市| 保山市| 子长县| 井冈山市| 雷州市| 神农架林区| 屯留县| 万荣县| 朝阳县| 盐山县| 莎车县| 美姑县| 株洲市| 闸北区| 许昌县| 武宣县| 尼玛县|