一。基本數據類型知識點
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.關於指針的運算,敘述錯誤的是()