c08 基礎,陣列構造演算法

2021-06-21 07:02:45 字數 1510 閱讀 2394

1.sizeof("hello") = 6; 放入常量區,編譯器不用頻繁讀取記憶體

2.sizeof(型別),只關心型別而不關心內容:int i = 0; sizeof(1/i) = 4; 編譯執行正常

3.只有有型別的指標才能通過指標值確定指標指向的內容

4.陣列的引用 int (&p)[10] = int a[10]; 不使用

5.void *p; 只知道指標位址不知道指標型別,無法確定變數,可以強制轉為相應型別

6.等待一秒的函式實現:

#include void waitaminite()

7.cout輸出有緩衝不是立即輸出,cerr立即輸出或者,cout<<"hello"<8.setw(),設定輸出寬度;right靠右;setfill('0'),設定寬度填充字元:

#include cout<

9.vi中替換使用::% s/舊串/新串/g,替換全文;:%^, $ s/old/new/g,替換從行首到行尾;

10.pwd,當前工作目錄

11.倒計時程式:

#include #include #include using namespace std;

class clock

void tick()

}} void show()

};

15.初始化列表不能初始化陣列和結構變數

16.void f(int i = 0); void f();編譯錯誤

17.類物件呼叫構造的順序為:先全域性變數,之後按順序;注意static只是整個程式執行期間存在呼叫構造不優先

18.類中先執行成員建構函式,再執行本身建構函式

19.由於全域性變數的構造在main函式之前,所以可以在main函式之前做一些操作

給定一陣列a[n],我們希望構造陣列b [n],其中b[j]=a[0]*a[1]…a[n-1] / a[j],在構造過程中,不允許使用除法:

要求o(1)空間複雜度和o(n)的時間複雜度;

除遍歷計數器與a[n] b[n]外,不可使用新的變數(包括棧臨時變數、堆空間和全域性靜態變數等);

實現程式(主流程式語言任選)實現並簡單描述。

#include using namespace std;

void fun(int a, int b, int len)

for (int i = len - 1; i > 0; --i) }

void show(int b, int len)

cout<}int main()

; int b[sizeof(a)/sizeof(a[0])] = {};

fun(a, b, sizeof(a)/sizeof(a[0]));

show(a, sizeof(a)/sizeof(a[0]));

show(b, sizeof(a)/sizeof(a[0]));

system("pause");

return 0;

}

快速入門C 08 繼承

類的繼承 繼承機制使得我們可以建立乙個類的堆疊層次結構,每個子類都將繼承他的基類裡定義的方法和屬性。基類必須在子類之前初始化!訪問控制 就是c 提供了一種用來保護類裡的方法和屬性的手段。保護即是對誰可以呼叫某個方法和訪問某個屬性加上乙個限制。public 可以被所有 訪問 protected 只能由...

c 動態陣列構造及應用

檔名稱 arrayclass.h 功能 自定義陣列型別標頭檔案 用於動態陣列應用,char型別指標陣列 by adengou 2011.8.13 檔案頭 ifndef array class define array class include include ifndef null const i...

C語言 08 陣列

1.計算機中的記憶體是以位元組為單位的儲存空間。記憶體的每乙個位元組都有乙個唯一的編號,這個編號就稱為位址。凡存放在記憶體中的程式和資料都有乙個位址,也就是說,乙個函式也有自己的記憶體位址。char a a a的ascii值為65 int b 66 在16bit編譯器環境下,系統為a b分別分配1個...