C/C++基礎知識點全面彙總(計算機2級考試,程序員考試 基礎考點)

一。基本數據類型知識點

1.C/c++中的基本數據類型是?

:整型,浮點型,字符型,無值型


2.基本數據類型又是怎樣細分的?

:整型包括:有符號長整型(signed  long int ),無符號長整型(unsigned long int ),有符號短整型,無符號短整型。



3.類型修飾符signed,short,long用法:

(1)類型修飾符signed和unsigned用於修飾字符型和整形。

在默認情況下,聲明一個數時,默認爲有符號型,即signed

(2)類型修飾符short和long用於修飾字符型和整形。

(3)當用signed和unsigned、short和long修飾int整形時,int可省略。如short i = 2;

(4)其中bool和wchar_t是C++特有的。

4.怎樣聲明長整型和float型?

默認情況下,編譯器將一個浮點數作爲double處理,若要強制以float處理,則在末尾加上“f”或者“F”,如 float i  = 3.14f

聲明一個長整型時候,要在末尾加上l或者L,如long i  = 312L;


5.浮點型與科學技術法:

e或者E表示指數,大小均可


4.常量知識點:

什麼時候會用到常量?

:如果程序中頻繁用到一個數,反覆輸入這個數是很煩人的,這時候可以聲明一個常量來表示它。且如果需要改變此值得話,只需修改程序中的一處。

如:const double PI = 3.14;


1)變量的聲明,初始化知識點

注意:無論什麼情況,最好都要將變量的聲明和初始化在一條語句中完成。


1.必須同時進行變量的聲明和初始化的有:

1)局部變量(函數內部的變量,否則其值是不可預知的)


二。運算符知識點

1.運算符分爲

算數運算符:加+減-乘*除/模%,其中模運算%只適用於整數。自增運算符,自減運算符

關係運算符:>,<,>= ,<= ,==,!=(按運算符優先級)

邏輯運算符:!,&&,||----結果是true或者false

位運算符:位運算符是專門用來進行二進制運算的,分爲邏輯位運算符和移位運算符(<<.>>)

賦值運算符: =,+=,-=,*=,/=,%=,,&=(按位與賦值),|=(按位或賦值),^=(按位異或賦值),<<=左移位賦值,>>=右移位賦值

其他運算符:三木運算符(?:,(逗號運算符),sizeof運算符,類型轉換運算符static_cast<目的類型>(原數據))

 

位運算符:

 

1)邏輯位運算符(作用於算數運算符一樣,用來運算):~(按位求反),&(按位與),|(按位或),^(按位異或)

 

與運算(and &):and運算通常用於二進制取位操作,例如一個數 and 1的結果就是取二進制的最末位。這可以用來判斷一個整數的奇偶,二進制的最末位爲0表示該數爲偶數,最末位爲1表示該數爲奇數。

 

按位或(or |):or運算通常用於二進制特定位上的無條件賦值,例如一個數or 1的結果就是把二進制最末位強行變成1。如果需要把二進制最末位變成0,對這個數or 1之後再減一就可以了,其實際意義就是把這個數強行變成最接近的偶數。

 

異或運算(^):xor運算通常用於對二進制的特定一位進行取反操作,因爲異或可以這樣定義:0和1異或0都不變,異或1則取反。

 

2)移位運算符:移位運算符的值也是算數表達式。

左移:補零

右移:補符號位


三。關於指針的知識點

0.一個指針變量存儲的是什麼信息?

:指針存儲的信息是對象在內存中的地址。通過指針可以間接訪問對象


1.關於指針可以進行的運算有哪些?

1)賦值運算。如int  a, *pa = &a,*q;p = q;//指針的賦值運算

2)指針可以加1運算或者減1運算

3)指針在一定條件下,可以相減(數組情況下),指向同一個數組的不同元素的兩個指針可以相減,其差便是兩個指針之間相隔的元素個數。

例如在一個字符串中,讓一個指向該串的首元素,讓另一個指向字符串的結束符,兩個指針相減,其差便是字符串的長度

4)在一定條件下,指針可以互相比較。如指向同一個數組元素的兩個指針可以比較,當兩個指針相等時,說明指向數組的同一個元素。


2。最常用的指針類型是什麼類型的指針?其作用是什麼:

最常用的指針類型是char *,因爲在C++中,所有的字符串操作都可以通過字符指針完成。


3.指針和數組的關係

:數組元素可用下標表示,但最好還是用指針表示。


4.數組名和數組指針的關係?

:數組名是常量指針,數組指針是變量指針。

如:int a[5],*p = a;

表達式p+1,p+2是合法的,而a+1,a+2是違法的。因爲數組指針是變量指針,而數組名是常量指針


5.二維數組的指針表示:



6.引用變量

:引用是令一個變量的別名,對引用的改變實際是對目標的改變。

聲明形式,int a  = 3;

int &b = a;


7.引用與指針的區別?

:指針通過地址間接訪問變量,而引用是通過別名直接訪問變量。

引用必須初始化,且一旦初始化之後,就不能再作爲其他變量的別名。

引用的用途是用來作爲函數參數。





4.在int a[5] = {1,3,5};中,a[1]=

A.1     B.0       C.3     D.5

:C  數組的起始地址是0


5.字符數組初始化語句中,正確的是

A.char s1[] = "abcd"

B.char s2[3]="xyz"  //字符數組的結尾符號必須有一個\0表示結束

C.char s3[][] ={a,b,c}

D.char s4[2][3] = {"xyz","mnp"}

:A


6.在int a = 3,*p = &a中,*p的值是()

A.變量a的地址值      B.無意義        C.變量p的地址值     D.3

:D---指針代表的就是地址值,指針的解引用代表地址存儲的單元值


7.對於int *pa[5];正確的描述是:

A.pa是指向一個數組的指針,所指向的數組是5個int型元素

B.pa是一個指向某數組中第五個元素的指針,改元素是int型變量

C.pa[5]表示某個數組的第五個元素的值

D.pa是一個具有五個元素的指針數組,每個元素是一個指針。

:D,聲明什麼麼,說明這個數是一個包含什麼類型的數。即聲明int  *p[5]證明聲明的就是一個指針型數組,保存的全是指針,如int * p   = &a;聲明的是指針


8.關於指針的運算,敘述錯誤的是()


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章