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

        ?

        C語言基本點解析

        2013-12-31 00:00:00孫承秀
        創(chuàng)新科技 2013年8期

        [摘 要] 本文主要針對C語言的幾個要點,進(jìn)行透徹分析,挖掘C語言與較為流行的程序設(shè)計語言java的共同點,突出C語言的基礎(chǔ)性地位,從而為C語言學(xué)習(xí)者提供便捷的學(xué)習(xí)方法。

        [關(guān)鍵詞] C語言;程序設(shè)計;java

        [中圖分類號] TP311.11 [文獻(xiàn)標(biāo)識碼] A

        C語言是最重要的計算機(jī)程序設(shè)計語言之一,以其自身的特色與優(yōu)勢,在計算機(jī)科學(xué)技術(shù)、工業(yè)控制、單片機(jī)編程、系統(tǒng)底層開發(fā)等領(lǐng)域應(yīng)用非常廣泛。此外,它還是其他重要程序設(shè)計語言如Java、C++等的入門語言。近些年,由于程序設(shè)計類語言的發(fā)展與進(jìn)步,C語言地位正在被弱化,但由于其重要性,C語言知識還應(yīng)該更全面地得到推廣。

        在Java語言程序設(shè)計中,隨處可見C語言的影子,所以在面向?qū)ο蟮某绦蛟O(shè)計語言日益流行的今天,入門階段由C語言程序設(shè)計來完成是再合適不過了,只有成功完成這一過渡,才能更好地把握J(rèn)ava程序設(shè)計語言的主要特點,最終能夠運用Java語言進(jìn)行網(wǎng)絡(luò)與數(shù)據(jù)庫方面的系統(tǒng)設(shè)計,更好地完成項目設(shè)計,更好地站在軟件工程技術(shù)的前沿。

        C語言程序書寫形式自由,把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來,適合于多種操作系統(tǒng),使程序效率更高。語法比較靈活,允許程序編寫者有較大的自由度。

        程序設(shè)計包括了很多小的知識點,這些知識點與計算機(jī)原理知識結(jié)合非常緊密。如C語言中的關(guān)鍵字和控制語句,大多被延用到j(luò)ava程序中,使用方法和規(guī)則大多沒有改變。足可見C語言的基本內(nèi)容的精典性。

        本文主要針對C語言的幾個要點,進(jìn)行透徹分析,挖掘C語言與較為流行的程序設(shè)計語言java的共同點,突出C語言的基礎(chǔ)性地位,從而為C語言學(xué)習(xí)者提供便捷的學(xué)習(xí)方法。

        1 數(shù)據(jù)類型與數(shù)據(jù)的種類

        數(shù)據(jù)類型在C語言中應(yīng)該與數(shù)據(jù)的種類做個清晰的區(qū)分,因為它所涉及的內(nèi)容實質(zhì)不同。

        1.1 基本數(shù)據(jù)類型

        short、int、long、char、float、double這六個關(guān)鍵字代表C語言里的六種基本數(shù)據(jù)類型,數(shù)據(jù)類型其實就是個模子。在C語言中可以用這六個關(guān)鍵字創(chuàng)建無數(shù)個需要的數(shù)據(jù),可以用它們在內(nèi)存中分配不同大小的變量。

        1.2 數(shù)據(jù)的種類

        C語言中數(shù)據(jù)的種類有兩種,一種是有固定值的常量,另一種是沒有固定值的變量。常量的表現(xiàn)形式如上各種基本數(shù)據(jù)類型形式的數(shù)據(jù)。

        變量是可以存儲各種基本數(shù)據(jù)類型的數(shù)據(jù)存儲單元,它是所有程序設(shè)計語言中的重要概念。它所涉及的內(nèi)容連貫性很強(qiáng),如:

        (1)變量用什么來表示?

        答:用變量名來表示

        (2)變量名是什么?

        答:變量名是一個用于表示內(nèi)存單元的符號地址,是用戶所起的標(biāo)識符,需要符合C語言中規(guī)定的標(biāo)識符的命名規(guī)則。

        (3)變量如何確定下來?

        答:由一個聲明語句確定下來。

        (4)確定下來的這個內(nèi)存單元有什么作用?

        答:用于存取指定的數(shù)據(jù)類型的數(shù)據(jù)。

        (5)聲明語句完成什么工作?

        答:聲明語句完成數(shù)據(jù)類型的分配,一個聲明語句只能完成一種數(shù)據(jù)類型的指定。

        2 運算符的運算優(yōu)先級與結(jié)合性

        C語言中的運算全部在java中得到了延展,只是在java程序設(shè)計中重載了運算符“+”,如此看來,C語言中的運算符是如此經(jīng)典。下面對C語言中的運算問題作一論述。

        2.1 優(yōu)先級:C語言中,不同類型的運算符在運算優(yōu)先級上有個明確的分級。 在表達(dá)式中,優(yōu)先級較高的先于優(yōu)先級較低的進(jìn)行運算。而在一個運算量兩側(cè)的運算符優(yōu)先級相同時,則按運算符的結(jié)合性所規(guī)定的結(jié)合方向處理。

        2.2 結(jié)合性:C語言中各運算符的結(jié)合性分為兩種,即左結(jié)合性(自左至右)和右結(jié)合性(自右至左)。例如算術(shù)運算符的結(jié)合性是自左至右,即先左后右。如有表達(dá)式x-y+z則y應(yīng)先與“-”號結(jié)合,執(zhí)行x-y運算,然后再執(zhí)行+z的運算。這種自左至右的結(jié)合方向就稱為“左結(jié)合性”。而自右至左的結(jié)合方向稱為“右結(jié)合性”。

        最典型的右結(jié)合性運算符是賦值運算符。如x=y=z,由于“=”的右結(jié)合性,應(yīng)先執(zhí)行y=z再執(zhí)行x=(y=z)運算。C語言運算符中有不少為右結(jié)合性。

        優(yōu)先級從上到下依次遞減,最上面具有最高的優(yōu)先級,大致依據(jù)的原則是:單目運算高于雙目運算,算術(shù)運算高于位運算高于關(guān)系運算高于邏輯運算,逗號操作符具有最低的優(yōu)先級。

        所有的優(yōu)先級中,只有三個優(yōu)先級是從右至左結(jié)合的,它們是單目運算符、條件運算符、賦值運算符。其他的都是從左至右結(jié)合。

        另外是單目運算符,所有的單目運算符具有相同的優(yōu)先級,真正的運算符中它們具有最高的優(yōu)先級,又由于它們都是從右至左結(jié)合的,因此*p++與*(p++)等效是毫無疑問的。

        在C語言里,有前置、后置之分,因為++--是右結(jié)合所以右側(cè)優(yōu)先運算,表現(xiàn)為“操作數(shù)后置優(yōu)先級比較高”的假象,前置和后置的由其運算規(guī)律進(jìn)行區(qū)分更為合理,就前置運算的自增或自減,可認(rèn)為它是所有混合運算中最先進(jìn)行的,而后置運算的自增或自減則是所有混合運算中最后進(jìn)行的。

        最后在程序設(shè)計過程中一個不可忽略的要點就是關(guān)系運算符(<、<=、>、>=、==、!=)和邏輯操作符(!、~、、||),與其相關(guān)的就是關(guān)系或邏輯表達(dá)式的設(shè)計與應(yīng)用。有非常廣泛的應(yīng)用,如:在選擇結(jié)構(gòu)流程中if結(jié)構(gòu)的條件表達(dá)式和循環(huán)結(jié)構(gòu)流程中循環(huán)條件表達(dá)式的應(yīng)用。

        3 流程控制語句

        C語言是結(jié)構(gòu)化程序設(shè)計語言,程序設(shè)計過程中結(jié)構(gòu)化程序要求非常高,其流程控制可分為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),這些結(jié)構(gòu)可以說是通過關(guān)鍵字的應(yīng)用而實現(xiàn)。沒有表示流程控制的關(guān)鍵字,則實現(xiàn)了順序結(jié)構(gòu)流程,應(yīng)用了if、else、switch等實現(xiàn)了選擇結(jié)構(gòu)流程,應(yīng)用了while、do、for關(guān)鍵字,則實現(xiàn)了循環(huán)結(jié)構(gòu)流程。在java中,對這些關(guān)鍵點也做了全面的復(fù)制。與流程控制相關(guān)的要點大致有如下幾點。

        3.1 復(fù)合語句

        在C語言中,一對花括號{}不僅可以用作函數(shù)體的開頭和結(jié)尾標(biāo)志,也可以用作復(fù)合語句的開頭和結(jié)束標(biāo)志。復(fù)合語句也稱為語句塊,其形式如下:

        {語句1 語句2 語句n},一個復(fù)合語句在語法上被視為一條語句,在一對花括號內(nèi)的語句數(shù)量不限。我們可簡單地認(rèn)為,復(fù)合語句的效性開始于{(左大括號),結(jié)束于}(右大括號),它是C語言所承認(rèn)的一種語法現(xiàn)象,可視做是一個作用域,所以在復(fù)合語句中不僅可以有執(zhí)行語句,也可以有定義部分,復(fù)合語句申明的變量的作用域只在復(fù)合語句中,出了復(fù)合語句就不起作用.復(fù)合語句中的變量名和主函數(shù)中的變量可以相同,但不是同一變量。例如:示例代碼。

        main(){

        int a=3,b=2,c=1;

        printf(“[1]:%d, %d, %d\n”, a, b, c);

        {

        int b=5;

        int c=12;

        printf(“[2]:%d,%d,%d\n”,a,b,c);

        }

        printf(“[3] %d,%d,%d,”,a,b,c);

        }

        在上例代碼中,兩個變量b、c被聲明兩次,而程序正確通過編譯,其中的原因就是因為在第二次聲明這兩個變量時用大括號括住了,在這對大括號內(nèi)形成了一個作用域,在大括號外邊的b、c在整個程序中都有效,而大括號里邊的b、c僅在大括號起始和終止的范圍內(nèi)有效。

        3.2 選擇結(jié)構(gòu)

        3.2.1 選擇結(jié)構(gòu)中if分支的要點分析

        C語言中的if分支有著非常重要的用途,如在程序設(shè)計中實現(xiàn)異常處理,這是程序設(shè)計中的一個很重要的內(nèi)容,在C語言中用if...else...來實現(xiàn)控制異常,利用選擇結(jié)構(gòu)可以控制一些非法的數(shù)據(jù)參與程序運行,保證程序正常執(zhí)行,引導(dǎo)用戶正常地使用程序。

        我們經(jīng)常看到這樣的代碼:

        main()

        {

        float num;

        char grade;

        scanf(“%d”,num);

        if(num>=90) grade='A';

        else if(num>=80num<89) grade='B';

        else if(num>=70num<79) grade='C';

        else if(num>=60num<69) grade='D';

        else grade='E';

        printf(“%c”,grade);

        }

        在上例中,不合理的數(shù)據(jù)如1234,-1234或ASCII表中字符在程序執(zhí)行過程中也會得到等級判斷的結(jié)果,顯然是不正常的運行結(jié)果,在編寫程序時需要處理一下,不允許這些不合理的數(shù)據(jù)進(jìn)入程序,就是在輸入數(shù)據(jù)后用if(num<=100num>=0)判斷輸入的數(shù)據(jù)是否合理,既是否在百分制的成績?nèi)≈捣秶?,如果在就可以獲得等級的判斷,否則給予其他的處理,如else printf(“輸入的數(shù)據(jù)錯誤!\n”)。

        3.2.2 選擇結(jié)構(gòu)中分支語句的要點分析

        分支語句也是程序設(shè)計中常用到的一種結(jié)構(gòu),這樣的結(jié)構(gòu)實現(xiàn)最為關(guān)鍵的是設(shè)計switch關(guān)鍵字后邊的常量表達(dá)式,如學(xué)生成績等級的判定,需要處理的數(shù)據(jù)與整數(shù)10進(jìn)行模運算后結(jié)果是一個0到10的整數(shù),個人所得稅計算的程序中,需要處理的數(shù)據(jù)與1000進(jìn)行除法運算并取整后結(jié)果也是一些規(guī)律整數(shù),等等。所以用switch結(jié)構(gòu)時,設(shè)計常量表達(dá)式時,目標(biāo)就是經(jīng)過某一運算找到一個等差數(shù)列(用字符型數(shù)據(jù)除外)。

        3.3 循環(huán)結(jié)構(gòu)

        無論是當(dāng)型循環(huán)還是直到型循環(huán),實現(xiàn)時都要通過兩個內(nèi)容,循環(huán)的條件和循環(huán)體。在真正編寫程序的時候,需要做以下四點設(shè)計:

        (1)初始化語句

        初始化語句在循環(huán)開始之前完成,用于完成一些初始化工作,往往指的是循環(huán)變量(可以決定循環(huán)執(zhí)行和結(jié)束的變量)的初始化。

        (2)循環(huán)條件

        這是一個邏輯表達(dá)式或關(guān)系表達(dá)式,由這個表達(dá)式來決定是否執(zhí)行循環(huán)體。

        (3)循環(huán)體

        這個部分是循環(huán)的主體,問題中被重復(fù)執(zhí)行的語句必須在循環(huán)體中出現(xiàn)。

        (4)改變循環(huán)條件語句

        在一次循環(huán)體執(zhí)行結(jié)束后和循環(huán)條件求值之前執(zhí)行,通常用于循環(huán)變量的改變,使得循環(huán)在合適的時候結(jié)束。

        這種實現(xiàn)重復(fù)性操作的辦法適合于所有的程序設(shè)計語言,把這些關(guān)鍵點實現(xiàn)后可以解決所有的循環(huán)問題,包括一些復(fù)雜的循環(huán)問題,如需要循環(huán)嵌套,數(shù)組的程序設(shè)計。這些C語言流程的算法思想也被完整的應(yīng)用在java邏輯中。

        C語言中實現(xiàn)或設(shè)計循環(huán)時所用的關(guān)鍵字while,do…while,for,及用于控制流程的break,continue無一遺漏的在java程序設(shè)計中出現(xiàn),不同之處只是個別情況,既在for結(jié)構(gòu)的實現(xiàn)上,靈活性增強(qiáng)了一些。

        C語言的基礎(chǔ)性地位是毋庸置疑的,以上內(nèi)容被全部應(yīng)用到了java程序設(shè)計中,另外在C++中也體現(xiàn)的非常的完整。對以上知識全面理解后,學(xué)習(xí)java程序設(shè)計及其他的面向?qū)ο髸r可以在幾小時,甚至更短的時間內(nèi)入門,提高了學(xué)習(xí)新知識的效率。解決了java學(xué)習(xí)初期的一些障礙。

        以上是有關(guān)C語言基本點的論述,不當(dāng)之處敬請批評指正。

        參考文獻(xiàn)

        [1]馮艷茹《C語言程序設(shè)計》[M].國防科技大學(xué),2010年3月第1版.

        [2]劉書倫《Java程序設(shè)計》[M].國防科技大學(xué),2012年1月第1版.

        作者簡介:孫承秀(1979.6-),女,本科,助理工程師,研究方向:計算機(jī)程序設(shè)計語言研究。

        福利片免费 亚洲| 明星性猛交ⅹxxx乱大交| 伊人久久综合影院首页| 久久国产精品超级碰碰热| 国产麻豆一区二区三区在| 全黄性性激高免费视频| 亚洲av无码乱观看明星换脸va| 久久久久国产精品片区无码| 蜜桃噜噜一区二区三区| 人妻精品久久久久中文字幕| 色噜噜狠狠色综合成人网| 欧美中出在线| 偷拍韩国美女洗澡一区二区三区| 亚洲国产精品久久电影欧美 | 亚洲精品第一页在线观看| 精品三级av无码一区| 亚洲一区二区在线| 国产自产在线视频一区| 无套内谢孕妇毛片免费看| 久久精品国产www456c0m| 无码人妻精品一区二区蜜桃网站| 欧美性猛交xxxx乱大交蜜桃| 久久91精品国产91久久麻豆 | 丝袜美腿福利一区二区| 三个男吃我奶头一边一个视频| 蜜臀av无码精品人妻色欲| 亚洲 暴爽 AV人人爽日日碰| 成人自拍偷拍视频在线观看| 韩国三级大全久久网站| 日本精品一区二区三区在线视频| 亚洲av国产大片在线观看| 日韩精品一区二区三区在线视频| 国产精品自在线拍国产手机版| 久精品国产欧美亚洲色aⅴ大片 | 亚洲精品www久久久| 久久中文字幕无码一区二区| 日本一区二区三区在线观看视频| 国产亚洲精品第一综合另类| 久草热8精品视频在线观看| 中文字幕人成乱码中文乱码| 天堂网av一区二区三区在线观看|