c語(yǔ)言概要 第一章、概述 1、c語(yǔ)言的基本知識 1.1、c語(yǔ)言的執行步驟 編輯-程序代碼的錄入,生成源程序*.c 編譯-語(yǔ)法分析查錯,翻譯生成目標程序*.obj (語(yǔ)法或邏輯錯誤,從第一個(gè)開(kāi)始改,變量定義,語(yǔ)句格式,表達式格式等) 鏈接-與其他目標程序或庫鏈接裝配,生成可執行程序*.exe 執行 1.2、main函數的基本知識 main()函數的位置 c程序總是從main( )函數開(kāi)始執行 一個(gè)c程序可以包含一個(gè)主函數,即main()函數;也可以包含一個(gè)main()函數和若干其它函數 1.3、c程序的結構 函數與主函數 程序由一個(gè)或多個(gè)函數組成 必須有一個(gè)且只能有一個(gè)主函數main() 程序執行從main開(kāi)始,在main中結束,其他函數通過(guò)嵌套調用得以執行 程序語(yǔ)句 C程序由語(yǔ)句組成 用“;”作為語(yǔ)句終止符 注釋 // 或 /* */ 為注釋?zhuān)荒芮短?不產(chǎn)生編譯代碼 1.4、c 程序書(shū)寫(xiě)的規則 習慣用小寫(xiě)字母,大小寫(xiě)敏感 不使用行號,無(wú)程序行概念:通常一個(gè)語(yǔ)句占一行 可使用空行和空格 常用鋸齒形的書(shū)寫(xiě)格式;同一層次結構的語(yǔ)句上下對齊。
第二章、基本數據類(lèi)型與運算 2.1、c程序的數據類(lèi)型 注意類(lèi)型和變量含義的不同(類(lèi)型是固定好的名字,變量是自己起的名字) 變量占用的存儲空間 數據類(lèi)型 基本類(lèi)型:整型、字符型、浮點(diǎn)型(單精度型,雙精度型) 構造類(lèi)型:數組類(lèi)型、結構體類(lèi)型 指針類(lèi)型 空類(lèi)型 注意基本類(lèi)型賦初值的方式 基本數據類(lèi)型的表示形式 整形數據 十進(jìn)制:以非0數字開(kāi)頭,如:123,-9,0 八進(jìn)制;以0數字開(kāi)頭,如:0123,067 十六進(jìn)制:以0x開(kāi)頭,如:0x123,0xff 實(shí)型數據 十進(jìn)制:必須帶小數點(diǎn),如:123.0,-9.0 指數形式;如:1.23E3,0.9e-2,5e2 字符型數據 普通字符:如:'a','2','H','#' 轉義字符:如:'\n','\167','\xlf,'\\' (實(shí)現幾列的對齊:指定寬度。如%100\ '\t'制表位) (字符串長(cháng)度。
“abc\n\t\\” strlen 6; sizeof 7) 基本數據類(lèi)型的存儲長(cháng)度 整型 Int 字節數 2 位數 16 數的表示范圍 -32768—32767 Short 2 16 -32768—32767 Long 4 32 -2147483648—2147483647 實(shí)型 Float 4 32 3.4e-38---3.4e38 Double 8 64 1.7e-308---1.7e308 字符型 Char 1 8 -128----127 2.2、標識符命名規則 C語(yǔ)言標志符命名規則 標識符有數字,字母,下劃線(xiàn)組成 標識符的首字符必須為字母和下劃線(xiàn) 標識符不能為c語(yǔ)言的保留字(關(guān)鍵字) 如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed 算術(shù)運算符 + - * / % 關(guān)系運算符 > = <= != 邏輯運算符 ! && || 位運算符 <> ~ | ^ & 賦值運算符 = 及其擴展賦值運算符 條件運算符 ? : 逗號運算符 , 指針運算符 * & 求字節數運算符 sizeof 強制類(lèi)型轉換運算符 (類(lèi)型) 分量運算符 . -> 下標運算符 [ ] 其他 如函數調用運算符() 運算符的優(yōu)先級 由高到低:?jiǎn)文窟\算符,算數運算符,關(guān)系運算符,賦值運算符 說(shuō)明:?jiǎn)文窟\算符:自增運算符,自減運算符,類(lèi)型裝換運算符。結合方向:自右至左 如:++--I 先—i.。
算術(shù)運算 結合方向自左至右 2.3基本運算和表達式 關(guān)系表達式和邏輯表達式 (a>b)&&(x>y) (a==b)||(x==y) !=a||(a>b) A&&b.a為0.不執行b A||b a為1.不執行b 在 c 中邏輯運算結果:1代表“真”,0代表“假”; 判斷一個(gè)表達式是否真:0代表“假”,非0代表“真” 條件表達式 逗號表達式 如:k=5,k++ 逗號值為5;k為6. 表達式1?表達式2 :表達式3 K=5>6 ? 1 : 0 2.4、混合運算的數據類(lèi)型轉換 2/3+0.5 雙精度浮點(diǎn)型 第三章、順序結構程序設計 3.1、c語(yǔ)句的分類(lèi) 簡(jiǎn)單語(yǔ)句 表達式語(yǔ)句 表達式+分號 空語(yǔ)句 只有分號的語(yǔ)句 復合語(yǔ)句 用花括號將若干語(yǔ)句括起來(lái) 流程控制語(yǔ)句 選擇語(yǔ)句 if ,switch 循環(huán)語(yǔ)句 while, do while , for 轉移語(yǔ)句 break ,continue ,return goto 3.2、格式輸入函數scanf 一般形式:scanf(“格式控制字符串“,地址列表); 使用scanf函數時(shí),需要注意: 格式字符的個(gè)數必須與輸入項的個(gè)數相同,數據類(lèi)型必須一一對應,非格式字符串(說(shuō)明性的)要原封不動(dòng)的輸入。 輸入實(shí)行數據時(shí),可以不帶小數點(diǎn),即按整型數據輸入 數值型數據與字符或字符串混合輸入時(shí),需要注意輸入方式。
3.3、格式輸出函數printf Printf(“格式控制字符串“,輸出列表); 指定輸出格式,由格式字符串和非格式字符串兩種組成,非格式字符串照原樣輸出。 %[標志][輸出最小寬度][.精度][長(cháng)度]類(lèi)型 標志:- 左對齊;+ 右對齊; %f, %d, %c, %s 3.4、其他輸入輸出函數 Putchar getchar puts gets 第四章、選擇結構程序設計 If選擇結構 單分支 If(表達式) 語(yǔ)句 雙分支 If(表達式) 語(yǔ)句1 Else 語(yǔ)句2 多分支 If (表達式1) 語(yǔ)句1 Else if(表達式2) 語(yǔ)句2 。
Else if(表達式m) 語(yǔ)句m Else 語(yǔ)句n Switch(表達式) { Case 常量表達式1:語(yǔ)句1;break; Case 常量表達式2:語(yǔ)句2;break; 。
Case 常量表達式m:語(yǔ)句m;break; Default:語(yǔ)句n;break; } 注意break的使用 第五章、循環(huán)結構程序設計 循環(huán)三要素 初始條件 ;終止條件 ;在初始條件和終止條件間反復做某件事情(循環(huán)體) While(表達式) 語(yǔ)句 Do 語(yǔ)句 While(表達式)。
去百度文庫,查看完整內容>內容來(lái)自用戶(hù):暗香飛度C語(yǔ)言考試必備基礎知識點(diǎn)整理【考點(diǎn)1】C程序 C語(yǔ)言程序結構有三種:順序結構,循環(huán)結構(三個(gè)循環(huán)結構),選擇結構(if和switch) 【考點(diǎn)2】main函數 每個(gè)C語(yǔ)言程序中main函數是有且只有一個(gè)。
讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。 【考點(diǎn)3】存儲形式 計算機的數據在電腦中是以二進(jìn)制的形式保存。
最低的存儲單元是bit(位),位是由為0或者1構成。byte是指字節,一個(gè)字節=八個(gè)位。
數據存放的位置就是它的地址。 【考點(diǎn)4】注釋 是對程序的說(shuō)明,可出現在程序中任意合適的地方,注釋從“/*”開(kāi)始到最近一個(gè)“*/”結束,其間任何內容都不會(huì )被計算機執行,注釋不可以嵌套。
【考點(diǎn)5】書(shū)寫(xiě)格式 每條語(yǔ)句的后面必須有一個(gè)分號,分號是語(yǔ)句的一部分。一行內可寫(xiě)多條語(yǔ)句,一個(gè)語(yǔ)句可寫(xiě)在多行上。
【考點(diǎn)6】標識符 合法的用戶(hù)標識符考查: 合法的要求是由字母,數字,下劃線(xiàn)組成。有其它元素就錯了。
并且第一個(gè)必須為字母或則是下劃線(xiàn)。第一個(gè)為數字就錯了。
C語(yǔ)言標識符分如下3類(lèi) (1)關(guān)鍵字。它們在程序中有固定的含義,不能另作他用。
如int、for、switch等。 (2)預定義標識符。
預先定義并具有特定含義的標識符。如 【考點(diǎn) 注意。
如何學(xué)好c語(yǔ)言 教了多年《C程序設計》課程,大多學(xué)生覺(jué)的這門(mén)課程難學(xué)。
其實(shí),按照我們現在的教學(xué)大綱和教學(xué)要求,只要同學(xué)們掌握一些方法,克服心理上畏難、不輕言放棄,是完全可以學(xué)好的。 《C程序設計》的內容很豐富,按照我們現在的教學(xué)大綱,教學(xué)的主要內容是基礎知識、四種結構的的程序設計、函數與數組的應用和一些簡(jiǎn)單的算法。
在學(xué)習時(shí),同學(xué)們應該把主要精力放在這些部分,通過(guò)實(shí)踐(練習和上機調試等熟練掌握。當然,在初學(xué)C語(yǔ)言時(shí),可能會(huì )遇到有些問(wèn)題理解不透,或者表達方式與以往數學(xué)學(xué)習中不同(如運算符等),這就要求不氣餒,不明白的地方多問(wèn)多想,鼓足勇氣進(jìn)行學(xué)習,待學(xué)完后面的章節知識,前面的問(wèn)題也就迎刃而解了,這一方面我感覺(jué)是我們同學(xué)最欠缺,大多學(xué)不好的就是因為一開(kāi)始遇到困難就放棄,曾經(jīng)和好多同學(xué)談他的問(wèn)題,回答是聽(tīng)不懂、不想聽(tīng)、放棄這樣三個(gè)過(guò)程,我反問(wèn),這節課你聽(tīng)過(guò)課嗎?回答又是沒(méi)有,根本就沒(méi)聽(tīng)過(guò)課,怎么說(shuō)自己聽(tīng)不懂呢?相應的根本就沒(méi)學(xué)習,又談何學(xué)的好? 學(xué)習C語(yǔ)言始終要記住“曙光在前頭”和“千金難買(mǎi)回頭看”,“千金難買(mǎi)回頭看”是學(xué)習知識的重要方法,就是說(shuō),學(xué)習后面的知識,不要忘了回頭弄清遺留下的問(wèn)題和加深理解前面的知識,這是我們學(xué)生最不易做到的,然而卻又是最重要的。
比如:在C語(yǔ)言中最典型的是關(guān)于結構化程序設計構思,不管是那種教材,一開(kāi)始就強調這種方法,這時(shí)也許你不能充分體會(huì ),但是學(xué)到函數時(shí),再回頭來(lái)仔細體會(huì ),溫故知新,理解它就沒(méi)有那么難了。學(xué)習C語(yǔ)言就是要經(jīng)過(guò)幾個(gè)反復,才能前后貫穿,積累應該掌握的C知識。
那么,我們如何學(xué)好《C程序設計》呢? 一.學(xué)好C語(yǔ)言的運算符和運算順序 這是學(xué)好《C程序設計》的基礎,C語(yǔ)言的運算非常靈活,功能十分豐富,運算種類(lèi)遠多于其它程序設計語(yǔ)言。在表達式方面較其它程序語(yǔ)言更為簡(jiǎn)潔,如自加、自減、逗號運算和三目運算使表達式更為簡(jiǎn)單,但初學(xué)者往往會(huì )覺(jué)的這種表達式難讀,關(guān)鍵原因就是對運算符和運算順序理解不透不全。
當多種不同運算組成一個(gè)運算表達式,即一個(gè)運算式中出現多種運算符時(shí),運算的優(yōu)先順序和結合規則顯得十分重要。在學(xué)習中,只要我們對此合理進(jìn)行分類(lèi),找出它們與我們在數學(xué)中所學(xué)到運算之間的不同點(diǎn)之后,記住這些運算也就不困難了,有些運算符在理解后更會(huì )牢記心中,將來(lái)用起來(lái)得心應手,而有些可暫時(shí)放棄不記,等用到時(shí)再記不遲。
先要明確運算符按優(yōu)先級不同分類(lèi),《C程序設計》運算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1 ~ 15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序。下面我們通過(guò)幾個(gè)例子來(lái)說(shuō)明: (1) 5*8/4%10 這個(gè)表達式中出現3種運算符,是同級運算符,運算順序按從左至右結合,因此先計算5 *8=40,然后被4除,結果為10,最后是%(求余數)運算,所以表達式的最終結果為10%10 = 0; (2)a = 3;b = 5;c =++ a* b ;d =a + +* b; 對于c=++a*b來(lái)說(shuō),按表中所列順序,+ +先執行,*后執行,所以+ + a執行后,a的值為4,由于+ +為前置運算,所以a的值4參與運算,C的值計算式為4*5=20而不是3*5=15了;而對于d=a++*b來(lái)說(shuō),由于a + +為后置運算,所以a值為4參與運算,使得d的值仍為20,而a參與運算后其值加1,值為5。
這個(gè)例子執行后,a的值為5,b的值為5,c的值為20,d的值也是20; (3)(a = 3,b = 5,b+ = a,c = b* 5) 例子中的“,”是逗號結合運算,上式稱(chēng)為逗號表達式,自左向右結合,最后一個(gè)表達式的結果值就是逗號表達式的結果,所以上面的逗號表達式結果為40,a的值為3,b的值為8,c的值為40。 (4)a=5;b=6;c=a>b?a:b; 例中的a>b?a:b是一個(gè)三目運算,它的功能是先做關(guān)系運算a>b部分,若結果為真,則取問(wèn)號后a的值,否則取冒號后b的值,因此c的值應該為6,這個(gè)運算可以用來(lái)代替if…else…語(yǔ)句的簡(jiǎn)單應用。
二.學(xué)好C語(yǔ)言的四種程序結構 (1)順序結構 順序結構的程序設計是最簡(jiǎn)單的,只要按照解決問(wèn)題的順序寫(xiě)出相應的語(yǔ)句就行,它的執行順序是自上而下,依次執行。 例如;a = 3,b = 5,現交換a,b的值,這個(gè)問(wèn)題就好象交換兩個(gè)杯子水,這當然要用到第三個(gè)杯子,假如第三個(gè)杯子是c,那么正確的程序為: c = a; a = b; b = c; 執行結果是a = 5,b = c = 3如果改變其順序,寫(xiě)成:a = b; c = a; b = c; 則執行結果就變成a = b = c = 5,不能達到預期的目的,初學(xué)者最容易犯這種錯誤。
順序結構可以獨立使用構成一個(gè)簡(jiǎn)單的完整程序,常見(jiàn)的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語(yǔ)句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過(guò)大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個(gè)復雜的程序,例如分支結構中的復合語(yǔ)句、循環(huán)結構中的循環(huán)體等。
(2) 分支結構 順序結構的程序雖然能解決計算、輸出等問(wèn)題,但不能做判斷再選擇。對于要先做判斷再選擇的問(wèn)題就要使用分支結構。
分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語(yǔ)句出現的物理順序。分支結構。
我是在今學(xué)期才開(kāi)始看C和C ,現在C學(xué)的基礎還好,C 算是大概體系了解,不過(guò)對你這個(gè)問(wèn)題還是挺有感觸,就以一個(gè)初學(xué)者態(tài)度跟你講講我的感受吧!希望讓有興趣發(fā)展編程的你能快速進(jìn)入這個(gè)領(lǐng)域。
首先,我不茍同上面哪位仁兄的說(shuō)法,其實(shí),C和C 都可以說(shuō)是面向過(guò)程的語(yǔ)言,但C 更提供了面向對象的方法,需要說(shuō)明一點(diǎn),C 是倡導面向對象編程方法的,應為這是適用現代技術(shù)發(fā)展的要求,簡(jiǎn)單理解,面向對象的編程方法就是預先設置好一些常用的,實(shí)用的類(lèi)庫,當編程時(shí)要用到時(shí),引用就可以了(通過(guò)對類(lèi)進(jìn)行實(shí)例化),就好像是預先生產(chǎn)出一部洗衣機,要洗衣服時(shí)候直接把衣服放進(jìn)去,打開(kāi)洗衣機的啟動(dòng)按鈕就可以了,在面向對象編程中,假如我們已經(jīng)有了要引用的類(lèi)庫(這些類(lèi)也可以自己編),我們只要做“啟動(dòng)洗衣機按鈕”這個(gè)動(dòng)作就可以了,這就是面向對象編程。面向過(guò)程的編程,簡(jiǎn)單理解,就是除了一些基本的類(lèi)似輸入輸出,數學(xué)函數之外,基本都是要全部一條龍的自己設計。
C和C 都是MS公司出的,它還有的C#就是完全面向對象的高級語(yǔ)言,功能非常強大,與。net平臺一起構成了MS的戰略。
不好意思,還是說(shuō)回你感興趣的東西吧!其實(shí)學(xué)C和c 不用太多的數學(xué)知識,它要求你無(wú)非兩樣東西:1.邏輯性2.興趣,循環(huán)控制如“for,while語(yǔ)句”,指針,函數調用是學(xué)習C和C 的核心和重點(diǎn),也是精華所在,尤其是C語(yǔ)言。個(gè)人建議:假如你不是要做一個(gè)C程員的話(huà),在c學(xué)到一定基礎很程度時(shí)候可以轉向JAVA或C#等面向對象高級語(yǔ)言,他們聯(lián)系ASP,ASPX和JSP等web系統開(kāi)發(fā),快速開(kāi)發(fā)軟件和web系統方面實(shí)用性非常強。
也建議可以先從C學(xué)起,清華大學(xué)出版社的譚浩強的《C程序設計》是一本非常好的適合沒(méi)編程基礎,介紹也很徹底詳細的名書(shū)(我就是靠那本書(shū)的,呵呵),學(xué)習C時(shí),不要冒進(jìn),認認真真打好基礎,對你以后發(fā)展其他語(yǔ)言甚至領(lǐng)域有非常大的幫助。
1,C語(yǔ)言的運算符和優(yōu)先級
2,分支結構程序設計
3,循環(huán)結構程序
4,數組
5,函數
6,指針
7,字符類(lèi)型和字符串
8,字符串與指針
9,指針數組、二級指針、指向一維數組的指針、指向函數的指針
10,返回指針的函數、數組名做函數參數
11,結構體、共用體、枚舉、自定義類(lèi)型、變量存儲類(lèi)別、工程文件
12,文件、宏、主函數帶形參
13,鏈表、位運算、考試環(huán)境
14,排序、強制類(lèi)型轉換
教了多年《C程序設計》課程,大多學(xué)生覺(jué)的這門(mén)課程難學(xué)。
其實(shí),按照我們現在的教學(xué)大綱和教學(xué)要求,只要同學(xué)們掌握一些方法,克服心理上畏難、不輕言放棄,是完全可以學(xué)好的。 《C程序設計》的內容很豐富,按照我們現在的教學(xué)大綱,教學(xué)的主要內容是基礎知識、四種結構的的程序設計、函數與數組的應用和一些簡(jiǎn)單的算法。
在學(xué)習時(shí),同學(xué)們應該把主要精力放在這些部分,通過(guò)實(shí)踐(練習和上機調試等熟練掌握。當然,在初學(xué)C語(yǔ)言時(shí),可能會(huì )遇到有些問(wèn)題理解不透,或者表達方式與以往數學(xué)學(xué)習中不同(如運算符等),這就要求不氣餒,不明白的地方多問(wèn)多想,鼓足勇氣進(jìn)行學(xué)習,待學(xué)完后面的章節知識,前面的問(wèn)題也就迎刃而解了,這一方面我感覺(jué)是我們同學(xué)最欠缺,大多學(xué)不好的就是因為一開(kāi)始遇到困難就放棄,曾經(jīng)和好多同學(xué)談他的問(wèn)題,回答是聽(tīng)不懂、不想聽(tīng)、放棄這樣三個(gè)過(guò)程,我反問(wèn),這節課你聽(tīng)過(guò)課嗎?回答又是沒(méi)有,根本就沒(méi)聽(tīng)過(guò)課,怎么說(shuō)自己聽(tīng)不懂呢?相應的根本就沒(méi)學(xué)習,又談何學(xué)的好? 學(xué)習C語(yǔ)言始終要記住“曙光在前頭”和“千金難買(mǎi)回頭看”,“千金難買(mǎi)回頭看”是學(xué)習知識的重要方法,就是說(shuō),學(xué)習后面的知識,不要忘了回頭弄清遺留下的問(wèn)題和加深理解前面的知識,這是我們學(xué)生最不易做到的,然而卻又是最重要的。
比如:在C語(yǔ)言中最典型的是關(guān)于結構化程序設計構思,不管是那種教材,一開(kāi)始就強調這種方法,這時(shí)也許你不能充分體會(huì ),但是學(xué)到函數時(shí),再回頭來(lái)仔細體會(huì ),溫故知新,理解它就沒(méi)有那么難了。學(xué)習C語(yǔ)言就是要經(jīng)過(guò)幾個(gè)反復,才能前后貫穿,積累應該掌握的C知識。
那么,我們如何學(xué)好《C程序設計》呢? 一.學(xué)好C語(yǔ)言的運算符和運算順序 這是學(xué)好《C程序設計》的基礎,C語(yǔ)言的運算非常靈活,功能十分豐富,運算種類(lèi)遠多于其它程序設計語(yǔ)言。在表達式方面較其它程序語(yǔ)言更為簡(jiǎn)潔,如自加、自減、逗號運算和三目運算使表達式更為簡(jiǎn)單,但初學(xué)者往往會(huì )覺(jué)的這種表達式難讀,關(guān)鍵原因就是對運算符和運算順序理解不透不全。
當多種不同運算組成一個(gè)運算表達式,即一個(gè)運算式中出現多種運算符時(shí),運算的優(yōu)先順序和結合規則顯得十分重要。在學(xué)習中,只要我們對此合理進(jìn)行分類(lèi),找出它們與我們在數學(xué)中所學(xué)到運算之間的不同點(diǎn)之后,記住這些運算也就不困難了,有些運算符在理解后更會(huì )牢記心中,將來(lái)用起來(lái)得心應手,而有些可暫時(shí)放棄不記,等用到時(shí)再記不遲。
先要明確運算符按優(yōu)先級不同分類(lèi),《C程序設計》運算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1 ~ 15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序。下面我們通過(guò)幾個(gè)例子來(lái)說(shuō)明: (1) 5*8/4%10 這個(gè)表達式中出現3種運算符,是同級運算符,運算順序按從左至右結合,因此先計算5 *8=40,然后被4除,結果為10,最后是%(求余數)運算,所以表達式的最終結果為10%10 = 0; (2)a = 3;b = 5;c =++ a* b ;d =a + +* b; 對于c=++a*b來(lái)說(shuō),按表中所列順序,+ +先執行,*后執行,所以+ + a執行后,a的值為4,由于+ +為前置運算,所以a的值4參與運算,C的值計算式為4*5=20而不是3*5=15了;而對于d=a++*b來(lái)說(shuō),由于a + +為后置運算,所以a值為4參與運算,使得d的值仍為20,而a參與運算后其值加1,值為5。
這個(gè)例子執行后,a的值為5,b的值為5,c的值為20,d的值也是20; (3)(a = 3,b = 5,b+ = a,c = b* 5) 例子中的“,”是逗號結合運算,上式稱(chēng)為逗號表達式,自左向右結合,最后一個(gè)表達式的結果值就是逗號表達式的結果,所以上面的逗號表達式結果為40,a的值為3,b的值為8,c的值為40。 (4)a=5;b=6;c=a>b?a:b; 例中的a>b?a:b是一個(gè)三目運算,它的功能是先做關(guān)系運算a>b部分,若結果為真,則取問(wèn)號后a的值,否則取冒號后b的值,因此c的值應該為6,這個(gè)運算可以用來(lái)代替if…else…語(yǔ)句的簡(jiǎn)單應用。
二.學(xué)好C語(yǔ)言的四種程序結構 (1)順序結構 順序結構的程序設計是最簡(jiǎn)單的,只要按照解決問(wèn)題的順序寫(xiě)出相應的語(yǔ)句就行,它的執行順序是自上而下,依次執行。 例如;a = 3,b = 5,現交換a,b的值,這個(gè)問(wèn)題就好象交換兩個(gè)杯子水,這當然要用到第三個(gè)杯子,假如第三個(gè)杯子是c,那么正確的程序為: c = a; a = b; b = c; 執行結果是a = 5,b = c = 3如果改變其順序,寫(xiě)成:a = b; c = a; b = c; 則執行結果就變成a = b = c = 5,不能達到預期的目的,初學(xué)者最容易犯這種錯誤。
順序結構可以獨立使用構成一個(gè)簡(jiǎn)單的完整程序,常見(jiàn)的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語(yǔ)句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過(guò)大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個(gè)復雜的程序,例如分支結構中的復合語(yǔ)句、循環(huán)結構中的循環(huán)體等。
(2) 分支結構 順序結構的程序雖然能解決計算、輸出等問(wèn)題,但不能做判斷再選擇。對于要先做判斷再選擇的問(wèn)題就要使用分支結構。
分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語(yǔ)句出現的物理順序。分支結構的程。
定義 C語(yǔ)言是一種計算機程序設計語(yǔ)言。
它既有高級語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為系統設計語(yǔ)言,編寫(xiě)工作系統應用程序,也可以作為應用程序設計語(yǔ)言,編寫(xiě)不依賴(lài)計算機硬件的應用程序。
因此,它的應用范圍廣泛。主要有以下特點(diǎn): C語(yǔ)言在很多方面都可以用,不僅僅是在軟件開(kāi)發(fā)上,各類(lèi)科研都是需要用到C語(yǔ)言的。
具體應用比如我是學(xué)硬件的,單片機以及嵌入式系統都可以用C來(lái)開(kāi)發(fā)。 C 語(yǔ)言發(fā)展如此迅速, 而且成為最受歡迎的語(yǔ)言之一, 主要因為它具有強大的功能。
許多著(zhù)名的系統軟件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語(yǔ)言編寫(xiě)的。用C 語(yǔ)言加上一些匯編語(yǔ)言子程序, 就更能顯示C 語(yǔ)言的優(yōu)勢了, 象PC- DOS 、WORDSTAR等就是用這種方法編寫(xiě)的。
歸納起來(lái)C 語(yǔ)言具有下列特點(diǎn):1. C是中級語(yǔ)言它把高級語(yǔ)言的基本結構和語(yǔ)句與低級語(yǔ)言的實(shí)用性結合起來(lái)。C 語(yǔ)言可以象匯編語(yǔ)言一樣對位、字節和地址進(jìn)行操作, 而這三者是計算機最基本的工作單元。
2. C是結構式語(yǔ)言結構式語(yǔ)言的顯著(zhù)特點(diǎn)是代碼及數據的分隔化, 即程序的各個(gè)部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰, 便于使用、維護以及調試。
C 語(yǔ)言是以函數形式提供給用戶(hù)的, 這些函數可方便的調用, 并具有多種循環(huán)、條件語(yǔ)句控制程序流向, 從而使程序完全結構化。 3. C語(yǔ)言功能齊全C 語(yǔ)言具有各種各樣的數據類(lèi)型, 并引入了指針概念, 可使程序效率更高。
另外C 語(yǔ)言也具有強大的圖形功能, 支持多種顯示器和驅動(dòng)器。而且計算功能、邏輯判斷功能也比較強大, 可以實(shí)現決策目的編游戲,編3D游戲,做數據庫,做聯(lián)眾世界,做聊天室,做PHOTOSHOP做FLASH,做3DMAX。
4. C語(yǔ)言適用范圍大C 語(yǔ)言還有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統, 如DOS、UNIX,也適用于多種機型。 C語(yǔ)言對操作系統和系統使用程序以及需要對硬件進(jìn)行操作的場(chǎng)合,用C語(yǔ)言明顯優(yōu)于其它解釋型高級語(yǔ)言,有一些大型應用軟件也是用C語(yǔ)言編寫(xiě)的。
C語(yǔ)言具有繪圖能力強,可移植性,并具備很強的數據處理能力,因此適于編寫(xiě)系統軟件,三維,二維圖形和動(dòng)畫(huà)。它是數值計算的高級語(yǔ)言。
常用的C語(yǔ)言IDE(集成開(kāi)發(fā)環(huán)境)有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,Turbo C,Dev-C++,C-Free, win-tc 等等。
C語(yǔ)言的發(fā)展歷史 C語(yǔ)言的原型ALGOL 60語(yǔ)言。(也稱(chēng)為A語(yǔ)言) 1963年,劍橋大學(xué)將ALGOL 60語(yǔ)言發(fā)展成為CPL語(yǔ)言。
1967年,劍橋大學(xué)的Matin Richards 對CPL語(yǔ)言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語(yǔ)言。 1970年,美國貝爾實(shí)驗室的Ken Thompson將BCPL進(jìn)行了修改,并為它起了一個(gè)有趣的名字“B語(yǔ)言”。
意思是將CPL語(yǔ)言煮干,提煉出它的精華。并且他用B語(yǔ)言寫(xiě)了第一個(gè)UNIX操作系統。
而在1973年,B語(yǔ)言也給人“煮”了一下,美國貝爾實(shí)驗室的D.M.RITCHIE在B語(yǔ)言的基礎上最終設計出了一種新的語(yǔ)言,他取了BCPL的第二個(gè)字母作為這種語(yǔ)言的名字,這就是C語(yǔ)言。 為了使UNIX操作系統推廣,1977年Dennis M.Ritchie 發(fā)表了不依賴(lài)于具體機器系統的C語(yǔ)言編譯文本《可移植的C語(yǔ)言編譯程序》。
即是著(zhù)名的ANSI C。 1978年由美國電話(huà)電報公司(AT&T)貝爾實(shí)驗室正式發(fā)表了C語(yǔ)言。
同時(shí)由B.W.Kernighan和D.M.Ritchit合著(zhù)了著(zhù)名的“THE C PROGRAMMING LANGUAGE”一書(shū)。通常簡(jiǎn)稱(chēng)為《K&R》,也有人稱(chēng)之為《K&R》標準。
但是,在《K&R》中并沒(méi)有定義一個(gè)完整的標準C 語(yǔ)言,后來(lái)由美國國家標準協(xié)會(huì )在此基礎上制定了一個(gè)C 語(yǔ)言標準,于一九八三年發(fā)表。通常稱(chēng)之為ANSI C。
1987年,隨著(zhù)微型計算機的日益普及,出現了許多C語(yǔ)言版本。由于沒(méi)有統一的標準,使得這些C語(yǔ)言之間出現了一些不一致的地方。
為了改變這種情況,美國國家標準研究所(ANSI)為C語(yǔ)言制定了一套ANSI標準, 成為現行的C語(yǔ)言標準 3.C語(yǔ)言的主要特點(diǎn) 。C語(yǔ)言發(fā)展迅速, 而且成為最受歡迎的語(yǔ)言之一,主要因為它具有強大的功能。
許多著(zhù)名的系統軟件都是由C語(yǔ)言編寫(xiě)的。用C語(yǔ)言加上一些匯編語(yǔ)言子程序, 就更能顯示C語(yǔ)言的優(yōu)勢了,象PC- DOS 、WORDSTAR等就是用這種方法編寫(xiě)的。
1990年,國際化標準組織ISO接受了87 ANSI C為ISO C的標準1994年,ISO修訂了C語(yǔ)言的標準。目前流行的C語(yǔ)言編譯系統大多是以ANSI C為基礎進(jìn)行開(kāi)發(fā)的,但不同版本的C編譯系統說(shuō)實(shí)現的語(yǔ)言功能和語(yǔ)法規則有略有差別。
C語(yǔ)言的優(yōu)點(diǎn) 1. 簡(jiǎn)潔緊湊、靈活方便 C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書(shū)寫(xiě)自由,主要用小寫(xiě)字母表示。它把高級語(yǔ)言的基本結構和語(yǔ)句與低級語(yǔ)言的實(shí)用性結合起來(lái)。
C 語(yǔ)言可以象匯編語(yǔ)言一樣對位、字節和地址進(jìn)行操作, 而這三者是計算機最基本的工作單元。 2. 運算符豐富 C的運算符包含的范圍很廣泛,共有34個(gè)運算符。
C語(yǔ)言把括號、賦值、強制類(lèi)型轉換等都作為運算符處理。從而使C的運算類(lèi)型極其豐富表達式類(lèi)型多樣化。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:2.974秒