999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C語言基本點解析

2013-12-31 00:00:00孫承秀
創新科技 2013年8期

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

[關鍵詞] C語言;程序設計;java

[中圖分類號] TP311.11 [文獻標識碼] A

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

在Java語言程序設計中,隨處可見C語言的影子,所以在面向對象的程序設計語言日益流行的今天,入門階段由C語言程序設計來完成是再合適不過了,只有成功完成這一過渡,才能更好地把握Java程序設計語言的主要特點,最終能夠運用Java語言進行網絡與數據庫方面的系統設計,更好地完成項目設計,更好地站在軟件工程技術的前沿。

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

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

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

1 數據類型與數據的種類

數據類型在C語言中應該與數據的種類做個清晰的區分,因為它所涉及的內容實質不同。

1.1 基本數據類型

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

1.2 數據的種類

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

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

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

答:用變量名來表示

(2)變量名是什么?

答:變量名是一個用于表示內存單元的符號地址,是用戶所起的標識符,需要符合C語言中規定的標識符的命名規則。

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

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

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

答:用于存取指定的數據類型的數據。

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

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

2 運算符的運算優先級與結合性

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

2.1 優先級:C語言中,不同類型的運算符在運算優先級上有個明確的分級。 在表達式中,優先級較高的先于優先級較低的進行運算。而在一個運算量兩側的運算符優先級相同時,則按運算符的結合性所規定的結合方向處理。

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

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

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

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

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

在C語言里,有前置、后置之分,因為++--是右結合所以右側優先運算,表現為“操作數后置優先級比較高”的假象,前置和后置的由其運算規律進行區分更為合理,就前置運算的自增或自減,可認為它是所有混合運算中最先進行的,而后置運算的自增或自減則是所有混合運算中最后進行的。

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

3 流程控制語句

C語言是結構化程序設計語言,程序設計過程中結構化程序要求非常高,其流程控制可分為順序結構、選擇結構和循環結構,這些結構可以說是通過關鍵字的應用而實現。沒有表示流程控制的關鍵字,則實現了順序結構流程,應用了if、else、switch等實現了選擇結構流程,應用了while、do、for關鍵字,則實現了循環結構流程。在java中,對這些關鍵點也做了全面的復制。與流程控制相關的要點大致有如下幾點。

3.1 復合語句

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

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

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被聲明兩次,而程序正確通過編譯,其中的原因就是因為在第二次聲明這兩個變量時用大括號括住了,在這對大括號內形成了一個作用域,在大括號外邊的b、c在整個程序中都有效,而大括號里邊的b、c僅在大括號起始和終止的范圍內有效。

3.2 選擇結構

3.2.1 選擇結構中if分支的要點分析

C語言中的if分支有著非常重要的用途,如在程序設計中實現異常處理,這是程序設計中的一個很重要的內容,在C語言中用if...else...來實現控制異常,利用選擇結構可以控制一些非法的數據參與程序運行,保證程序正常執行,引導用戶正常地使用程序。

我們經常看到這樣的代碼:

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);

}

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

3.2.2 選擇結構中分支語句的要點分析

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

3.3 循環結構

無論是當型循環還是直到型循環,實現時都要通過兩個內容,循環的條件和循環體。在真正編寫程序的時候,需要做以下四點設計:

(1)初始化語句

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

(2)循環條件

這是一個邏輯表達式或關系表達式,由這個表達式來決定是否執行循環體。

(3)循環體

這個部分是循環的主體,問題中被重復執行的語句必須在循環體中出現。

(4)改變循環條件語句

在一次循環體執行結束后和循環條件求值之前執行,通常用于循環變量的改變,使得循環在合適的時候結束。

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

C語言中實現或設計循環時所用的關鍵字while,do…while,for,及用于控制流程的break,continue無一遺漏的在java程序設計中出現,不同之處只是個別情況,既在for結構的實現上,靈活性增強了一些。

C語言的基礎性地位是毋庸置疑的,以上內容被全部應用到了java程序設計中,另外在C++中也體現的非常的完整。對以上知識全面理解后,學習java程序設計及其他的面向對象時可以在幾小時,甚至更短的時間內入門,提高了學習新知識的效率。解決了java學習初期的一些障礙。

以上是有關C語言基本點的論述,不當之處敬請批評指正。

參考文獻

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

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

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

主站蜘蛛池模板: 亚洲中文无码av永久伊人| 国产成人AV综合久久| 亚洲一级毛片在线观播放| 久久一色本道亚洲| 国产成人精品日本亚洲77美色| 极品国产一区二区三区| 中国丰满人妻无码束缚啪啪| 黄片在线永久| 中文字幕调教一区二区视频| 亚洲色大成网站www国产| 福利在线不卡一区| 成人在线欧美| 色欲国产一区二区日韩欧美| 综合色亚洲| 91精品国产一区| 色婷婷成人| 日韩欧美中文字幕在线韩免费| 中文字幕在线看视频一区二区三区| 丁香五月亚洲综合在线| 乱人伦视频中文字幕在线| 久久精品aⅴ无码中文字幕| 免费在线a视频| 激情网址在线观看| 日本欧美在线观看| 高潮毛片无遮挡高清视频播放| 最新国语自产精品视频在| 国产日韩久久久久无码精品| 99久久婷婷国产综合精| 成人午夜天| 婷婷综合在线观看丁香| AV无码国产在线看岛国岛| 香蕉久久永久视频| 国产成人精品日本亚洲77美色| 91午夜福利在线观看| 国禁国产you女视频网站| 一本一道波多野结衣一区二区 | 成人韩免费网站| 欧美日韩导航| 色欲综合久久中文字幕网| 国产在线视频二区| 久久精品只有这里有| 日韩欧美中文字幕一本| 欧美日本在线观看| 青青草原国产精品啪啪视频| 欧美性猛交xxxx乱大交极品| 国产91精品调教在线播放| 不卡视频国产| 国产精品成人AⅤ在线一二三四 | 一级香蕉人体视频| 久久成人国产精品免费软件| 亚洲欧美自拍视频| 色视频久久| 亚洲精品免费网站| 亚洲一本大道在线| 五月天在线网站| 少妇精品在线| 成人综合久久综合| 中文字幕日韩久久综合影院| 色婷婷在线影院| 国产高颜值露脸在线观看| 大学生久久香蕉国产线观看| 97国产精品视频自在拍| 伊人天堂网| 国产精品分类视频分类一区| 国产高清在线观看| 噜噜噜久久| 91在线精品麻豆欧美在线| 香蕉久久国产精品免| 日韩欧美网址| 91精选国产大片| 国产成年女人特黄特色毛片免| 中文成人在线| 国产第一页第二页| 欧美色视频网站| 波多野结衣久久高清免费| 亚洲精品免费网站| 国内精品伊人久久久久7777人| 国产精品亚洲一区二区三区z| 中文字幕色站| 无码国内精品人妻少妇蜜桃视频| 喷潮白浆直流在线播放| 亚洲精品动漫|