中山大學黎培興c++**教程
共51學時,每天6學時,8天完成。(2012/11/16—2012/11 /23)
2012/11/16
課時1第一章緒言
1. c語言(面向過程的程式語言——procedure oriented programing)
缺點:對於龐大的,複雜的難以開發和維護。可重用性差,資料安全性差,難以開發圖形介面的應用。
形式:主模組+若干子模組(函式)
2. c++語言(物件導向的程式語言——object oriented programing)
優點:模組獨立,通過繼承和多型,使得程式可重用性增強。
觀點:整個世界是由實體(物件)所組成。
目的:實現軟體設計的產業化。
程式設計方法:
使用物件導向的觀點來描述模仿並處理現實問題。
課時2第二章 c++簡單程式設計
1. c++的特點:
1) 全面相容c
2) 支援物件導向的方法
2. 變數的儲存型別:
auto——屬於臨時性儲存,其儲存空間可以被若干變數多次覆蓋使用。
register——存放在通用暫存器中。
extern——在所有的函式和程式段中都可以引用。
static——在記憶體中是以固定位址存放的,在整個程式執行期間都有效。
課時31. 與運算(&)
用途:——將某一位置零,其他位不變。例如:
將char型變數a的最低位置零:a=a&0376;
——取指定位,例如:有char c;int a;
取出a的低位元組,置於c中:c=a&0377;
2. 或運算(|)
用途:將某些位置1,其他位不變。例如,將int型變數a的低位元組置1:a=a|0xff;
3. 左移(<<)
左移後,低位補0,高位捨棄。
4. 右移(>>)
右移後:低位捨棄
高位:有符號數,補符號位
無符號數,補0
課時41. c++中的賦值
int a(1),i(0);和c有點不同。
2. typedef語句
為乙個已有的資料型別另外命名
語法形式:typedef 已有型別名新型別名錶;
3. 列舉型別——enum
語法形式: enum 列舉型別名;
例如: enum weekday ;
enum weekday a=sun;//定義了乙個列舉型別的變數a並附初值sun即0.
注意:1)對列舉元素按常量處理,不能對它們賦值。例如,不能寫:sun=0;
2)列舉元素具有預設值,他們依次是:0,1,2,…。
3)也可以在宣告時另外指定列舉元素的值,如:
enum weekday ;
4)列舉值可以進行關係運算。
5)整數值不能直接賦給列舉變數,如需要將整形數賦值值給列舉變數,應進行強制型別轉換。
4. 結構體——是不同的資料型別的資料組成的集合體。
語法形式:
struct 結構名
;2012/11/18
第三章函式
課時51.一些有關函式應用的習題。
課時61. 內聯函式(inline)
注意:不能有選擇和迴圈語句(只能有順序語句)。
2. 函式的過載:c++允許功能相近的函式以相同的函式名命名。
注意:函式的引數型別或者引數個數不同。
3. 函式模板(template)
函式模板可以用來建立乙個通用功能的函式,以支援多種不同形參,進一步簡化過載函式的函式體設計。
宣告方法:
template 函式宣告
例子:#include<>
template
t abs(t x)
void main()
4. c++系統函式 等。
課時71. vc++的使用方法。
課時81. 一至三章的習題講解。
2. 機器——彙編——高階語言
3. 面相物件程式語言的優點:
事物——物件——類(屬性,行為)
繼承,多型——**重用
4. 結構化程式設計
順序,迴圈,分支
模組自頂向下,逐步求精
優點:分解任務
缺點:可重用性差,程式和資料是分離的。不適用於gui。
5. 物件(實體)包括屬性和行為<——封裝
方法——>資料
| 介面——物件(外界)
訊息(message)
思想:模擬人的思維。
6. 物件導向的軟體工程的方法
ooa——系統分析
ood——設計
oop——程式設計
oot——測試
oosm——公升級維護
7. c++語言的優點
相容c——簡單,可移植,中級語言(彙編,高階 )
oop——更安全,可重用粗性強
8. const 常數——有型別說明
#define 定義——無型別說明
兩者當需要型別轉換時就有區別了。
9. 注釋:提高可讀性
2012/11/19 19:30
課時91. 已知a=30
求b=a++ ——> b=30 a=31 先是將a賦值給b,然後a自加
求c=++a ——> c=32 a=32 先是a自加,然後將a賦值給c
2. 作用域:變數起作用的範圍。
區域性變數,全域性變數,外部變數(不是本程式的變數都能被本程式使用)
3. 輸出32——128的所有字元的ascii碼值
#include <>
int main()
4. #include <>
void main()
if(toupper(flag)==『n』)
else
return 0;}}
課時10
1. 函式function(子程式subroutine/subprogram)
功能分解
2. inline(內聯、嵌入、內嵌)函式
節省呼叫開銷,速度快
先宣告後呼叫,無多出口。
3. 原型(型別函式名(引數))
定義(型別函式名(引數))
呼叫(型別函式名(引數))
三者的引數名一定要相同嗎?
答:沒有要求,引數名隨便,只要函式名一樣。
4. 過載函式,靠引數個數和引數型別區分。
課時11
1. 素數(prime):除了1和本生外,沒有其他的因子。
演算法:k==1——n-1 或者 k==1——sqrt(n)
if n%k!=0
bool int prime(int i)
}if flag!=0; return i;
else
return 0;
}2. 最大公約數的演算法:先找出兩者中間的最小值,然後大的除以小的,直至餘數為零。後
if fil(int i,int j)
while(j!=0)
return i;
}3. 最小公倍數數的演算法:(i*j)/最大公約數
4. endl就是換行,end of line
5. 計算x的y次方
long getpower(int x,int y)
6. 計算費波拉瑟數列
已知f(0),f(1)
然後f(n)=f(n-1)+f(n-2)
long f(int n)
課時12
第四章類和物件
1. 抽象(abstract)是對具體物件進行概括,抽出這一類物件的公共性質並加以描述的過程。
class people
//這個大括號表示封裝
2. 封裝:將抽象出的資料成員、成員方法相結合,將它們視為乙個整體。
目的:增強安全性(通過公有、私有)和簡化程式設計,使用者不必了解具體的實現細節,而只需要通過外部介面,以特定的訪問許可權,來使用類的成員。
3. 繼承是c++中支援層次分類的一種機制,允許程式設計師在保持原有類特性的基礎上,進行更具體的說明。
4. 多型性:同乙個名稱,不同的功能的實現方式。
比如畫(畫圓,畫三角形,畫正方形等)
目的:達到行為標識統一,減少程式中識別符號的個數。
實現:過載函式和虛函
5. 類是具有相同屬性和行為的物件的一組物件的集合,它為屬於該類的全部物件提供了統一的抽象描述,其內部包括屬性和行為兩個部分。
作用:實現資料的封裝、隱藏(public、private、protect)、繼承(父、子類)和派生(新類)。
優點:易於編寫大型複雜程式,其模組集中程度比c中才用函式更高。
6. 類的宣告形式
class 類名稱
2012/11/20 9:30
課時13
1. 鐘錶類例項
class clock
;void clock::settime(int newh, int newm, int news)//在類外具體實現,但要在函式名前使用類名加以限定。
C 學習筆記
4.輸入輸出 是預定義的插入符,它用在cout上可以實現螢幕輸出。使用形式如下 cout 表示式 表示式.這裡可以連著多個表示式,輸出多個資料到螢幕。這裡的表示式可以是很複雜的表示式,系統會計算出這些表示式的值只把結果傳給插入符 然後顯示到螢幕上。例如,cout a b 是提取符,用到cin上用來把...
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...