c語言必看
1. 學生必看的計算機c語言重要考點
計算機二級考試C語言考點總結今年不考明年肯定考
第一章 C 語言基本知識
[考點 1]C程序
用C語言編寫的程序稱為C語言源程序,源程序文件的後綴名為「.c」。源程序經編譯後生成後級名為「obi」的目標文件,再把目標文件與各種庫函數連接起來,生成「.exe」可執行文件。C語言有種基本結構:順序結構、選擇結構、循環結構
[考點 2] main 函數
又稱主函數,是C程序的人口。main後面跟一對小括弧和一對花括弧,花括弧括起來的部分稱為main函數的函數體。一個C程序從main函數開始執行,到main函數體執行完結束,而不論main函數在整個程序中的位置如何。每一個程序有且僅有一個main函數,其他函數都是為main函數服務的
[考點 3]存儲形式
計算機在電腦中保存數據是採用二進制形式,由0或1構成的二進制稱為位(bit八個位構成一個位元組(Byte),1個yte-8個bit。二進制、八進制、十六進制轉化為十進制採用乘法,十進制轉化為二進制、八進制、十六進制採用除法。數據的存放位置就是它的地址。
[考點4]注釋
是對程序的說明,可出現在程序中任意合適的地方,注釋從「/*」開始到最近一個「*/」結束,其間任何內容都不會被計算機執行,注釋不可以嵌套。
[考點 5] 書寫格式
每條語句的後面必須有一個分號,分號是語句的一部分。一行內可寫多條語句,一個語句可寫在多行上
[考點 6] 標識符
是標識名字的有效字元序列,可以理解為C程序中的單詞。標識符的命名規則是:
(1)標識符只能由字母 數字和下劃線組成,字母區分大小寫
(2)標識符的第一個字元必須是字母或下劃線,不能為數字。
C語言標識符分如下3類
1關鍵字。它們在程序中有固定的含義,不能另作他用。如int、for、switch等。
2預定義標識符。預先定義並具有特定含義的標識符。如defineinclude等。
3用戶標識符。用戶根據需要定義的標識符。符合命名規則且不與關鍵字相同
[ 考點 7]常量與變數
常量是指在程序運行過程中,其值不能改變的量。常量分為整型常量、實型常量、字元常量、字元申常量、符號常量5種。在程序運行過中其值可以改變的量稱為變數。C語言中沒有字元申變數存放字元串使用字元數組
[考點 8]整型數據
整型常量有十進制、八進制、十六進制三種表示形式,沒有二進形式。八進制整型常量加前導數字0,十六進制常量加前導X,八進制常量中不會出現8。整型變數可分為基本整型(int)、短整型(shot)、長整型(lang) 和無符號整型(unsigned)。個基本整型佔4個位元組。其它類型的整型佔用位元組數和取值范圍詳見教材第9頁
[考點 9]實型數據
實型數據有兩種表示形式:小數形式和指數形式。掌握判定指數形式合法性口訣:E前E後必有數,E後必須為整數。實型變數分為單精度型(float)和雙精度型(double),單精度型佔四個位元組
[考點 10]算術運算
算術運算符一共有+、一 *1%這五個。求余運算要求運算對象只能為整型。除法運算符兩邊運算對象都為整型時,運算結果也為整型即舍掉小數部分。
[考點 11]強制類型轉換
將一個運算對象轉換成指定類型,格式為(類型名)表達式,注意小括弧位置
[考點 12]賦值
賦值運算符為「=」,不同於關系等於「==」、值表達式格式為:變數名=表達式,賦值運算符左邊必須為變數,賦值運算是把賦值運算符右邊表達式的值賦給左邊變數。復合賦值運算符是將算術運算符或位運算符與賦值運算符組合在一起組成的運算符,掌握復合賦直表達式轉化為賦值表達式的方法。如n=100可轉化為rFn+100。
[考點 13]自加自減運算
自加運算符「++」與自減運算符「_」是單目運算符,運算對象必須是變數。自增自減運算分前綴運算和後綴運算,它們所對應的表達式的值是有區別的,如=it+;等價於iii=i+1;而ilti;等價於i=i+1jFia口訣:加加在前先加後用,加加在後先用後加
[考點 14]逗號運算
逗號運算符運算優先順序最低,可將多個表達式構成一個新的表達式。
第二章 順序結構
[考點 1]運算符、表達式、語句
運算對象加運算符構成表達式,表達式加分號構成表達式語句,運算對象可以是表達式。常量變數如賦值運算符加運算對象構成賦值表達式,賦值表達式加分號又可構成賦值語句。
[考點 2]運算符的優先順序和結合順序
運算符按參加運算的對象數目可分為單目運算符、雙目運算符和三目運算符。初等運算符的優先順序別最高,然後依次是單目運算符、算術運算符、關系運算符、邏輯運算符(除邏輯非!)、條件運符、賦值運算符、逗號運算符。位運算符優先順序介於算術運算符與邏並運算符之間。結合順序大多為自左向右,而自右向左的有三個:單目運算符、條件運算符和賦值運算符。
[考點 3]printf 函數
格式為:printf(輸出控制,輸出列表)。輸出控制是用一對雙引號括起來的,包含格式說明和原樣
信息。輸出列表包含若干輸出項。
[考點 4]printf 函數中格式說明
%對應整型.%f對應單精度實型%對應字元型%對應八進制無符號整型%對應無符號十
六進制整型,%u對應無符號整型,%對應指數型,%對應字元串型。可在%和格式字元之間加一個數來控制數據所佔的寬度和小數位數。
[考點 5]scanf 函數
輸人項要求帶取地址符&。當用鍵盤輸人多個數據時,數據之間用分隔符。分隔符包括空格符、製表符和回車符,但不包括逗號考點]6如何交換兩個變數
要使用中間變數,語句為:t-x;x-y;x-t;.
第三章 選擇結構
[考點 1]關系運算
C語言用非0表示邏輯真,用0表示邏輯假。關系運算符有6個,分別是>,天,,=,=,前四種優先順序高於後兩種。關系表達式真時為1.假時為0。注意asbec是不可以的,可用(asb)8&(bec)來表示
[考點 2] 邏輯運算
邏輯運算符共有3個:邏輯與(8&),邏輯或(1),邏輯非(!)。注意短路現象,例atlbl,如果表達式
al的值非零,則表達式bl不再執行。
[考點 3]if 語句
可以單獨出現,也可以與els匹配出現。if語句可以套,這時ese總是與離它最近的且沒有與
else匹配的f匹配
[考點 4] 條件運算
是唯一的三目運算符,格式為:表達式1?表達式2:表達式3。表達式1值為非0時,整個表達式值為表達式2的值,表達式1值為0時,整個表達式值為表達式3的值口訣:真前假後
[考點 5] switch 語句
格式及執行過程詳見教材P33,要注意每條case後有沒有break語句的區別。還要注意switch後
小括弧裡面的表達式不能為實型,case後表達式不能有變數。口訣:switch表不為實,case表不為變。
第四章 循環結構
[ 考點 1] 三種循環結構
三種循環結構分別為:while,dowhile,for,三種結構的格式及執行順序詳見教材第3639.40頁。注意for循環中的小括弧中必須是兩個分號:循環一定要有結束條件,否則成了死循環:do-while0循環最後的whileO:後一定要有分號
[考點 2] break與continue
break是終止所在整個循環,而continue是提前結束本輪循環。break語句可出現在循環結構與switch語句中continue只出現在循環結構中
[ 考點 3] 循環的套
就是循環裡面還有循環,計算要一層一層分析,一般只考查兩層嵌套,循環嵌套通常是處理二維故組
[考點4]循環結構的復習
循環結構是重點,筆試所佔分值一般在13分左右,在上機考試中也是必考點,應用性很強。要
求學員重點理解並多加練習,領會掌握第五章 字元型數據 位運算
[ 考點 1] 字元常量
個字元常量用一對單引號括起來,字元聲重只能包括一個字元, ab』是非法的。空格常用』口來表示。字元常量可用對應的ASCI碼表示。需記住:』0』的ASCII碼為48.A』的ASC碼為65a』的ASCII碼為97
[ 考點 2] 轉義字元
一對單引號中以一個反斜線後跟一個特定字元或八進制、十六進制數來構成轉義字元。比如』n表示換行,101』或』x41』表示ASCII碼為65的字元』A
[考點3]字元型數據可以和整型數據相互轉換
如:』0』-0-48A』+32=』a』chara-65;printf(「%%」aa);結果為65A
[考點 4] 位運算符
C語言提供6種位運算符:按位求反~,按位左移人,按位右移》按位與&,按位異或,按位或^。一般情況下需要先轉化進制。異或運算的規則:0異或1得到1異或0得到01異或1得到0可記為「相同為0,不同為 1」。
[ 考點 5] putchar 與 getchar 函數
可用於輸出或輸人單個字元,這兩個函數是stdioh文件中的庫函數,它們是prinf與scanf函
數的簡化。
第六章 函數
[ 考點 1]函數的定義
麗數是具有一定功能的一個程序塊。函數的首部為:函數類型函數名(類型1形參1類型2形參
2...·)。在函數定義中不可以再定義函數,即不能定義函數。函數類型默認為 int 型。[考點
[考點 2]庫函數
調用C語言標准庫函數時要包含include命令,include命令行以#開頭,後面是」」或◇括起來的後綴為」.h」的頭文件。以#開頭的一行稱為編譯預處理命令行,編譯預處理不是C語言語句,不加分號,不佔運行時間。
[考點 3] 函數的返回值
函數通過return語句返回一個值,返回的值類型與函數類型一樣。return語句只執行一次,執行完或麗數體結束後退出雨數
[考點 4]函數的聲明
函數要「先定義後調用」,或「先聲明再調用後定義」。函數的聲明一定要有函數名、函數返回值類型、函數參數類型,但不一定要有形參的名稱。
[考點 5] 函數的調用
程序從上往下執行,當碰到函數名後,把值傳給調用函數,當程序得到了返回值或調用函數結束.再順序往下執行
[ 考點 6]函數的參數及值傳遞
形式參數簡稱形參,是定義函數時函數名後面括弧中的參數。實在參數簡稱實參,是調用函數時函數名後面括弧中的參數。實參和形參分別占據不同的存儲單元。實參向形參單向傳遞數值。「傳值」與「傳址」的區別:傳數值的話,形參的變化不會改變實參的變化。傳地址的話,形參的變化就有可能改變實參所對應的量
[考點 7] 函數的遞歸調用
函數直接或間接地調用自己稱為函數的遞歸調用。遞歸調用必須有一個明確的結束遞歸的條件在做遞歸題時可把遞歸的步驟一步步寫下來,不要弄顛倒了。
[考點 8] 要求掌握的庫函數
sgrt0算術平方根函數,fabs0絕對值函數,pow0冪函數,sin0正弦函數
第七章 指針
[考點 1]指針變數
[考點 2]指針變數的定義
指針變數是用來存儲地址的,而一般變數是存儲數值的。指針變數可指向任意一種數據類型,但不管它指向的數據佔用多少位元組,一個指針變數佔用四個位元組。格式為:類型名*指針變數名。二維指針inttsp;可以理解為基類型為(ints)類型
[考點 3]指針變數的初始化
指針變數在使用前必須要初始化,把一個具體的地址賦給它,否則引用時會有副作用,如果不指向任何數據就賦「空值」NLI
[考點 4] 指針變數的引用
&是取地址符,*是間接訪問運算符,它們是互逆的兩個運算符。在指針變數名前加間接訪問運算奇就等價它所指向的量
[考點 5] 指針的運算
*pll和(*p)++之間的差別pt+是地址變化,()是指針變所指的數據化。一個指針變數加一個整數不是簡單的數學相加,而是連續移動若乾地址。當兩個指針指向同一數組時,它們可以比較大小進行減法運算。
第八章 數組
[考點 1] 數組的定義
數組是一組具有相同類型的數據的集合,這些數據稱為數組元素。格式為:類型名 數組名[常量表達式]。數組的所佔位元組數為元素個數與基類型所佔位元組數的乘積。
[考點 2] 數組的初始化
第一維長度可以不寫,其它維必須寫。intII=(1,2);合法,int |[3]-234;合法,int12]=(2 34)非法。數組初始化元素值默認為0,沒有初始化元素值為隨機。如在inta[5]=012);中,元素4值為0:而在inta[5;中,元素a[4]值為一個不確定的隨機數
[考點 3] 元素的引用
數組元素的下標從0開始,到數組長度減1結束。所以int[5];中數組最後一個元素是a[4]。要把數組元素看作一個整體,可以把a[4]當作一個整型變數。
[考點 4]字元串的輸入與輸出
可以用scanf和printf函數,如scanf(」%s」,str);,也可用專門處理字元串的兩個函數gets和outs函數,還可以對字元數組逐個元素進行賦值,但一定要在最後賦一個』10。使用gets函數可以接收空格,使用puts函數在最後輸出一個換行。
[考點 5]字元串函數
要掌握的四個字元申函數:字元串拷貝函數strcpy()求字元長度函數strlen()字元串鏈接函數strcat()字元串比較函數stramp()。使用這些函數需在預處理部分包含頭文件」stringh"字元串長度要小於字元數組的長度,例:ciarsid10]=」Hello」;sizeof(str)的值為10(數組長度).strlen(str)的值為5(字元串長度)。這些函數是考試常用到的函數,大家一定要熟練應用這幾個函數
第十章 結構體與共用體
[考點1]結構體類型的說明結構體是若干個類型數據的集合,結構體類型說明格式如下:struct類型名類型1成員名1類型2成員名2;···小,以上整個部分是一個數據類型與整型的nt是同樣地位。可用typedef把結構體類型替換成一個只有幾個字母的簡短標識符。
[考點 2] 結構體變數的定義
結構體變數是用說明的結構體類型所定義的一個變數,與結構體類型不是一回事。一個結構體變數所佔位元組數為其所有成員所佔位元組數之和。如 struct stuchar name 1:int age:ab;則表明定義了兩個結構體變數ab每個變數佔4個位元組。ab與int中的變數ii是同樣地位
[考點 3]結構體成員的引用
引用成員可用以下3種方式:(1結構體變數名成員;(2)指針變數名一成員名:(3(指針變數名)成員名。點()成員算符,頭(一向
[考點 4] 鏈表
鏈表是由一個個結點構成的,一個結點就是一個結構體變數。每個結點可以分為數據域與指針域兩個部分,數據域用來存放要存儲的數據,指針域用來指向下一個結點。鏈表是考試中的難點,在C語言和公共基礎部分都會考到,要領悟掌握
[考點 5]共用體
共用體的使用格式與結構體相似,共用體定義的關鍵字為union共用體所佔位元組數是所有成員中位元組數最大的那個
2. 誰知道考計算機二級C語言要看什麼書 准備什麼資料 麻煩給些建議,謝謝
1、譚浩強《C程序設計》
這個是基礎,必看。如果要熟練c語言,這部書必須看懂
2、全國計算機等級考試公共基礎
這不是一本書而是一個筆記。網上可以找到,最好理解,不理解就背過吧。考試這部分佔20分
3、全國計算機等級考試2級C語言上機題庫
把這裡面的題目全都弄懂記住。上機考試一定是從這裡面抽一套,保證滿分
4、臨時抱佛腳的去圖書館接計算機等級考試2級C語言輔導書,根據時間選一本厚度適當的。理解的看,看完筆試及格不成問題
3. 學習C語言 必看的書籍
給C++初學者的50個忠告
1.把C++當成一門新的語言學習(和C沒啥關系!真的。);
2.看《Thinking In C++》,不要看《C++變成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學者所以就不看;
4.不要被VC、BCB、BC、MC、TC等詞彙所迷惑——他們都是集成開發環境,而我們要學的是一門語言;
5.不要放過任何一個看上去很簡單的小編程問題——他們往往並不那麼簡單,或者可以引伸出很多知識點;
6.會用Visual C++,並不說明你會C++;
7.學class並不難,template、STL、generic programming也不過如此——難的是長期堅持實踐和不遺餘力的博覽群書;
8.如果不是天才的話,想學編程就不要想玩游戲——你以為你做到了,其實你的C++水平並沒有和你通關的能力一起變高——其實可以時刻記住:學C++是為了編游戲的;
9.看Visual C++的書,是學不了C++語言的;
10.浮躁的人容易說:XX語言不行了,應該學YY;——是你自己不行了吧!?
11.浮躁的人容易問:我到底該學什麼;——別問,學就對了;
12.浮躁的人容易問:XX有錢途嗎;——建議你去搶銀行;
13.浮躁的人容易說:我要中文版!我英文不行!——不行?學呀!
14.浮躁的人容易問:XX和YY哪個好;——告訴你吧,都好——只要你學就行;
15.浮躁的人分兩種:a)只觀望而不學的人;b)只學而不堅持的人;
16.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡;
17.C++不僅僅是支持面向對象的程序設計語言;
18.學習編程最好的方法之一就是閱讀源代碼;
19.在任何時刻都不要認為自己手中的書已經足夠了;
20.請閱讀《The Standard C++ Bible》(中文版:標准C++寶典),掌握C++標准;
21.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;
22.別指望看第一遍書就能記住和掌握什麼——請看第二遍、第三遍;
23.請看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成開發環境的搖籃上,要學會控制集成開發環境,還要學會用命令行方式處理程序;
25.和別人一起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好;
26.請看《程序設計實踐》,並嚴格的按照其要求去做;
27.不要因為C和C++中有一些語法和關鍵字看上去相同,就認為它們的意義和作用完全一樣;
28.C++絕不是所謂的C的「擴充」——如果C++一開始就起名叫Z語言,你一定不會把C和Z語言聯系得那麼緊密;
29.請不要認為學過XX語言再改學C++會有什麼問題——你只不過又在學一門全新的語言而已;
30.讀完了《Inside The C++ Object Model》以後再來認定自己是不是已經學會了C++;
31.學習編程的秘訣是:編程,編程,再編程;
32.請留意下列書籍:《C++面向對象高效編程(C++ Effective Object-Oriented Software Construction)》《面向對象軟體構造(Object-Oriented Software Construction)》《設計模式(Design Patterns)》《The Art of Computer Programming》;
33.記住:面向對象技術不只是C++專有的;
34.請把書上的程序例子親手輸入到電腦上實踐,即使配套光碟中有源代碼;
35.把在書中看到的有意義的例子擴充;
36.請重視C++中的異常處理技術,並將其切實的運用到自己的程序中;
37.經常回顧自己以前寫過的程序,並嘗試重寫,把自己學到的新知識運用進去;
38.不要漏掉書中任何一個練習題——請全部做完並記錄下解題思路;
39.C++語言和C++的集成開發環境要同時學習和掌握;
40.既然決定了學C++,就請堅持學下去,因為學習程序設計語言的目的是掌握程序設計技術,而程序設計技術是跨語言的;
41.就讓C++語言的各種平台和開發環境去激烈的競爭吧,我們要以學習C++語言本身為主;
42.當你寫C++程序寫到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將餘下的部分粗略的完成以保證這個設計的完整性,然後分析自己的錯誤並重新設計和編寫(參見43);
43.別心急,設計C++的class確實不容易;自己程序中的class和自己的class設計水平是在不斷的編程實踐中完善和發展的;
44.決不要因為程序「很小」就不遵循某些你不熟練的規則——好習慣是培養出來的,而不是一次記住的;
45.每學到一個C++難點的時候,嘗試著對別人講解這個知識點並讓他理解——你能講清楚才說明你真的理解了;
46.記錄下在和別人交流時發現的自己忽視或不理解的知識點;
47.請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version 100.XX;
48.保存好你寫過的所有的程序——那是你最好的積累之一;
49.請不要做浮躁的人;
50.請熱愛C++!
建議你買本書,書比網上的電子版教程好的多,如計算機屆超級權威教授 譚浩強 老先生寫的《C語言程序設計(第三版)》,全國發行了700萬冊,可以說是學C語言的人必看的書,我們大學就用這本書,很適合自學,通俗易懂
建議你學習其它計算機知識時也看他的書,他出的書很多,涵蓋面廣,每一本都很經典
這里有他的教程word版下載
另外,機械工業出版社的 計算機叢書系列也相當經典,全是翻譯國外經典教材,國外計算機發展早,水平比國內高很多,看這些教材事半功倍,推薦(美)Al Kelley Ira Pohl的《C語言教程第4版》
學習程序語言要持之以恆,不浮躁,祝你成功!
4. 推薦幾本好的C語言方面的書
1.《The C Programming Language》(《C程序設計語言》) ¥30
(美)Brian W.Kernighan,Dennis M.Ritchie (K&R)著 機械工業出版社
http://www.china-pub.com/computers/common/info.asp?id=14975
2.《C Primer Plus》(中文版) ¥60
(美)Stephen Prata 著 人民郵電出版社
3.《C語言入門經典》 ¥55
(美)霍頓(Horton,I.)著
4.《Programming in C》(《C語言編程》) ¥59
(美)Stephen Kochan 著 電子工業出版社
5.《Pointers On C》(《C指針》)
6.《Expert C Programming》(《C專家編程》)
7.《C Traps and Pitfalls》(《C缺陷和陷阱》)
第一本絕對是學習C語言必看的書,而且相對來說比較便宜,當然如果買英文版的就更好了(我在書店看的英文版是35RMB)