C 學習筆記

2023-01-15 08:09:05 字數 2312 閱讀 1333

4. 輸入輸出

「<<」是預定義的插入符,它用在cout上可以實現螢幕輸出。使用形式如下:cout《表示式《表示式...。

這裡可以連著多個表示式,輸出多個資料到螢幕。這裡的表示式可以是很複雜的表示式,系統會計算出這些表示式的值只把結果傳給插入符<<,然後顯示到螢幕上。例如,cout<<"a+b="<「>>」是提取符,用到cin上用來把鍵盤上輸入的數賦值給變數。

使用形式為:cin>>表示式》表示式...。這裡的提取符也可以有多個,每個後邊跟乙個表示式,這裡的表示式一般是用來存放輸入值的變數。

比如,int a,b; cin>>a>>b;後面這個語句要求從鍵盤上輸入兩個整型數,兩個數之間用空格分隔,如果輸入 3 4,則變數a的值為3,b的值為4

1. 所有的mfc實現檔案第一條語句都是:#include ""。

在它前面的所有**將被忽略,所以其他的標頭檔案應該在這一行後面被包含。否則,你將會得到「no such file or directory」這樣讓你百思不得其解的錯誤提示

1. 防止乙個標頭檔案被重複包含

#ifndef bodydef_h

#define bodydef_h

//標頭檔案內容

#endif

2.1. 列舉型

enum 列舉型別名 ;變數值列表裡都是整型變數,另外不要忘記最後面的分號!

比如,enum weekday ;

這裡的列舉元素sun、mon...都沒有指定值,它們就使用預設值,依次為0,1,2...。即sun就是0,mon就是1,...

sat是6。也可以在宣告列舉型別時指定列舉元素的值,比如

enum weekday ;

這裡sun就是7,mon是1,後面的值在mon的基礎上依次加1,即tue等於2,wed為3...sat是6。列舉元素按常量處理,不能對它們賦值除了宣告的時候,像sun=0;這樣的語句就是非法的

2. 結構體

struct 結構體名

int add(int x,int y)

return x+y;

}呼叫在實現後時:

int add(int x=5,int y=6)

return x+y;

}int main()

add(); //呼叫在實現後

return 0;

6. 內聯函式

inline 型別識別符號被調函式名(含型別說明的形參表)

內聯函式體內不能有迴圈語句和switch語句;

內聯函式的定義必須出現在內聯函式第一次被呼叫之前;

對內聯函式不能進行異常介面宣告,就是不能宣告可能丟擲的異常

7. 函式模板

template 函式定義

#include

using namespace std;

template

t abs(t x)

int _tmain(int argc, _tchar* ar**)

;類名::類(類名 &物件名) //拷貝建構函式的實現

函式體}class point

point(point &p);

int getx()

int gety()

private:

int x, y;

};此類中宣告了內聯建構函式和拷貝建構函式。拷貝建構函式的實現如下:

point::point(point &p)

拷貝建構函式在以下三種情況下會被呼叫:

a.當用類的乙個物件去初始化該類的另乙個物件時系統自動呼叫拷貝建構函式實現拷貝賦值。

int main()

point a(1,2);

point b(a); //拷貝建構函式被呼叫

cout<<

}b.若函式的形參為類物件,呼叫函式時,實參賦值給形參,系統自動呼叫拷貝建構函式。例如:

void fun1(point p)

cout<<< }

int main()

point a(1,2);

fun1(a); //呼叫拷貝建構函式

return 0;

c.當函式的返回值是類物件時,系統自動呼叫拷貝建構函式。例如:

point fun2()

point a(1,2);

return a; //呼叫拷貝建構函式

}int main()

最後這種情況怎麼呼叫的拷貝建構函式呢?物件a是區域性物件,在fun2函式執行完就釋放了,那怎麼將它拷貝給物件b呢?編譯器在執行b=fun2()時會建立乙個臨時的無名物件,在執行return a時實際上是呼叫了拷貝建構函式將a的值拷貝到了臨時物件中,a就釋放了,然後將臨時物件的值再拷貝到物件b中。

C 學習筆記

中山大學黎培興c 教程 共51學時,每天6學時,8天完成。2012 11 16 2012 11 23 2012 11 16 課時1第一章緒言 1.c語言 面向過程的程式語言 procedure oriented programing 缺點 對於龐大的,複雜的難以開發和維護。可重用性差,資料安全性差,...

C語言譚浩強學習筆記

第一章程式設計和c語言 1 計算機能直接識別和接受的二進位制 稱為機器指令,機器指令的集合就是該計算機的機器語言。2 語言的發展歷史 機器語言 符號語言 高階語言 3 高階語言的發展 非結構化語言 結構化語言 物件導向的語言 4 c語言的祖先是bcpl語言 5 在字串中的 和 都不作為注釋的開始。而...

C複習筆記

1 net平台 net framework框架 net framework框架提供了乙個穩定的執行環境,來保障我們.net平台正常的運轉 2 c 語言 c sharp 程式語言,如果你想要計算機按照你說的去做,你必須說計算機能夠聽懂的語言。2001年 any time any place and o...