c語言公共基礎(chǔ)知識考點(2)
第五章 字符型數(shù)據(jù) 位運算
【考點1】字符常量
一個字符常量用一對單引號括起來,字符常量只能包括一個字符,’ab’是非法的??崭癯S?rsquo;□’來表示。字符常量可用對應(yīng)的ASCII碼表示,需記住:’0’的ASCII碼為48,’A’的ASCII碼為65,’a’的ASCII碼為97。
【考點2】轉(zhuǎn)義字符
一對單引號中以一個反斜線后跟一個特定字符或八進制、十六進制數(shù)來構(gòu)成轉(zhuǎn)義字符。比如’\n’表示換行,’1’或’\x41’表示ASCII碼為65的字符’A’。
【考點3】字符型數(shù)據(jù)可以和整型數(shù)據(jù)相互轉(zhuǎn)換
如:’0’-0=48 ‘A’+32=’a’ char a=65;printf(“%d%c”,a,a);結(jié)果為65A
【考點4】位運算符
C語言提供6種位運算符:按位求反~,按位左移<<,按位右移>>,按位與&,按位異或|,按位或^。一般情況下需要先轉(zhuǎn)化進制。異或運算的規(guī)則:0異或1得到1,0異或0得到0,1異或1得到0??捎洖?ldquo;相同為0,不同為1”。
【考點5】putchar與getchar函數(shù)
可用于輸出或輸入單個字符,這兩個函數(shù)是stdio.h文件中的庫函數(shù),它們是printf與scanf函數(shù)的簡化。
第六章 函數(shù)
【考點1】函數(shù)的定義
函數(shù)是具有一定功能的一個程序塊。函數(shù)的首部為:函數(shù)類型 函數(shù)名(類型1 形參1,類型2 形參2,„„)。在函數(shù)定義中不可以再定義函數(shù),即不能嵌套定義函數(shù)。函數(shù)類型默認為int型。
【考點2】庫函數(shù)
調(diào)用C語言標準庫函數(shù)時要包含include命令,include命令行以#開頭,后面是””或<>括起來的后綴為”.h”的頭文件。以#開頭的一行稱為編譯預(yù)處理命令行,編譯預(yù)處理不是C語言語句,不加分號,不占運行時間。
【考點3】函數(shù)的返回值
函數(shù)通過return語句返回一個值,返回的值類型與函數(shù)類型一樣。return語句只執(zhí)行一次,執(zhí)行完或函數(shù)體結(jié)束后退出函數(shù)。
【考點4】函數(shù)的聲明
函數(shù)要“先定義后調(diào)用”,或“先聲明再調(diào)用后定義”。函數(shù)的聲明一定要有函數(shù)名、函數(shù)返回值類型、函數(shù)參數(shù)類型,但不一定要有形參的名稱。
【考點5】函數(shù)的調(diào)用
程序從上往下執(zhí)行,當碰到函數(shù)名后,把值傳給調(diào)用函數(shù),當程序得到了返回值或調(diào)用函數(shù)結(jié)束,再順序往下執(zhí)行。
【考點6】函數(shù)的參數(shù)及值傳遞 形式參數(shù)簡稱形參,是定義函數(shù)時函數(shù)名后面括號中的參數(shù)。實在參數(shù)簡稱實參,是調(diào)用函數(shù)時函數(shù)名后面括號中的參數(shù)。實參和形參分別占據(jù)不同的存儲單元。實參向形參單向傳遞數(shù)值。
“傳值”與“傳址”的區(qū)別:傳數(shù)值的話,形參的變化不會改變實參的變化。傳地址的話,形參的變化就有可能改變實參所對應(yīng)的量。
【考點7】函數(shù)的遞歸調(diào)用
函數(shù)直接或間接地調(diào)用自己稱為函數(shù)的遞歸調(diào)用。遞歸調(diào)用必須有一個明確的結(jié)束遞歸的條件。在做遞歸題時可把遞歸的步驟一步步寫下來,不要弄顛倒了。 【考點8】要求掌握的庫函數(shù)
sqrt()算術(shù)平方根函數(shù),fabs()絕對值函數(shù),pow()冪函數(shù),sin()正弦函數(shù)
第七章 指針
【考點1】指針變量
指針變量是用來存儲地址的,而一般變量是存儲數(shù)值的。指針變量可指向任意一種數(shù)據(jù)類型,但不管它指向的數(shù)據(jù)占用多少字節(jié),一個指針變量占用四個字節(jié)。
【考點2】指針變量的定義
格式為:類型名 *指針變量名。二維指針int **p;可以理解為基類型為(int *)類型。
【考點3】指針變量的初始化
指針變量在使用前必須要初始化,把一個具體的地址賦給它,否則引用時會有副作用,如果不指向任何數(shù)據(jù)就賦“空值”NULL。
【考點4】指針變量的引用
&是取地址符,*是間接訪問運算符,它們是互逆的兩個運算符。在指針變量名前加間接訪問運算符就等價它所指向的量。
【考點5】指針的運算
*p++和(*p)++之間的差別:*p++是地址變化,(*p)++是指針變量所指的數(shù)據(jù)變化。一個指針變量加一個整數(shù)不是簡單的數(shù)學(xué)相加,而是連續(xù)移動若干地址。當兩個指針指向同一數(shù)組時,它們可以比較大小進行減法運算。
第八章 數(shù)組
【考點1】數(shù)組的定義
數(shù)組是一組具有相同類型的數(shù)據(jù)的集合,這些數(shù)據(jù)稱為數(shù)組元素。格式為:類型名 數(shù)組名[常量表達式]。數(shù)組的所占字節(jié)數(shù)為元素個數(shù)與基類型所占字節(jié)數(shù)的乘積。
【考點2】數(shù)組的初始化
第一維長度可以不寫,其它維必須寫。int a[]={1,2};合法,int a[][3]={2,3,4};合法,int a[2][]={2,3,4};非法。數(shù)組初始化元素值默認為0,沒有初始化元素值為隨機。如在int a[5]={0,1,2};中,元素a[4]值為0;而在int a[5];中,元素a[4]值為一個不確定的隨機數(shù)。
【考點3】元素的引用
數(shù)組元素的下標從0開始,到數(shù)組長度減1結(jié)束。所以int a[5];中數(shù)組最后一個元素是a[4]。要把數(shù)組元素看作一個整體,可以把a[4]當作一個整型變量。
【考點4】二維數(shù)組
數(shù)組a[2][3]={1,2,3,4,5,6};中含6個元素,有2行3列。第一行為a[0]行,第2行為a[1]行,a[0]、a[1]叫行首地址,是地址常量。*(a[0]+1)是第一行第一個元素往后跳一列,即元素a[0][1]值為2,*(a[0]+3)是第一行第一個元素往后跳三個,即元素a[1][0]值為4。
【考點5】行指針
是一個指針變量,占四個字節(jié),行指針指向一行連續(xù)數(shù)據(jù),形式為:int (*p)[2];,p只能存放含有兩個整型元素的一維數(shù)組的首地址。注意(*p)兩邊的小括號不能省略,否則就成了指針數(shù)組,是若干指針元素的集合。
【考點6】數(shù)組名
數(shù)組名是數(shù)組的首地址。數(shù)組名不能單獨引用,不能通過一個數(shù)組名代表全部元素。數(shù)組名是地址常量,不能對數(shù)組名賦值,所以a++是錯誤的。但數(shù)組名可以作為地址與一個整數(shù)相加得到一個新地址。
【考點7】元素形式的轉(zhuǎn)換
助記:“脫衣服法則”a[2]變成*(a+2),a[2][3]變成*(a+2)[3]再可變成*(*(a+2)+3)。
第九章 字符串
【考點1】字符串常量及表示
字符串常量是由雙引號括起來的一串字符,如”ABC”。在存儲字符串時,系統(tǒng)會自動在其尾部加上一個空值’
c語言公共基礎(chǔ)知識考點(2)
第五章 字符型數(shù)據(jù) 位運算
【考點1】字符常量
一個字符常量用一對單引號括起來,字符常量只能包括一個字符,’ab’是非法的??崭癯S?rsquo;□’來表示。字符常量可用對應(yīng)的ASCII碼表示,需記住:’0’的ASCII碼為48,’A’的ASCII碼為65,’a’的ASCII碼為97。
【考點2】轉(zhuǎn)義字符
一對單引號中以一個反斜線后跟一個特定字符或八進制、十六進制數(shù)來構(gòu)成轉(zhuǎn)義字符。比如’\n’表示換行,’\101’或’\x41’表示ASCII碼為65的字符’A’。
【考點3】字符型數(shù)據(jù)可以和整型數(shù)據(jù)相互轉(zhuǎn)換
如:’0’-0=48 ‘A’+32=’a’ char a=65;printf(“%d%c”,a,a);結(jié)果為65A
【考點4】位運算符
C語言提供6種位運算符:按位求反~,按位左移<<,按位右移>>,按位與&,按位異或|,按位或^。一般情況下需要先轉(zhuǎn)化進制。異或運算的規(guī)則:0異或1得到1,0異或0得到0,1異或1得到0??捎洖?ldquo;相同為0,不同為1”。
【考點5】putchar與getchar函數(shù)
可用于輸出或輸入單個字符,這兩個函數(shù)是stdio.h文件中的庫函數(shù),它們是printf與scanf函數(shù)的簡化。
第六章 函數(shù)
【考點1】函數(shù)的定義
函數(shù)是具有一定功能的一個程序塊。函數(shù)的首部為:函數(shù)類型 函數(shù)名(類型1 形參1,類型2 形參2,„„)。在函數(shù)定義中不可以再定義函數(shù),即不能嵌套定義函數(shù)。函數(shù)類型默認為int型。
【考點2】庫函數(shù)
調(diào)用C語言標準庫函數(shù)時要包含include命令,include命令行以#開頭,后面是””或<>括起來的后綴為”.h”的頭文件。以#開頭的一行稱為編譯預(yù)處理命令行,編譯預(yù)處理不是C語言語句,不加分號,不占運行時間。
【考點3】函數(shù)的返回值
函數(shù)通過return語句返回一個值,返回的值類型與函數(shù)類型一樣。return語句只執(zhí)行一次,執(zhí)行完或函數(shù)體結(jié)束后退出函數(shù)。
【考點4】函數(shù)的聲明
函數(shù)要“先定義后調(diào)用”,或“先聲明再調(diào)用后定義”。函數(shù)的聲明一定要有函數(shù)名、函數(shù)返回值類型、函數(shù)參數(shù)類型,但不一定要有形參的名稱。
【考點5】函數(shù)的調(diào)用
程序從上往下執(zhí)行,當碰到函數(shù)名后,把值傳給調(diào)用函數(shù),當程序得到了返回值或調(diào)用函數(shù)結(jié)束,再順序往下執(zhí)行。
【考點6】函數(shù)的參數(shù)及值傳遞 形式參數(shù)簡稱形參,是定義函數(shù)時函數(shù)名后面括號中的參數(shù)。實在參數(shù)簡稱實參,是調(diào)用函數(shù)時函數(shù)名后面括號中的參數(shù)。實參和形參分別占據(jù)不同的存儲單元。實參向形參單向傳遞數(shù)值。
“傳值”與“傳址”的區(qū)別:傳數(shù)值的話,形參的變化不會改變實參的變化。傳地址的話,形參的變化就有可能改變實參所對應(yīng)的量。
【考點7】函數(shù)的遞歸調(diào)用
函數(shù)直接或間接地調(diào)用自己稱為函數(shù)的遞歸調(diào)用。遞歸調(diào)用必須有一個明確的結(jié)束遞歸的條件。在做遞歸題時可把遞歸的步驟一步步寫下來,不要弄顛倒了。 【考點8】要求掌握的庫函數(shù)
sqrt()算術(shù)平方根函數(shù),fabs()絕對值函數(shù),pow()冪函數(shù),sin()正弦函數(shù)
第七章 指針
【考點1】指針變量
指針變量是用來存儲地址的,而一般變量是存儲數(shù)值的。指針變量可指向任意一種數(shù)據(jù)類型,但不管它指向的數(shù)據(jù)占用多少字節(jié),一個指針變量占用四個字節(jié)。
【考點2】指針變量的定義
格式為:類型名 *指針變量名。二維指針int **p;可以理解為基類型為(int *)類型。
【考點3】指針變量的初始化
指針變量在使用前必須要初始化,把一個具體的地址賦給它,否則引用時會有副作用,如果不指向任何數(shù)據(jù)就賦“空值”NULL。
【考點4】指針變量的引用
&是取地址符,*是間接訪問運算符,它們是互逆的兩個運算符。在指針變量名前加間接訪問運算符就等價它所指向的量。
【考點5】指針的運算
*p++和(*p)++之間的差別:*p++是地址變化,(*p)++是指針變量所指的數(shù)據(jù)變化。一個指針變量加一個整數(shù)不是簡單的數(shù)學(xué)相加,而是連續(xù)移動若干地址。當兩個指針指向同一數(shù)組時,它們可以比較大小進行減法運算。
第八章 數(shù)組
【考點1】數(shù)組的定義
數(shù)組是一組具有相同類型的數(shù)據(jù)的集合,這些數(shù)據(jù)稱為數(shù)組元素。格式為:類型名 數(shù)組名[常量表達式]。數(shù)組的所占字節(jié)數(shù)為元素個數(shù)與基類型所占字節(jié)數(shù)的乘積。
【考點2】數(shù)組的初始化
第一維長度可以不寫,其它維必須寫。int a[]={1,2};合法,int a[][3]={2,3,4};合法,int a[2][]={2,3,4};非法。數(shù)組初始化元素值默認為0,沒有初始化元素值為隨機。如在int a[5]={0,1,2};中,元素a[4]值為0;而在int a[5];中,元素a[4]值為一個不確定的隨機數(shù)。
【考點3】元素的引用
數(shù)組元素的下標從0開始,到數(shù)組長度減1結(jié)束。所以int a[5];中數(shù)組最后一個元素是a[4]。要把數(shù)組元素看作一個整體,可以把a[4]當作一個整型變量。
【考點4】二維數(shù)組
數(shù)組a[2][3]={1,2,3,4,5,6};中含6個元素,有2行3列。第一行為a[0]行,第2行為a[1]行,a[0]、a[1]叫行首地址,是地址常量。*(a[0]+1)是第一行第一個元素往后跳一列,即元素a[0][1]值為2,*(a[0]+3)是第一行第一個元素往后跳三個,即元素a[1][0]值為4。
【考點5】行指針
是一個指針變量,占四個字節(jié),行指針指向一行連續(xù)數(shù)據(jù),形式為:int (*p)[2];,p只能存放含有兩個整型元素的一維數(shù)組的首地址。注意(*p)兩邊的小括號不能省略,否則就成了指針數(shù)組,是若干指針元素的集合。
【考點6】數(shù)組名
數(shù)組名是數(shù)組的首地址。數(shù)組名不能單獨引用,不能通過一個數(shù)組名代表全部元素。數(shù)組名是地址常量,不能對數(shù)組名賦值,所以a++是錯誤的。但數(shù)組名可以作為地址與一個整數(shù)相加得到一個新地址。
【考點7】元素形式的轉(zhuǎn)換
助記:“脫衣服法則”a[2]變成*(a+2),a[2][3]變成*(a+2)[3]再可變成*(*(a+2)+3)。
第九章 字符串
【考點1】字符串常量及表示
字符串常量是由雙引號括起來的一串字符,如”ABC”。在存儲字符串時,系統(tǒng)會自動在其尾部加上一個空值’\0’,空值也要占用一個字節(jié),也就是字符串”ABC”需要占四個字節(jié)。
【考點2】字符數(shù)組
C語言沒有字符串變量,只能采用字符數(shù)組來存儲字符串。數(shù)組的大小應(yīng)該比它將要實際存放的最長字符串多一個元素,從而存放’\0’。
【考點3】字符串賦值
可以用下面的形式進行賦值:char str[]=”Hello!”;或char *p;p=”Hello!”;,但不能用下面的形式:char str[10];str=”Hello”;因為str是一個地址常量,不能進行賦值操作。
【考點4】字符串的輸入與輸出
可以用scanf和printf函數(shù),如scanf(”%s”,str);,也可用專門處理字符串的兩個函數(shù)gets和puts函數(shù),還可以對字符數(shù)組逐個元素進行賦值,但一定要在最后賦一個’\0’。使用gets函數(shù)可以接收空格,使用puts函數(shù)在最后輸出一個換行。
【考點5】字符串函數(shù)
要掌握的四個字符串函數(shù):字符串拷貝函數(shù)strcpy(),求字符串長度函數(shù)strlen(),字符串鏈接函數(shù)strcat(),字符串比較函數(shù)strcmp()。使用這些函數(shù)需在預(yù)處理部分包含頭文件”string.h”。 字符串長度要小于字符數(shù)組的長度,例:char str[10]=”Hello”;sizeof(str)的值為10(數(shù)組長度),strlen(str)的值為5(字符串長度)。這些函數(shù)是考試常用到的函數(shù),大家一定要熟練應(yīng)用這幾個函數(shù)。
第十章 結(jié)構(gòu)體與共用體
【考點1】結(jié)構(gòu)體類型的說明
結(jié)構(gòu)體是若干個類型數(shù)據(jù)的集合,結(jié)構(gòu)體類型說明格式如下:struct 類型名 {類型1 成員名1;類型2 成員名2;„„};,以上整個部分是一個數(shù)據(jù)類型,與整型的int是同樣地位。可用typedef把結(jié)構(gòu)體類型替換成一個只有幾個字母的簡短標識符。
【考點2】結(jié)構(gòu)體變量的定義
結(jié)構(gòu)體變量是用說明的結(jié)構(gòu)體類型所定義的一個變量,與結(jié)構(gòu)體類型不是一回事。一個結(jié)構(gòu)體變量所占字節(jié)數(shù)為其所有成員所占字節(jié)數(shù)之和。如struct stu{char name[10];int age;} a,b;則表明定義了兩個結(jié)構(gòu)體變量a,b,每個變量占14個字節(jié)。a,b與int i,j;中的變量i,j是同樣地位。
【考點3】結(jié)構(gòu)體成員的引用
引用成員可用以下3種方式:(1)結(jié)構(gòu)體變量名.成員名;(2)指針變量名->成員名:(3)(*指針變量名).成員名。點(.)稱為成員運算符,箭頭(->)稱為結(jié)構(gòu)指向運算符。
【考點4】鏈表
鏈表是由一個個結(jié)點構(gòu)成的,一個結(jié)點就是一個結(jié)構(gòu)體變量。每個結(jié)點可以分為數(shù)據(jù)域與指針域兩個部分,數(shù)據(jù)域用來存放要存儲的數(shù)據(jù),指針域用來指向下一個結(jié)點。鏈表是考試中的難點,在C語言和公共基礎(chǔ)部分都會考到,要領(lǐng)悟掌握。
【考點5】共用體
共用體的使用格式與結(jié)構(gòu)體相似,共用體定義的關(guān)鍵字為union,共用體所占字節(jié)數(shù)是所有成員中字節(jié)數(shù)最大的那個。
第十一章 文件
【考點1】文件類型指針
文件指針是一個指向結(jié)構(gòu)體類型的指針,定義格式為:FILE *指針變量名。在使用文件時,都需要先定義文件指針。
【考點2】文本文件與二進制文件
文本形式存放的是字符的ASCII碼,二進制形式存放的是數(shù)據(jù)的二進制。例如“100”如果是文本形式就是存儲’1’、 ’0’、 ’0’三個字符的ASCII碼(00110001 00110000 00110000),如果是二進制形式就把100轉(zhuǎn)化成二進制(01100100)。
【考點3】打開文件
文件的打開形式如下:FILE *fp; fp=fopen(“c:\\lab.c”,”rb”);。fopen函數(shù)的前面一部分為文件名,后面一部分為文件的使用方式。打開方式詳見教材第127頁,其中r代表讀,w代表寫,a代表添加,b代表二進制位的。
【考點4】文件函數(shù)
判斷文件結(jié)束feof函數(shù),移動文件指針位置fseek函數(shù),獲得文件位置ftell函數(shù),文件位置移到開頭rewind函數(shù),文件字符輸入
看過“c語言公共基礎(chǔ)知識考點“的人還看了:
【考點2】字符數(shù)組
C語言沒有字符串變量,只能采用字符數(shù)組來存儲字符串。數(shù)組的大小應(yīng)該比它將要實際存放的最長字符串多一個元素,從而存放’
c語言公共基礎(chǔ)知識考點(2)
第五章 字符型數(shù)據(jù) 位運算
【考點1】字符常量
一個字符常量用一對單引號括起來,字符常量只能包括一個字符,’ab’是非法的??崭癯S?rsquo;□’來表示。字符常量可用對應(yīng)的ASCII碼表示,需記住:’0’的ASCII碼為48,’A’的ASCII碼為65,’a’的ASCII碼為97。
【考點2】轉(zhuǎn)義字符
一對單引號中以一個反斜線后跟一個特定字符或八進制、十六進制數(shù)來構(gòu)成轉(zhuǎn)義字符。比如’\n’表示換行,’\101’或’\x41’表示ASCII碼為65的字符’A’。
【考點3】字符型數(shù)據(jù)可以和整型數(shù)據(jù)相互轉(zhuǎn)換
如:’0’-0=48 ‘A’+32=’a’ char a=65;printf(“%d%c”,a,a);結(jié)果為65A
【考點4】位運算符
C語言提供6種位運算符:按位求反~,按位左移<<,按位右移>>,按位與&,按位異或|,按位或^。一般情況下需要先轉(zhuǎn)化進制。異或運算的規(guī)則:0異或1得到1,0異或0得到0,1異或1得到0??捎洖?ldquo;相同為0,不同為1”。
【考點5】putchar與getchar函數(shù)
可用于輸出或輸入單個字符,這兩個函數(shù)是stdio.h文件中的庫函數(shù),它們是printf與scanf函數(shù)的簡化。
第六章 函數(shù)
【考點1】函數(shù)的定義
函數(shù)是具有一定功能的一個程序塊。函數(shù)的首部為:函數(shù)類型 函數(shù)名(類型1 形參1,類型2 形參2,„„)。在函數(shù)定義中不可以再定義函數(shù),即不能嵌套定義函數(shù)。函數(shù)類型默認為int型。
【考點2】庫函數(shù)
調(diào)用C語言標準庫函數(shù)時要包含include命令,include命令行以#開頭,后面是””或<>括起來的后綴為”.h”的頭文件。以#開頭的一行稱為編譯預(yù)處理命令行,編譯預(yù)處理不是C語言語句,不加分號,不占運行時間。
【考點3】函數(shù)的返回值
函數(shù)通過return語句返回一個值,返回的值類型與函數(shù)類型一樣。return語句只執(zhí)行一次,執(zhí)行完或函數(shù)體結(jié)束后退出函數(shù)。
【考點4】函數(shù)的聲明
函數(shù)要“先定義后調(diào)用”,或“先聲明再調(diào)用后定義”。函數(shù)的聲明一定要有函數(shù)名、函數(shù)返回值類型、函數(shù)參數(shù)類型,但不一定要有形參的名稱。
【考點5】函數(shù)的調(diào)用
程序從上往下執(zhí)行,當碰到函數(shù)名后,把值傳給調(diào)用函數(shù),當程序得到了返回值或調(diào)用函數(shù)結(jié)束,再順序往下執(zhí)行。
【考點6】函數(shù)的參數(shù)及值傳遞 形式參數(shù)簡稱形參,是定義函數(shù)時函數(shù)名后面括號中的參數(shù)。實在參數(shù)簡稱實參,是調(diào)用函數(shù)時函數(shù)名后面括號中的參數(shù)。實參和形參分別占據(jù)不同的存儲單元。實參向形參單向傳遞數(shù)值。
“傳值”與“傳址”的區(qū)別:傳數(shù)值的話,形參的變化不會改變實參的變化。傳地址的話,形參的變化就有可能改變實參所對應(yīng)的量。
【考點7】函數(shù)的遞歸調(diào)用
函數(shù)直接或間接地調(diào)用自己稱為函數(shù)的遞歸調(diào)用。遞歸調(diào)用必須有一個明確的結(jié)束遞歸的條件。在做遞歸題時可把遞歸的步驟一步步寫下來,不要弄顛倒了。 【考點8】要求掌握的庫函數(shù)
sqrt()算術(shù)平方根函數(shù),fabs()絕對值函數(shù),pow()冪函數(shù),sin()正弦函數(shù)
第七章 指針
【考點1】指針變量
指針變量是用來存儲地址的,而一般變量是存儲數(shù)值的。指針變量可指向任意一種數(shù)據(jù)類型,但不管它指向的數(shù)據(jù)占用多少字節(jié),一個指針變量占用四個字節(jié)。
【考點2】指針變量的定義
格式為:類型名 *指針變量名。二維指針int **p;可以理解為基類型為(int *)類型。
【考點3】指針變量的初始化
指針變量在使用前必須要初始化,把一個具體的地址賦給它,否則引用時會有副作用,如果不指向任何數(shù)據(jù)就賦“空值”NULL。
【考點4】指針變量的引用
&是取地址符,*是間接訪問運算符,它們是互逆的兩個運算符。在指針變量名前加間接訪問運算符就等價它所指向的量。
【考點5】指針的運算
*p++和(*p)++之間的差別:*p++是地址變化,(*p)++是指針變量所指的數(shù)據(jù)變化。一個指針變量加一個整數(shù)不是簡單的數(shù)學(xué)相加,而是連續(xù)移動若干地址。當兩個指針指向同一數(shù)組時,它們可以比較大小進行減法運算。
第八章 數(shù)組
【考點1】數(shù)組的定義
數(shù)組是一組具有相同類型的數(shù)據(jù)的集合,這些數(shù)據(jù)稱為數(shù)組元素。格式為:類型名 數(shù)組名[常量表達式]。數(shù)組的所占字節(jié)數(shù)為元素個數(shù)與基類型所占字節(jié)數(shù)的乘積。
【考點2】數(shù)組的初始化
第一維長度可以不寫,其它維必須寫。int a[]={1,2};合法,int a[][3]={2,3,4};合法,int a[2][]={2,3,4};非法。數(shù)組初始化元素值默認為0,沒有初始化元素值為隨機。如在int a[5]={0,1,2};中,元素a[4]值為0;而在int a[5];中,元素a[4]值為一個不確定的隨機數(shù)。
【考點3】元素的引用
數(shù)組元素的下標從0開始,到數(shù)組長度減1結(jié)束。所以int a[5];中數(shù)組最后一個元素是a[4]。要把數(shù)組元素看作一個整體,可以把a[4]當作一個整型變量。
【考點4】二維數(shù)組
數(shù)組a[2][3]={1,2,3,4,5,6};中含6個元素,有2行3列。第一行為a[0]行,第2行為a[1]行,a[0]、a[1]叫行首地址,是地址常量。*(a[0]+1)是第一行第一個元素往后跳一列,即元素a[0][1]值為2,*(a[0]+3)是第一行第一個元素往后跳三個,即元素a[1][0]值為4。
【考點5】行指針
是一個指針變量,占四個字節(jié),行指針指向一行連續(xù)數(shù)據(jù),形式為:int (*p)[2];,p只能存放含有兩個整型元素的一維數(shù)組的首地址。注意(*p)兩邊的小括號不能省略,否則就成了指針數(shù)組,是若干指針元素的集合。
【考點6】數(shù)組名
數(shù)組名是數(shù)組的首地址。數(shù)組名不能單獨引用,不能通過一個數(shù)組名代表全部元素。數(shù)組名是地址常量,不能對數(shù)組名賦值,所以a++是錯誤的。但數(shù)組名可以作為地址與一個整數(shù)相加得到一個新地址。
【考點7】元素形式的轉(zhuǎn)換
助記:“脫衣服法則”a[2]變成*(a+2),a[2][3]變成*(a+2)[3]再可變成*(*(a+2)+3)。
第九章 字符串
【考點1】字符串常量及表示
字符串常量是由雙引號括起來的一串字符,如”ABC”。在存儲字符串時,系統(tǒng)會自動在其尾部加上一個空值’\0’,空值也要占用一個字節(jié),也就是字符串”ABC”需要占四個字節(jié)。
【考點2】字符數(shù)組
C語言沒有字符串變量,只能采用字符數(shù)組來存儲字符串。數(shù)組的大小應(yīng)該比它將要實際存放的最長字符串多一個元素,從而存放’\0’。
【考點3】字符串賦值
可以用下面的形式進行賦值:char str[]=”Hello!”;或char *p;p=”Hello!”;,但不能用下面的形式:char str[10];str=”Hello”;因為str是一個地址常量,不能進行賦值操作。
【考點4】字符串的輸入與輸出
可以用scanf和printf函數(shù),如scanf(”%s”,str);,也可用專門處理字符串的兩個函數(shù)gets和puts函數(shù),還可以對字符數(shù)組逐個元素進行賦值,但一定要在最后賦一個’\0’。使用gets函數(shù)可以接收空格,使用puts函數(shù)在最后輸出一個換行。
【考點5】字符串函數(shù)
要掌握的四個字符串函數(shù):字符串拷貝函數(shù)strcpy(),求字符串長度函數(shù)strlen(),字符串鏈接函數(shù)strcat(),字符串比較函數(shù)strcmp()。使用這些函數(shù)需在預(yù)處理部分包含頭文件”string.h”。 字符串長度要小于字符數(shù)組的長度,例:char str[10]=”Hello”;sizeof(str)的值為10(數(shù)組長度),strlen(str)的值為5(字符串長度)。這些函數(shù)是考試常用到的函數(shù),大家一定要熟練應(yīng)用這幾個函數(shù)。
第十章 結(jié)構(gòu)體與共用體
【考點1】結(jié)構(gòu)體類型的說明
結(jié)構(gòu)體是若干個類型數(shù)據(jù)的集合,結(jié)構(gòu)體類型說明格式如下:struct 類型名 {類型1 成員名1;類型2 成員名2;„„};,以上整個部分是一個數(shù)據(jù)類型,與整型的int是同樣地位。可用typedef把結(jié)構(gòu)體類型替換成一個只有幾個字母的簡短標識符。
【考點2】結(jié)構(gòu)體變量的定義
結(jié)構(gòu)體變量是用說明的結(jié)構(gòu)體類型所定義的一個變量,與結(jié)構(gòu)體類型不是一回事。一個結(jié)構(gòu)體變量所占字節(jié)數(shù)為其所有成員所占字節(jié)數(shù)之和。如struct stu{char name[10];int age;} a,b;則表明定義了兩個結(jié)構(gòu)體變量a,b,每個變量占14個字節(jié)。a,b與int i,j;中的變量i,j是同樣地位。
【考點3】結(jié)構(gòu)體成員的引用
引用成員可用以下3種方式:(1)結(jié)構(gòu)體變量名.成員名;(2)指針變量名->成員名:(3)(*指針變量名).成員名。點(.)稱為成員運算符,箭頭(->)稱為結(jié)構(gòu)指向運算符。
【考點4】鏈表
鏈表是由一個個結(jié)點構(gòu)成的,一個結(jié)點就是一個結(jié)構(gòu)體變量。每個結(jié)點可以分為數(shù)據(jù)域與指針域兩個部分,數(shù)據(jù)域用來存放要存儲的數(shù)據(jù),指針域用來指向下一個結(jié)點。鏈表是考試中的難點,在C語言和公共基礎(chǔ)部分都會考到,要領(lǐng)悟掌握。
【考點5】共用體
共用體的使用格式與結(jié)構(gòu)體相似,共用體定義的關(guān)鍵字為union,共用體所占字節(jié)數(shù)是所有成員中字節(jié)數(shù)最大的那個。
第十一章 文件
【考點1】文件類型指針
文件指針是一個指向結(jié)構(gòu)體類型的指針,定義格式為:FILE *指針變量名。在使用文件時,都需要先定義文件指針。
【考點2】文本文件與二進制文件
文本形式存放的是字符的ASCII碼,二進制形式存放的是數(shù)據(jù)的二進制。例如“100”如果是文本形式就是存儲’1’、 ’0’、 ’0’三個字符的ASCII碼(00110001 00110000 00110000),如果是二進制形式就把100轉(zhuǎn)化成二進制(01100100)。
【考點3】打開文件
文件的打開形式如下:FILE *fp; fp=fopen(“c:\\lab.c”,”rb”);。fopen函數(shù)的前面一部分為文件名,后面一部分為文件的使用方式。打開方式詳見教材第127頁,其中r代表讀,w代表寫,a代表添加,b代表二進制位的。
【考點4】文件函數(shù)
判斷文件結(jié)束feof函數(shù),移動文件指針位置fseek函數(shù),獲得文件位置ftell函數(shù),文件位置移到開頭rewind函數(shù),文件字符輸入
看過“c語言公共基礎(chǔ)知識考點“的人還看了:
【考點3】字符串賦值
可以用下面的形式進行賦值:char str[]=”Hello!”;或char *p;p=”Hello!”;,但不能用下面的形式:char str[10];str=”Hello”;因為str是一個地址常量,不能進行賦值操作。
【考點4】字符串的輸入與輸出
可以用scanf和printf函數(shù),如scanf(”%s”,str);,也可用專門處理字符串的兩個函數(shù)gets和puts函數(shù),還可以對字符數(shù)組逐個元素進行賦值,但一定要在最后賦一個’
c語言公共基礎(chǔ)知識考點(2)
第五章 字符型數(shù)據(jù) 位運算
【考點1】字符常量
一個字符常量用一對單引號括起來,字符常量只能包括一個字符,’ab’是非法的。空格常用’□’來表示。字符常量可用對應(yīng)的ASCII碼表示,需記?。?rsquo;0’的ASCII碼為48,’A’的ASCII碼為65,’a’的ASCII碼為97。
【考點2】轉(zhuǎn)義字符
一對單引號中以一個反斜線后跟一個特定字符或八進制、十六進制數(shù)來構(gòu)成轉(zhuǎn)義字符。比如’\n’表示換行,’\101’或’\x41’表示ASCII碼為65的字符’A’。
【考點3】字符型數(shù)據(jù)可以和整型數(shù)據(jù)相互轉(zhuǎn)換
如:’0’-0=48 ‘A’+32=’a’ char a=65;printf(“%d%c”,a,a);結(jié)果為65A
【考點4】位運算符
C語言提供6種位運算符:按位求反~,按位左移<<,按位右移>>,按位與&,按位異或|,按位或^。一般情況下需要先轉(zhuǎn)化進制。異或運算的規(guī)則:0異或1得到1,0異或0得到0,1異或1得到0??捎洖?ldquo;相同為0,不同為1”。
【考點5】putchar與getchar函數(shù)
可用于輸出或輸入單個字符,這兩個函數(shù)是stdio.h文件中的庫函數(shù),它們是printf與scanf函數(shù)的簡化。
第六章 函數(shù)
【考點1】函數(shù)的定義
函數(shù)是具有一定功能的一個程序塊。函數(shù)的首部為:函數(shù)類型 函數(shù)名(類型1 形參1,類型2 形參2,„„)。在函數(shù)定義中不可以再定義函數(shù),即不能嵌套定義函數(shù)。函數(shù)類型默認為int型。
【考點2】庫函數(shù)
調(diào)用C語言標準庫函數(shù)時要包含include命令,include命令行以#開頭,后面是””或<>括起來的后綴為”.h”的頭文件。以#開頭的一行稱為編譯預(yù)處理命令行,編譯預(yù)處理不是C語言語句,不加分號,不占運行時間。
【考點3】函數(shù)的返回值
函數(shù)通過return語句返回一個值,返回的值類型與函數(shù)類型一樣。return語句只執(zhí)行一次,執(zhí)行完或函數(shù)體結(jié)束后退出函數(shù)。
【考點4】函數(shù)的聲明
函數(shù)要“先定義后調(diào)用”,或“先聲明再調(diào)用后定義”。函數(shù)的聲明一定要有函數(shù)名、函數(shù)返回值類型、函數(shù)參數(shù)類型,但不一定要有形參的名稱。
【考點5】函數(shù)的調(diào)用
程序從上往下執(zhí)行,當碰到函數(shù)名后,把值傳給調(diào)用函數(shù),當程序得到了返回值或調(diào)用函數(shù)結(jié)束,再順序往下執(zhí)行。
【考點6】函數(shù)的參數(shù)及值傳遞 形式參數(shù)簡稱形參,是定義函數(shù)時函數(shù)名后面括號中的參數(shù)。實在參數(shù)簡稱實參,是調(diào)用函數(shù)時函數(shù)名后面括號中的參數(shù)。實參和形參分別占據(jù)不同的存儲單元。實參向形參單向傳遞數(shù)值。
“傳值”與“傳址”的區(qū)別:傳數(shù)值的話,形參的變化不會改變實參的變化。傳地址的話,形參的變化就有可能改變實參所對應(yīng)的量。
【考點7】函數(shù)的遞歸調(diào)用
函數(shù)直接或間接地調(diào)用自己稱為函數(shù)的遞歸調(diào)用。遞歸調(diào)用必須有一個明確的結(jié)束遞歸的條件。在做遞歸題時可把遞歸的步驟一步步寫下來,不要弄顛倒了。 【考點8】要求掌握的庫函數(shù)
sqrt()算術(shù)平方根函數(shù),fabs()絕對值函數(shù),pow()冪函數(shù),sin()正弦函數(shù)
第七章 指針
【考點1】指針變量
指針變量是用來存儲地址的,而一般變量是存儲數(shù)值的。指針變量可指向任意一種數(shù)據(jù)類型,但不管它指向的數(shù)據(jù)占用多少字節(jié),一個指針變量占用四個字節(jié)。
【考點2】指針變量的定義
格式為:類型名 *指針變量名。二維指針int **p;可以理解為基類型為(int *)類型。
【考點3】指針變量的初始化
指針變量在使用前必須要初始化,把一個具體的地址賦給它,否則引用時會有副作用,如果不指向任何數(shù)據(jù)就賦“空值”NULL。
【考點4】指針變量的引用
&是取地址符,*是間接訪問運算符,它們是互逆的兩個運算符。在指針變量名前加間接訪問運算符就等價它所指向的量。
【考點5】指針的運算
*p++和(*p)++之間的差別:*p++是地址變化,(*p)++是指針變量所指的數(shù)據(jù)變化。一個指針變量加一個整數(shù)不是簡單的數(shù)學(xué)相加,而是連續(xù)移動若干地址。當兩個指針指向同一數(shù)組時,它們可以比較大小進行減法運算。
第八章 數(shù)組
【考點1】數(shù)組的定義
數(shù)組是一組具有相同類型的數(shù)據(jù)的集合,這些數(shù)據(jù)稱為數(shù)組元素。格式為:類型名 數(shù)組名[常量表達式]。數(shù)組的所占字節(jié)數(shù)為元素個數(shù)與基類型所占字節(jié)數(shù)的乘積。
【考點2】數(shù)組的初始化
第一維長度可以不寫,其它維必須寫。int a[]={1,2};合法,int a[][3]={2,3,4};合法,int a[2][]={2,3,4};非法。數(shù)組初始化元素值默認為0,沒有初始化元素值為隨機。如在int a[5]={0,1,2};中,元素a[4]值為0;而在int a[5];中,元素a[4]值為一個不確定的隨機數(shù)。
【考點3】元素的引用
數(shù)組元素的下標從0開始,到數(shù)組長度減1結(jié)束。所以int a[5];中數(shù)組最后一個元素是a[4]。要把數(shù)組元素看作一個整體,可以把a[4]當作一個整型變量。
【考點4】二維數(shù)組
數(shù)組a[2][3]={1,2,3,4,5,6};中含6個元素,有2行3列。第一行為a[0]行,第2行為a[1]行,a[0]、a[1]叫行首地址,是地址常量。*(a[0]+1)是第一行第一個元素往后跳一列,即元素a[0][1]值為2,*(a[0]+3)是第一行第一個元素往后跳三個,即元素a[1][0]值為4。
【考點5】行指針
是一個指針變量,占四個字節(jié),行指針指向一行連續(xù)數(shù)據(jù),形式為:int (*p)[2];,p只能存放含有兩個整型元素的一維數(shù)組的首地址。注意(*p)兩邊的小括號不能省略,否則就成了指針數(shù)組,是若干指針元素的集合。
【考點6】數(shù)組名
數(shù)組名是數(shù)組的首地址。數(shù)組名不能單獨引用,不能通過一個數(shù)組名代表全部元素。數(shù)組名是地址常量,不能對數(shù)組名賦值,所以a++是錯誤的。但數(shù)組名可以作為地址與一個整數(shù)相加得到一個新地址。
【考點7】元素形式的轉(zhuǎn)換
助記:“脫衣服法則”a[2]變成*(a+2),a[2][3]變成*(a+2)[3]再可變成*(*(a+2)+3)。
第九章 字符串
【考點1】字符串常量及表示
字符串常量是由雙引號括起來的一串字符,如”ABC”。在存儲字符串時,系統(tǒng)會自動在其尾部加上一個空值’\0’,空值也要占用一個字節(jié),也就是字符串”ABC”需要占四個字節(jié)。
【考點2】字符數(shù)組
C語言沒有字符串變量,只能采用字符數(shù)組來存儲字符串。數(shù)組的大小應(yīng)該比它將要實際存放的最長字符串多一個元素,從而存放’\0’。
【考點3】字符串賦值
可以用下面的形式進行賦值:char str[]=”Hello!”;或char *p;p=”Hello!”;,但不能用下面的形式:char str[10];str=”Hello”;因為str是一個地址常量,不能進行賦值操作。
【考點4】字符串的輸入與輸出
可以用scanf和printf函數(shù),如scanf(”%s”,str);,也可用專門處理字符串的兩個函數(shù)gets和puts函數(shù),還可以對字符數(shù)組逐個元素進行賦值,但一定要在最后賦一個’\0’。使用gets函數(shù)可以接收空格,使用puts函數(shù)在最后輸出一個換行。
【考點5】字符串函數(shù)
要掌握的四個字符串函數(shù):字符串拷貝函數(shù)strcpy(),求字符串長度函數(shù)strlen(),字符串鏈接函數(shù)strcat(),字符串比較函數(shù)strcmp()。使用這些函數(shù)需在預(yù)處理部分包含頭文件”string.h”。 字符串長度要小于字符數(shù)組的長度,例:char str[10]=”Hello”;sizeof(str)的值為10(數(shù)組長度),strlen(str)的值為5(字符串長度)。這些函數(shù)是考試常用到的函數(shù),大家一定要熟練應(yīng)用這幾個函數(shù)。
第十章 結(jié)構(gòu)體與共用體
【考點1】結(jié)構(gòu)體類型的說明
結(jié)構(gòu)體是若干個類型數(shù)據(jù)的集合,結(jié)構(gòu)體類型說明格式如下:struct 類型名 {類型1 成員名1;類型2 成員名2;„„};,以上整個部分是一個數(shù)據(jù)類型,與整型的int是同樣地位??捎胻ypedef把結(jié)構(gòu)體類型替換成一個只有幾個字母的簡短標識符。
【考點2】結(jié)構(gòu)體變量的定義
結(jié)構(gòu)體變量是用說明的結(jié)構(gòu)體類型所定義的一個變量,與結(jié)構(gòu)體類型不是一回事。一個結(jié)構(gòu)體變量所占字節(jié)數(shù)為其所有成員所占字節(jié)數(shù)之和。如struct stu{char name[10];int age;} a,b;則表明定義了兩個結(jié)構(gòu)體變量a,b,每個變量占14個字節(jié)。a,b與int i,j;中的變量i,j是同樣地位。
【考點3】結(jié)構(gòu)體成員的引用
引用成員可用以下3種方式:(1)結(jié)構(gòu)體變量名.成員名;(2)指針變量名->成員名:(3)(*指針變量名).成員名。點(.)稱為成員運算符,箭頭(->)稱為結(jié)構(gòu)指向運算符。
【考點4】鏈表
鏈表是由一個個結(jié)點構(gòu)成的,一個結(jié)點就是一個結(jié)構(gòu)體變量。每個結(jié)點可以分為數(shù)據(jù)域與指針域兩個部分,數(shù)據(jù)域用來存放要存儲的數(shù)據(jù),指針域用來指向下一個結(jié)點。鏈表是考試中的難點,在C語言和公共基礎(chǔ)部分都會考到,要領(lǐng)悟掌握。
【考點5】共用體
共用體的使用格式與結(jié)構(gòu)體相似,共用體定義的關(guān)鍵字為union,共用體所占字節(jié)數(shù)是所有成員中字節(jié)數(shù)最大的那個。
第十一章 文件
【考點1】文件類型指針
文件指針是一個指向結(jié)構(gòu)體類型的指針,定義格式為:FILE *指針變量名。在使用文件時,都需要先定義文件指針。
【考點2】文本文件與二進制文件
文本形式存放的是字符的ASCII碼,二進制形式存放的是數(shù)據(jù)的二進制。例如“100”如果是文本形式就是存儲’1’、 ’0’、 ’0’三個字符的ASCII碼(00110001 00110000 00110000),如果是二進制形式就把100轉(zhuǎn)化成二進制(01100100)。
【考點3】打開文件
文件的打開形式如下:FILE *fp; fp=fopen(“c:\\lab.c”,”rb”);。fopen函數(shù)的前面一部分為文件名,后面一部分為文件的使用方式。打開方式詳見教材第127頁,其中r代表讀,w代表寫,a代表添加,b代表二進制位的。
【考點4】文件函數(shù)
判斷文件結(jié)束feof函數(shù),移動文件指針位置fseek函數(shù),獲得文件位置ftell函數(shù),文件位置移到開頭rewind函數(shù),文件字符輸入
看過“c語言公共基礎(chǔ)知識考點“的人還看了:
【考點5】字符串函數(shù)
要掌握的四個字符串函數(shù):字符串拷貝函數(shù)strcpy(),求字符串長度函數(shù)strlen(),字符串鏈接函數(shù)strcat(),字符串比較函數(shù)strcmp()。使用這些函數(shù)需在預(yù)處理部分包含頭文件”string.h”。 字符串長度要小于字符數(shù)組的長度,例:char str[10]=”Hello”;sizeof(str)的值為10(數(shù)組長度),strlen(str)的值為5(字符串長度)。這些函數(shù)是考試常用到的函數(shù),大家一定要熟練應(yīng)用這幾個函數(shù)。
第十章 結(jié)構(gòu)體與共用體
【考點1】結(jié)構(gòu)體類型的說明
結(jié)構(gòu)體是若干個類型數(shù)據(jù)的集合,結(jié)構(gòu)體類型說明格式如下:struct 類型名 {類型1 成員名1;類型2 成員名2;„„};,以上整個部分是一個數(shù)據(jù)類型,與整型的int是同樣地位??捎胻ypedef把結(jié)構(gòu)體類型替換成一個只有幾個字母的簡短標識符。
【考點2】結(jié)構(gòu)體變量的定義
結(jié)構(gòu)體變量是用說明的結(jié)構(gòu)體類型所定義的一個變量,與結(jié)構(gòu)體類型不是一回事。一個結(jié)構(gòu)體變量所占字節(jié)數(shù)為其所有成員所占字節(jié)數(shù)之和。如struct stu{char name[10];int age;} a,b;則表明定義了兩個結(jié)構(gòu)體變量a,b,每個變量占14個字節(jié)。a,b與int i,j;中的變量i,j是同樣地位。
【考點3】結(jié)構(gòu)體成員的引用
引用成員可用以下3種方式:(1)結(jié)構(gòu)體變量名.成員名;(2)指針變量名->成員名:(3)(*指針變量名).成員名。點(.)稱為成員運算符,箭頭(->)稱為結(jié)構(gòu)指向運算符。
【考點4】鏈表
鏈表是由一個個結(jié)點構(gòu)成的,一個結(jié)點就是一個結(jié)構(gòu)體變量。每個結(jié)點可以分為數(shù)據(jù)域與指針域兩個部分,數(shù)據(jù)域用來存放要存儲的數(shù)據(jù),指針域用來指向下一個結(jié)點。鏈表是考試中的難點,在C語言和公共基礎(chǔ)部分都會考到,要領(lǐng)悟掌握。
【考點5】共用體
共用體的使用格式與結(jié)構(gòu)體相似,共用體定義的關(guān)鍵字為union,共用體所占字節(jié)數(shù)是所有成員中字節(jié)數(shù)最大的那個。
第十一章 文件
【考點1】文件類型指針
文件指針是一個指向結(jié)構(gòu)體類型的指針,定義格式為:FILE *指針變量名。在使用文件時,都需要先定義文件指針。
【考點2】文本文件與二進制文件
文本形式存放的是字符的ASCII碼,二進制形式存放的是數(shù)據(jù)的二進制。例如“100”如果是文本形式就是存儲’1’、 ’0’、 ’0’三個字符的ASCII碼(00110001 00110000 00110000),如果是二進制形式就把100轉(zhuǎn)化成二進制(01100100)。
【考點3】打開文件
文件的打開形式如下:FILE *fp; fp=fopen(“c:\lab.c”,”rb”);。fopen函數(shù)的前面一部分為文件名,后面一部分為文件的使用方式。打開方式詳見教材第127頁,其中r代表讀,w代表寫,a代表添加,b代表二進制位的。
【考點4】文件函數(shù)
判斷文件結(jié)束feof函數(shù),移動文件指針位置fseek函數(shù),獲得文件位置ftell函數(shù),文件位置移到開頭rewind函數(shù),文件字符輸入
看過“c語言公共基礎(chǔ)知識考點“的人還看了: