c語(yǔ)言概要 第一章、概述 1、c語(yǔ)言的基本知識(shí) 1.1、c語(yǔ)言的執(zhí)行步驟 編輯-程序代碼的錄入,生成源程序*.c 編譯-語(yǔ)法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj (語(yǔ)法或邏輯錯(cuò)誤,從第一個(gè)開(kāi)始改,變量定義,語(yǔ)句格式,表達(dá)式格式等) 鏈接-與其他目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exe 執(zhí)行 1.2、main函數(shù)的基本知識(shí) main()函數(shù)的位置 c程序總是從main( )函數(shù)開(kāi)始執(zhí)行 一個(gè)c程序可以包含一個(gè)主函數(shù),即main()函數(shù);也可以包含一個(gè)main()函數(shù)和若干其它函數(shù) 1.3、c程序的結(jié)構(gòu) 函數(shù)與主函數(shù) 程序由一個(gè)或多個(gè)函數(shù)組成 必須有一個(gè)且只能有一個(gè)主函數(shù)main() 程序執(zhí)行從main開(kāi)始,在main中結(jié)束,其他函數(shù)通過(guò)嵌套調(diào)用得以執(zhí)行 程序語(yǔ)句 C程序由語(yǔ)句組成 用“;”作為語(yǔ)句終止符 注釋 // 或 /* */ 為注釋,不能嵌套 不產(chǎn)生編譯代碼 1.4、c 程序書(shū)寫(xiě)的規(guī)則 習(xí)慣用小寫(xiě)字母,大小寫(xiě)敏感 不使用行號(hào),無(wú)程序行概念:通常一個(gè)語(yǔ)句占一行 可使用空行和空格 常用鋸齒形的書(shū)寫(xiě)格式;同一層次結(jié)構(gòu)的語(yǔ)句上下對(duì)齊。
第二章、基本數(shù)據(jù)類型與運(yùn)算 2.1、c程序的數(shù)據(jù)類型 注意類型和變量含義的不同(類型是固定好的名字,變量是自己起的名字) 變量占用的存儲(chǔ)空間 數(shù)據(jù)類型 基本類型:整型、字符型、浮點(diǎn)型(單精度型,雙精度型) 構(gòu)造類型:數(shù)組類型、結(jié)構(gòu)體類型 指針類型 空類型 注意基本類型賦初值的方式 基本數(shù)據(jù)類型的表示形式 整形數(shù)據(jù) 十進(jìn)制:以非0數(shù)字開(kāi)頭,如:123,-9,0 八進(jìn)制;以0數(shù)字開(kāi)頭,如:0123,067 十六進(jìn)制:以0x開(kāi)頭,如:0x123,0xff 實(shí)型數(shù)據(jù) 十進(jìn)制:必須帶小數(shù)點(diǎn),如:123.0,-9.0 指數(shù)形式;如:1.23E3,0.9e-2,5e2 字符型數(shù)據(jù) 普通字符:如:'a','2','H','#' 轉(zhuǎn)義字符:如:'\n','\167','\xlf,'\\' (實(shí)現(xiàn)幾列的對(duì)齊:指定寬度。如%100\ '\t'制表位) (字符串長(zhǎng)度。
“abc\n\t\\” strlen 6; sizeof 7) 基本數(shù)據(jù)類型的存儲(chǔ)長(zhǎng)度 整型 Int 字節(jié)數(shù) 2 位數(shù) 16 數(shù)的表示范圍 -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、標(biāo)識(shí)符命名規(guī)則 C語(yǔ)言標(biāo)志符命名規(guī)則 標(biāo)識(shí)符有數(shù)字,字母,下劃線組成 標(biāo)識(shí)符的首字符必須為字母和下劃線 標(biāo)識(shí)符不能為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ù)運(yùn)算符 + - * / % 關(guān)系運(yùn)算符 > = <= != 邏輯運(yùn)算符 ! && || 位運(yùn)算符 <> ~ | ^ & 賦值運(yùn)算符 = 及其擴(kuò)展賦值運(yùn)算符 條件運(yùn)算符 ? : 逗號(hào)運(yùn)算符 , 指針運(yùn)算符 * & 求字節(jié)數(shù)運(yùn)算符 sizeof 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 (類型) 分量運(yùn)算符 . -> 下標(biāo)運(yùn)算符 [ ] 其他 如函數(shù)調(diào)用運(yùn)算符() 運(yùn)算符的優(yōu)先級(jí) 由高到低:?jiǎn)文窟\(yùn)算符,算數(shù)運(yùn)算符,關(guān)系運(yùn)算符,賦值運(yùn)算符 說(shuō)明:?jiǎn)文窟\(yùn)算符:自增運(yùn)算符,自減運(yùn)算符,類型裝換運(yùn)算符。結(jié)合方向:自右至左 如:++--I 先—i.。
算術(shù)運(yùn)算 結(jié)合方向自左至右 2.3基本運(yùn)算和表達(dá)式 關(guān)系表達(dá)式和邏輯表達(dá)式 (a>b)&&(x>y) (a==b)||(x==y) !=a||(a>b) A&&b.a為0.不執(zhí)行b A||b a為1.不執(zhí)行b 在 c 中邏輯運(yùn)算結(jié)果:1代表“真”,0代表“假”; 判斷一個(gè)表達(dá)式是否真:0代表“假”,非0代表“真” 條件表達(dá)式 逗號(hào)表達(dá)式 如:k=5,k++ 逗號(hào)值為5;k為6. 表達(dá)式1?表達(dá)式2 :表達(dá)式3 K=5>6 ? 1 : 0 2.4、混合運(yùn)算的數(shù)據(jù)類型轉(zhuǎn)換 2/3+0.5 雙精度浮點(diǎn)型 第三章、順序結(jié)構(gòu)程序設(shè)計(jì) 3.1、c語(yǔ)句的分類 簡(jiǎn)單語(yǔ)句 表達(dá)式語(yǔ)句 表達(dá)式+分號(hào) 空語(yǔ)句 只有分號(hào)的語(yǔ)句 復(fù)合語(yǔ)句 用花括號(hào)將若干語(yǔ)句括起來(lái) 流程控制語(yǔ)句 選擇語(yǔ)句 if ,switch 循環(huán)語(yǔ)句 while, do while , for 轉(zhuǎn)移語(yǔ)句 break ,continue ,return goto 3.2、格式輸入函數(shù)scanf 一般形式:scanf(“格式控制字符串“,地址列表); 使用scanf函數(shù)時(shí),需要注意: 格式字符的個(gè)數(shù)必須與輸入項(xiàng)的個(gè)數(shù)相同,數(shù)據(jù)類型必須一一對(duì)應(yīng),非格式字符串(說(shuō)明性的)要原封不動(dòng)的輸入。 輸入實(shí)行數(shù)據(jù)時(shí),可以不帶小數(shù)點(diǎn),即按整型數(shù)據(jù)輸入 數(shù)值型數(shù)據(jù)與字符或字符串混合輸入時(shí),需要注意輸入方式。
3.3、格式輸出函數(shù)printf Printf(“格式控制字符串“,輸出列表); 指定輸出格式,由格式字符串和非格式字符串兩種組成,非格式字符串照原樣輸出。 %[標(biāo)志][輸出最小寬度][.精度][長(zhǎng)度]類型 標(biāo)志:- 左對(duì)齊;+ 右對(duì)齊; %f, %d, %c, %s 3.4、其他輸入輸出函數(shù) Putchar getchar puts gets 第四章、選擇結(jié)構(gòu)程序設(shè)計(jì) If選擇結(jié)構(gòu) 單分支 If(表達(dá)式) 語(yǔ)句 雙分支 If(表達(dá)式) 語(yǔ)句1 Else 語(yǔ)句2 多分支 If (表達(dá)式1) 語(yǔ)句1 Else if(表達(dá)式2) 語(yǔ)句2 。
Else if(表達(dá)式m) 語(yǔ)句m Else 語(yǔ)句n Switch(表達(dá)式) { Case 常量表達(dá)式1:語(yǔ)句1;break; Case 常量表達(dá)式2:語(yǔ)句2;break; 。
Case 常量表達(dá)式m:語(yǔ)句m;break; Default:語(yǔ)句n;break; } 注意break的使用 第五章、循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 循環(huán)三要素 初始條件 ;終止條件 ;在初始條件和終止條件間反復(fù)做某件事情(循環(huán)體) While(表達(dá)式) 語(yǔ)句 Do 語(yǔ)句 While(表達(dá)式)。
去百度文庫(kù),查看完整內(nèi)容>
內(nèi)容來(lái)自用戶:暗香飛度
C語(yǔ)言考試必備基礎(chǔ)知識(shí)點(diǎn)整理
【考點(diǎn)1】C程序
C語(yǔ)言程序結(jié)構(gòu)有三種:順序結(jié)構(gòu),循環(huán)結(jié)構(gòu)(三個(gè)循環(huán)結(jié)構(gòu)),選擇結(jié)構(gòu)(if和switch)
【考點(diǎn)2】main函數(shù)
每個(gè)C語(yǔ)言程序中main函數(shù)是有且只有一個(gè)。讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。
【考點(diǎn)3】存儲(chǔ)形式
計(jì)算機(jī)的數(shù)據(jù)在電腦中是以二進(jìn)制的形式保存。最低的存儲(chǔ)單元是bit(位),位是由為0或者1構(gòu)成。byte是指字節(jié),一個(gè)字節(jié)=八個(gè)位。數(shù)據(jù)存放的位置就是它的地址。
【考點(diǎn)4】注釋
是對(duì)程序的說(shuō)明,可出現(xiàn)在程序中任意合適的地方,注釋從“/*”開(kāi)始到最近一個(gè)“*/”結(jié)束,其間任何內(nèi)容都不會(huì)被計(jì)算機(jī)執(zhí)行,注釋不可以嵌套。
【考點(diǎn)5】書(shū)寫(xiě)格式
每條語(yǔ)句的后面必須有一個(gè)分號(hào),分號(hào)是語(yǔ)句的一部分。一行內(nèi)可寫(xiě)多條語(yǔ)句,一個(gè)語(yǔ)句可寫(xiě)在多行上。
【考點(diǎn)6】標(biāo)識(shí)符
合法的用戶標(biāo)識(shí)符考查:
合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯(cuò)了。
并且第一個(gè)必須為字母或則是下劃線。第一個(gè)為數(shù)字就錯(cuò)了。
C語(yǔ)言標(biāo)識(shí)符分如下3類
(1)關(guān)鍵字。它們?cè)诔绦蛑杏泄潭ǖ暮x,不能另作他用。如int、for、switch等。
(2)預(yù)定義標(biāo)識(shí)符。預(yù)先定義并具有特定含義的標(biāo)識(shí)符。如 【考點(diǎn) 注意
(第六版) Bradley L. Jones, Peler Aitken 著. 信達(dá)工作室 譯. 人民郵電出版社 這本書(shū)對(duì)初學(xué)者很好, 如果有點(diǎn)基礎(chǔ)那就更好了. 建議選擇譚浩強(qiáng)譚老師的書(shū),簡(jiǎn)單易學(xué),理論與實(shí)踐結(jié)合的很好,而且如果能認(rèn)真學(xué)的話,你會(huì)發(fā)現(xiàn)你的C語(yǔ)言基礎(chǔ)非常的實(shí)。
也不是說(shuō)其他的書(shū)不好,但是有些書(shū)只是為了讓讀者入門(mén),沒(méi)有前途呀。 先讀譚浩強(qiáng)的《C語(yǔ)言程序設(shè)計(jì)》,這是公認(rèn)的中文入門(mén)級(jí)教材。
但是書(shū)中的代碼風(fēng)格不敢恭維??赐赀@本,推薦《21天學(xué)通C語(yǔ)言》,這本書(shū)比較好,個(gè)人感覺(jué)。
看完這兩本,你就可以進(jìn)階C++了。 C語(yǔ)言只要把基礎(chǔ)打好就好,你要是想精通的話,最好是精通C++,這樣比較有前途。
但不要操之過(guò)急。
數(shù)據(jù)類型,選擇語(yǔ)句,循環(huán)語(yǔ)句,數(shù)組,結(jié)構(gòu)體,指針,預(yù)處理這些是初學(xué)者必須掌握的
數(shù)據(jù)類型:c語(yǔ)言里有5中,int long float double char 每種數(shù)據(jù)類型都是有符號(hào)號(hào)的就是分正負(fù),當(dāng)然也有無(wú)符號(hào)的,就是只是正數(shù),必須加前綴unsigned 例如 unsigned int 就是無(wú)符號(hào)整型
選擇語(yǔ)句有2個(gè)if else ,switch cae defalut
循環(huán)語(yǔ)句有3個(gè) for,while,do while
數(shù)組就是多個(gè)數(shù)據(jù)的集合,例如 int a[3]就是為有3個(gè)int型數(shù)據(jù)的變量,其每個(gè)數(shù)據(jù)位a[0],a[1],a[2]
結(jié)構(gòu)體是用戶自己定義的數(shù)據(jù)類型,關(guān)鍵字是struct ;例如:struct student{ int NO;float score;char name[10];}就是一個(gè)結(jié)構(gòu)體
指針就是內(nèi)存地址,C里常用的是指針變量,變量里存儲(chǔ)的是內(nèi)存地址,例如 int *p;就是一個(gè)存儲(chǔ)int型變量地址的指針
預(yù)處理包括宏定義,文件包含,例如#include<stdio.h>;(文件包含)#define PI 3.1415926(宏定義)
我是在今學(xué)期才開(kāi)始看C和C ,現(xiàn)在C學(xué)的基礎(chǔ)還好,C 算是大概體系了解,不過(guò)對(duì)你這個(gè)問(wèn)題還是挺有感觸,就以一個(gè)初學(xué)者態(tài)度跟你講講我的感受吧!希望讓有興趣發(fā)展編程的你能快速進(jìn)入這個(gè)領(lǐng)域。
首先,我不茍同上面哪位仁兄的說(shuō)法,其實(shí),C和C 都可以說(shuō)是面向過(guò)程的語(yǔ)言,但C 更提供了面向?qū)ο蟮姆椒?,需要說(shuō)明一點(diǎn),C 是倡導(dǎo)面向?qū)ο缶幊谭椒ǖ?,?yīng)為這是適用現(xiàn)代技術(shù)發(fā)展的要求,簡(jiǎn)單理解,面向?qū)ο蟮木幊谭椒ň褪穷A(yù)先設(shè)置好一些常用的,實(shí)用的類庫(kù),當(dāng)編程時(shí)要用到時(shí),引用就可以了(通過(guò)對(duì)類進(jìn)行實(shí)例化),就好像是預(yù)先生產(chǎn)出一部洗衣機(jī),要洗衣服時(shí)候直接把衣服放進(jìn)去,打開(kāi)洗衣機(jī)的啟動(dòng)按鈕就可以了,在面向?qū)ο缶幊讨校偃缥覀円呀?jīng)有了要引用的類庫(kù)(這些類也可以自己編),我們只要做“啟動(dòng)洗衣機(jī)按鈕”這個(gè)動(dòng)作就可以了,這就是面向?qū)ο缶幊?。面向過(guò)程的編程,簡(jiǎn)單理解,就是除了一些基本的類似輸入輸出,數(shù)學(xué)函數(shù)之外,基本都是要全部一條龍的自己設(shè)計(jì)。
C和C 都是MS公司出的,它還有的C#就是完全面向?qū)ο蟮母呒?jí)語(yǔ)言,功能非常強(qiáng)大,與。net平臺(tái)一起構(gòu)成了MS的戰(zhàn)略。
不好意思,還是說(shuō)回你感興趣的東西吧!其實(shí)學(xué)C和c 不用太多的數(shù)學(xué)知識(shí),它要求你無(wú)非兩樣?xùn)|西:1.邏輯性2.興趣,循環(huán)控制如“for,while語(yǔ)句”,指針,函數(shù)調(diào)用是學(xué)習(xí)C和C 的核心和重點(diǎn),也是精華所在,尤其是C語(yǔ)言。個(gè)人建議:假如你不是要做一個(gè)C程員的話,在c學(xué)到一定基礎(chǔ)很程度時(shí)候可以轉(zhuǎn)向JAVA或C#等面向?qū)ο蟾呒?jí)語(yǔ)言,他們聯(lián)系A(chǔ)SP,ASPX和JSP等web系統(tǒng)開(kāi)發(fā),快速開(kāi)發(fā)軟件和web系統(tǒng)方面實(shí)用性非常強(qiáng)。
也建議可以先從C學(xué)起,清華大學(xué)出版社的譚浩強(qiáng)的《C程序設(shè)計(jì)》是一本非常好的適合沒(méi)編程基礎(chǔ),介紹也很徹底詳細(xì)的名書(shū)(我就是靠那本書(shū)的,呵呵),學(xué)習(xí)C時(shí),不要冒進(jìn),認(rèn)認(rèn)真真打好基礎(chǔ),對(duì)你以后發(fā)展其他語(yǔ)言甚至領(lǐng)域有非常大的幫助。
/%C3%EE%D2%F4%C4%F1/blogc語(yǔ)言 C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。
它既有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫(xiě)工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫(xiě)不依賴計(jì)算機(jī)硬件的應(yīng)用程序。
因此,它的應(yīng)用范圍廣泛。 C語(yǔ)言對(duì)操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語(yǔ)言明顯優(yōu)于其它解釋型高級(jí)語(yǔ)言,有一些大型應(yīng)用軟件也是用C語(yǔ)言編寫(xiě)的。
C語(yǔ)言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫(xiě)系統(tǒng)軟件,三維,二維圖形和動(dòng)畫(huà)。它是數(shù)值計(jì)算的高級(jí)語(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,TurboC等等。
C語(yǔ)言的發(fā)展歷史 C語(yǔ)言的原型ALGOL 60語(yǔ)言。(也稱為A語(yǔ)言) 1963年,劍橋大學(xué)將ALGOL 60語(yǔ)言發(fā)展成為CPL(Combined Programming Language)語(yǔ)言。
1967年,劍橋大學(xué)的Matin Richards 對(duì)CPL語(yǔ)言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語(yǔ)言。 1970年,美國(guó)貝爾實(shí)驗(yàn)室的Ken Thompson將BCPL進(jìn)行了修改,并為它起了一個(gè)有趣的名字“B語(yǔ)言”。
意思是將CPL語(yǔ)言煮干,提煉出它的精華。并且他用B語(yǔ)言寫(xiě)了第一個(gè)UNIX操作系統(tǒng)。
而在1973年,B語(yǔ)言也給人“煮”了一下,美國(guó)貝爾實(shí)驗(yàn)室的D.M.RITCHIE在B語(yǔ)言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語(yǔ)言,他取了BCPL的第二個(gè)字母作為這種語(yǔ)言的名字,這就是C語(yǔ)言。 為了使UNIX操作系統(tǒng)推廣,1977年Dennis M.Ritchie 發(fā)表了不依賴于具體機(jī)器系統(tǒng)的C語(yǔ)言編譯文本《可移植的C語(yǔ)言編譯程序》。
1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《C語(yǔ)言程序》(The C Programming Language),從而使C語(yǔ)言成為當(dāng)時(shí)世界上流行最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言。 1988年,隨著微型計(jì)算機(jī)的日益普及, C語(yǔ)言出現(xiàn)了許多版本。
由于沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),使得這些C語(yǔ)言之間出現(xiàn)了一些不一致的地方。為了改變這種情況,美國(guó)國(guó)家標(biāo)準(zhǔn)研究所(ANSI)為C語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn), 成為現(xiàn)行的C語(yǔ)言標(biāo)準(zhǔn)3.C語(yǔ)言的主要特點(diǎn) 。
C語(yǔ)言發(fā)展迅速, 而且成為最受歡迎的語(yǔ)言之一, 主要因?yàn)樗哂袕?qiáng)大的功能。許多著名的系統(tǒng)軟件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語(yǔ)言編寫(xiě)的。
用C語(yǔ)言加上一些匯編語(yǔ)言子程序, 就更能顯示C語(yǔ)言的優(yōu)勢(shì)了,象PC- DOS 、WORDSTAR等就是用這種方法編寫(xiě)的。 C語(yǔ)言版本 目前最流行的C語(yǔ)言有以下幾種: ·Microsoft C 或稱 MS C ·Borland Turbo C 或稱 Turbo C ·AT&T C 這些C語(yǔ)言版本不僅實(shí)現(xiàn)了ANSI C標(biāo)準(zhǔn),而且在此基礎(chǔ)上各自作了一些擴(kuò)充。
C語(yǔ)言的優(yōu)點(diǎn) 1. 簡(jiǎn)潔緊湊、靈活方便 C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書(shū)寫(xiě)自由,主要用小寫(xiě)字母表示。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。
C 語(yǔ)言可以象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。 2. 運(yùn)算符豐富 C的運(yùn)算符包含的范圍很廣泛,共有種34個(gè)運(yùn)算符。
C語(yǔ)言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C的運(yùn)算類型極其豐富表達(dá)式類型多樣化,靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算。
3. 數(shù)據(jù)結(jié)構(gòu)豐富 C的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)類型的運(yùn)算。
并引入了指針概念,使程序效率更高。另外C語(yǔ)言具有強(qiáng)大的圖形功能, 支持多種顯示器和驅(qū)動(dòng)器。
且計(jì)算功能、邏輯判斷功能強(qiáng)大。 4. C是結(jié)構(gòu)式語(yǔ)言 結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。
這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?便于使用、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。
5. C語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大 雖然C語(yǔ)言也是強(qiáng)類型語(yǔ)言,但它的語(yǔ)法比較靈活,允許程序編寫(xiě)者有較大的自由度。 6. C語(yǔ)言允許直接訪問(wèn)物理地址,可以直接對(duì)硬件進(jìn)行操作 因此既具有高級(jí)語(yǔ)言的功能,又具有低級(jí)語(yǔ)言的許多功能,能夠象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元,可以用來(lái)寫(xiě)系統(tǒng)軟件。
7. C語(yǔ)言程序生成代碼質(zhì)量高,程序執(zhí)行效率高 一般只比匯編程序生成的目標(biāo)代碼效率低10へ20%。 8. C語(yǔ)言適用范圍大,可移植性好 C語(yǔ)言有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng), 如DOS、UNIX,也適用于多種機(jī)型。
C語(yǔ)言的缺點(diǎn) 1. C語(yǔ)言的缺點(diǎn)主要是表現(xiàn)在數(shù)據(jù)的封裝性上,這一點(diǎn)使得C在數(shù)據(jù)的安全性上做的有很大缺陷,這也是C和C++的一大區(qū)別。 2. C語(yǔ)言的語(yǔ)法限制不太嚴(yán)格,對(duì)變量的類型約束不嚴(yán)格,影響程序的安全性,對(duì)數(shù)組下標(biāo)越界不作檢查等。
從應(yīng)用的角度,C語(yǔ)言比其他高級(jí)語(yǔ)言較難掌握。 [C語(yǔ)言指針] 指針就是C語(yǔ)言的。
1,C語(yǔ)言的運(yùn)算符和優(yōu)先級(jí)
2,分支結(jié)構(gòu)程序設(shè)計(jì)
3,循環(huán)結(jié)構(gòu)程序
4,數(shù)組
5,函數(shù)
6,指針
7,字符類型和字符串
8,字符串與指針
9,指針數(shù)組、二級(jí)指針、指向一維數(shù)組的指針、指向函數(shù)的指針
10,返回指針的函數(shù)、數(shù)組名做函數(shù)參數(shù)
11,結(jié)構(gòu)體、共用體、枚舉、自定義類型、變量存儲(chǔ)類別、工程文件
12,文件、宏、主函數(shù)帶形參
13,鏈表、位運(yùn)算、考試環(huán)境
14,排序、強(qiáng)制類型轉(zhuǎn)換
定義 C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。
它既有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫(xiě)工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫(xiě)不依賴計(jì)算機(jī)硬件的應(yīng)用程序。
因此,它的應(yīng)用范圍廣泛。主要有以下特點(diǎn): C語(yǔ)言在很多方面都可以用,不僅僅是在軟件開(kāi)發(fā)上,各類科研都是需要用到C語(yǔ)言的。
具體應(yīng)用比如我是學(xué)硬件的,單片機(jī)以及嵌入式系統(tǒng)都可以用C來(lái)開(kāi)發(fā)。 C 語(yǔ)言發(fā)展如此迅速, 而且成為最受歡迎的語(yǔ)言之一, 主要因?yàn)樗哂袕?qiáng)大的功能。
許多著名的系統(tǒng)軟件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語(yǔ)言編寫(xiě)的。用C 語(yǔ)言加上一些匯編語(yǔ)言子程序, 就更能顯示C 語(yǔ)言的優(yōu)勢(shì)了, 象PC- DOS 、WORDSTAR等就是用這種方法編寫(xiě)的。
歸納起來(lái)C 語(yǔ)言具有下列特點(diǎn):1. C是中級(jí)語(yǔ)言它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C 語(yǔ)言可以象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。
2. C是結(jié)構(gòu)式語(yǔ)言結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化, 即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?便于使用、維護(hù)以及調(diào)試。
C 語(yǔ)言是以函數(shù)形式提供給用戶的, 這些函數(shù)可方便的調(diào)用, 并具有多種循環(huán)、條件語(yǔ)句控制程序流向, 從而使程序完全結(jié)構(gòu)化。 3. C語(yǔ)言功能齊全C 語(yǔ)言具有各種各樣的數(shù)據(jù)類型, 并引入了指針概念, 可使程序效率更高。
另外C 語(yǔ)言也具有強(qiáng)大的圖形功能, 支持多種顯示器和驅(qū)動(dòng)器。而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大, 可以實(shí)現(xiàn)決策目的編游戲,編3D游戲,做數(shù)據(jù)庫(kù),做聯(lián)眾世界,做聊天室,做PHOTOSHOP做FLASH,做3DMAX。
4. C語(yǔ)言適用范圍大C 語(yǔ)言還有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng), 如DOS、UNIX,也適用于多種機(jī)型。 C語(yǔ)言對(duì)操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語(yǔ)言明顯優(yōu)于其它解釋型高級(jí)語(yǔ)言,有一些大型應(yīng)用軟件也是用C語(yǔ)言編寫(xiě)的。
C語(yǔ)言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫(xiě)系統(tǒng)軟件,三維,二維圖形和動(dòng)畫(huà)。它是數(shù)值計(jì)算的高級(jí)語(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ǔ)言。(也稱為A語(yǔ)言) 1963年,劍橋大學(xué)將ALGOL 60語(yǔ)言發(fā)展成為CPL語(yǔ)言。
1967年,劍橋大學(xué)的Matin Richards 對(duì)CPL語(yǔ)言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語(yǔ)言。 1970年,美國(guó)貝爾實(shí)驗(yàn)室的Ken Thompson將BCPL進(jìn)行了修改,并為它起了一個(gè)有趣的名字“B語(yǔ)言”。
意思是將CPL語(yǔ)言煮干,提煉出它的精華。并且他用B語(yǔ)言寫(xiě)了第一個(gè)UNIX操作系統(tǒng)。
而在1973年,B語(yǔ)言也給人“煮”了一下,美國(guó)貝爾實(shí)驗(yàn)室的D.M.RITCHIE在B語(yǔ)言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語(yǔ)言,他取了BCPL的第二個(gè)字母作為這種語(yǔ)言的名字,這就是C語(yǔ)言。 為了使UNIX操作系統(tǒng)推廣,1977年Dennis M.Ritchie 發(fā)表了不依賴于具體機(jī)器系統(tǒng)的C語(yǔ)言編譯文本《可移植的C語(yǔ)言編譯程序》。
即是著名的ANSI C。 1978年由美國(guó)電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)表了C語(yǔ)言。
同時(shí)由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一書(shū)。通常簡(jiǎn)稱為《K&R》,也有人稱之為《K&R》標(biāo)準(zhǔn)。
但是,在《K&R》中并沒(méi)有定義一個(gè)完整的標(biāo)準(zhǔn)C 語(yǔ)言,后來(lái)由美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)在此基礎(chǔ)上制定了一個(gè)C 語(yǔ)言標(biāo)準(zhǔn),于一九八三年發(fā)表。通常稱之為ANSI C。
1987年,隨著微型計(jì)算機(jī)的日益普及,出現(xiàn)了許多C語(yǔ)言版本。由于沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),使得這些C語(yǔ)言之間出現(xiàn)了一些不一致的地方。
為了改變這種情況,美國(guó)國(guó)家標(biāo)準(zhǔn)研究所(ANSI)為C語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn), 成為現(xiàn)行的C語(yǔ)言標(biāo)準(zhǔn) 3.C語(yǔ)言的主要特點(diǎn) 。C語(yǔ)言發(fā)展迅速, 而且成為最受歡迎的語(yǔ)言之一,主要因?yàn)樗哂袕?qiáng)大的功能。
許多著名的系統(tǒng)軟件都是由C語(yǔ)言編寫(xiě)的。用C語(yǔ)言加上一些匯編語(yǔ)言子程序, 就更能顯示C語(yǔ)言的優(yōu)勢(shì)了,象PC- DOS 、WORDSTAR等就是用這種方法編寫(xiě)的。
1990年,國(guó)際化標(biāo)準(zhǔn)組織ISO接受了87 ANSI C為ISO C的標(biāo)準(zhǔn)1994年,ISO修訂了C語(yǔ)言的標(biāo)準(zhǔn)。目前流行的C語(yǔ)言編譯系統(tǒng)大多是以ANSI C為基礎(chǔ)進(jìn)行開(kāi)發(fā)的,但不同版本的C編譯系統(tǒng)說(shuō)實(shí)現(xiàn)的語(yǔ)言功能和語(yǔ)法規(guī)則有略有差別。
C語(yǔ)言的優(yōu)點(diǎn) 1. 簡(jiǎn)潔緊湊、靈活方便 C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書(shū)寫(xiě)自由,主要用小寫(xiě)字母表示。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。
C 語(yǔ)言可以象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。 2. 運(yùn)算符豐富 C的運(yùn)算符包含的范圍很廣泛,共有34個(gè)運(yùn)算符。
C語(yǔ)言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C的運(yùn)算類型極其豐富表達(dá)式類型多樣化。
1.C提供了三種主要的預(yù)處理功能,分別是__宏定義_______、___文件包含______、____條件編譯____。
2.C語(yǔ)言中,數(shù)組元素下標(biāo)下限為_(kāi)__0_____。
3.數(shù)組名作函數(shù)參數(shù)傳遞時(shí)是__數(shù)組首地址______傳遞。變量作函數(shù)參數(shù)時(shí)是_值_______傳遞,
4.一個(gè)編輯好的*.C源程序,必須經(jīng)過(guò)編譯、_連接_______、后才能運(yùn)行。
5.在C語(yǔ)言中可以用__逐個(gè)引用______法和________法引用數(shù)組元素。
6.C語(yǔ)言的程序結(jié)構(gòu)有_順序___、_選擇___、循環(huán)____三種。
7.在C中,Char類型變量值可以賦值給___int_____類型變量。
8.使指針P指向數(shù)組int a[ ]的首址,寫(xiě)作 __p=a______ ,*(P+1)是a[ _1__ ]的值
9.所謂指針是指_______;指針變量是用于存放_(tái)__變量地址___的變量;字符串的指針是指__字符串的首地址________ ;函數(shù)的指針是指__函數(shù)首地址____________。
10.在函數(shù)調(diào)用中,一個(gè)函數(shù)無(wú)論直接還是間接地調(diào)用自身,該調(diào)用稱為_(kāi)_遞歸_____調(diào)用。
最低0.27元/天開(kāi)通百度文庫(kù)會(huì)員,可在文庫(kù)查看完整內(nèi)容>
原發(fā)布者:ofhyeiu2
C語(yǔ)言最重要的知識(shí)點(diǎn)總體上必須清楚的:1)程序結(jié)構(gòu)是三種:順序結(jié)構(gòu)、選擇結(jié)構(gòu)(分支結(jié)構(gòu))、循環(huán)結(jié)構(gòu)。2)讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇),有且只有一個(gè)main函數(shù)。3)計(jì)算機(jī)的數(shù)據(jù)在電腦中保存是以二進(jìn)制的形式.數(shù)據(jù)存放的位置就是他的地址.4)bit是位是指為0或者1。byte是指字節(jié),一個(gè)字節(jié)=八個(gè)位.概念常考到的:1、編譯預(yù)處理不是C語(yǔ)言的一部分,不占運(yùn)行時(shí)間,不要加分號(hào)。C語(yǔ)言編譯的程序稱為源程序,它以ASCII數(shù)值存放在文本文件中。誤的,一定不能出現(xiàn)分號(hào)。3、每個(gè)C語(yǔ)言程序中main函數(shù)是有且只有一個(gè)。4、在函數(shù)中不可以再定義函數(shù)。5、算法:可以沒(méi)有輸入,但是一定要有輸出。第一章C語(yǔ)言的基礎(chǔ)知識(shí)第一節(jié)、對(duì)C語(yǔ)言的基礎(chǔ)認(rèn)識(shí)1、C語(yǔ)言編寫(xiě)的程序稱為源程序,又稱為編譯單位。2、C語(yǔ)言書(shū)寫(xiě)格式是自由的,每行可以寫(xiě)多個(gè)語(yǔ)句,可以寫(xiě)多行。3、一個(gè)C語(yǔ)言程序有且只有一個(gè)main函數(shù),是程序運(yùn)行的起點(diǎn)。第二節(jié)、2、每個(gè)C語(yǔ)言程序?qū)懲旰螅际窍染幾g,后鏈接,最后運(yùn)行。(.c---(.obj---(.exe)這個(gè)過(guò)程中注意.c和.obj文件時(shí)無(wú)法運(yùn)行的,只有.exe文件才可以運(yùn)行。(??迹。ǔ绦蚓庉?程序編譯-程序連接-程序運(yùn)行)第三節(jié)、標(biāo)識(shí)符1、標(biāo)識(shí)符(必考內(nèi)容):合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯(cuò)了。并且第一個(gè)必須為字母或則是下劃線。第一個(gè)為數(shù)字就錯(cuò)了預(yù)定義標(biāo)識(shí)符:背誦
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥(niǎo). 頁(yè)面生成時(shí)間:3.102秒