C C 基礎知識點整理

2021-09-28 16:11:30 字數 3013 閱讀 6590

1.

#includeusing namespace std;

int main()

; cout << &aa[0] + 1 << endl;

cout << &aa[1] << endl;

//cout << &aa[0]++ << endl;

cout << aa + 1 << endl;

return 0;

}

2.某二叉樹的後序遍歷和中序遍歷是一樣的都為abcdef,那麼它按層輸出的結果為:fedcba

3.在16位ibm-pc上求下面結構體test的sizeof(test)

struct test ua;

}myaa;

ps:所以其大小為12

4.多型類的虛函式表建立在,編譯階段

5.關於純虛函式正確的是,子類中必須覆蓋基類的純虛函式

1.

#include #include int main()
上面的程式執行結果為666,printf()列印的時候從左往右列印。

2.

class c

;

那麼sizeof(c)的數值是(24),看了大神的解答2333。b和*c都是靜態變數,存在全域性區中,因此不在計算範圍之內,a 是char型別,占用乙個位元組,p是指標,在64 位系統中占用8個位元組,而兩個虛函式只需要乙個虛函式表指標,也是八個位元組,加上類中的對齊方式(char a 對齊時後面補上7個位元組),所以答案為24。

3.已定義 ch 為字元型變數,以下賦值語句中錯誤的是(a)。

a.ch='\';
b.ch=62+3;//整數給字元賦值
c.ch=null;//相當於把0給字元賦值
d.ch='\xaa';//十六進製制的表示方式
4.

class test

};int test::b;

int main(void)

running result : 0 20 1 20

a可以是const變數也可以是普通變數;b是static變數。

1.下面**段的執行結果(環境linux平台, g++編譯器):

int main()
ps:輸出的結果是11 11,++y和y是乙個空間,賦值運算子是從右網左執行的。

2.下面程式段的執行結果、

int main(int argc, char *ar**)

3.下面說法錯誤的是:父類的指標訪問虛函式訪問的是父類的方法(×)

4.只能在迴圈體內和swich語句體內使用break語句(√)

5.多型類中的虛函式表建立在(編譯階段)

6.c++指向函式的指標定義方式為:

返回型別  (*指標名)  (函式引數列表)  ,例如 void (*p)(int)是指向乙個返回值為void 引數為int型別的函式

對於指向成員函式的指標略有不同:

1.指向非靜態成員函式:

定義方式:返回型別 (類名::*指標名)(函式引數列表)例如void (a::*p)(int)是乙個指向a類中成員函式的函式指標。

賦值方式:p=&a::函式名,而一般的函式指標的賦值是p=函式名即可,注意區別。(成員函式必須是public型別的)

呼叫方式:成員函式指標的呼叫必須通過類物件進行呼叫,a.*p(int)即可呼叫成員函式(該成員函式是public型別的)

2.靜態成員函式

對於靜態成員函式的定義和使用方法都與普通函式指標的相同,只是在賦值的時候和非靜態成員們函式指標的賦值方法相同。

因為靜態成員函式的指標型別是與普通函式指標型別相同的。

7.靜態成員函式不能做預設實參(×)

8.a printf預設右對齊

b printf和scanf是庫函式,不是語句

c 正確,函式包括函式頭,大括號和函式體三部分,函式體是可執行部分,而賦值語句只能放到函式體裡

d printf輸出的資料不僅受輸出域寬和小數域寬限制,也受資料在記憶體中儲存精度影響

1.以下程式的輸出的結果是

#include "stdio.h"

main()

printf("%d,%d\n",a,b);}

解析:

2.以下程式輸出的結果

#includemain()

}printf ("%d\n",s);

}

答案:24 解析:switch語句要是沒有break,就會一直執行到整個語句結束。

3.以下程式輸出的是

void main (void)
a不是乙個指標變數,什麼都不是。

4.有如下函式,則funb(10)為()

#include int func(unsigned int v)

int funb(int n)

return val;

}int main ()

1.在c語言中,一維陣列的定義方式為:元素型別 陣列名[e];e為(整型變數或整型表示式)

2.

class a

friend int f1(a &);

friend int f2(const a &);

friend int f3(a);

friend int f4(const a);

};

f1(0)呼叫錯誤,0只能給常物件賦值。

JAVA基礎知識點整理

一.預設的構造方法不一定都是public的 預設構造方法的修飾符是與所在類的修飾符一致的。二.split 分割字元竄有特殊字元竄像 等並不會達到預定的效果。三.一維陣列占用記憶體比二維陣列多,測試 runtime.getruntime totalmemory 可以得到占用記憶體總數,hashmap儲...

VUE基礎知識點整理

純知識點整理,適合vue小白 不小心點了發布 淚目 1,指令 v bind id domid 屬性值繫結 縮寫 id xx v on click add 事件處理 縮寫 click xx v if seen 條件 v for todo in todos data demo methods compu...

Java基礎 知識點整理(一)

1.和 和 的區別 對於 只要左邊為假,右邊就不執行判斷 對於 無論左邊為真假,右邊都執行判斷 對於 只要左邊為真,右邊就不執行判斷 對於 無論左邊為真為假,右邊都執行判斷 2.建構函式與一般函式的區別 1 建構函式在建立物件時,會被自動呼叫 一般函式在建立物件後,需要主動呼叫 2 建構函式一般只呼...