c 語法學習

2021-10-03 08:02:30 字數 3051 閱讀 1273

迴圈和關係表示式

for迴圈

表示式和語句

遞增和遞減,字首式效率更高

組合賦值操作符

復合語句

逗號操作符

關係操作符,==和=

while迴圈

typedef工具

dowhile迴圈

get()字元輸入方法

檔案尾條件

巢狀迴圈和二維數值

strcmp(a,b)判斷兩個字串是否相等

cin如何處理字元輸入

何時停止讀取鍵盤上的輸入呢?一般使用哨兵字元

用cin接收輸入時,只有使用者按下了回車鍵,輸入內容才會傳送給程式,並且會忽略換行和空格

用cin.get可以接收到空格,當接收失敗時還可以返回bool值

入口條件迴圈

if語句

ifelse語句

邏輯操作符

cctype字元函式庫

條件操作符?

switch語句

continue和break語句

讀取數字的迴圈

基本檔案輸入\輸出

clock函式進行延時,其返回值為乙個整型,可能為unsigned long

別名可以用typedef和預處理器#define

cctype字元函式庫

isalpha

cin函式在讀取文字資訊時,如果用char型別接收,那麼可能只接收前面的乙個字元,如果是int型別接收的話,那麼會不斷讀取,直到發現後面的非數字字元。double會讀取小數點後面的數字,如果是陣列則會在讀到空格時停下,getline讀取的話就會在換行符時停下

函式基本知識

函式原型

如何按值傳遞函式引數

如何設計處理陣列的函式

如何使用const指標引數

如何設計處理文字字串的函式

如何設計處理結構的函式

如何設計處理string類物件的函式

呼叫自身的函式(遞迴)

指向函式的指標

函式原型相當於佔位符,其中傳遞的引數的強制類轉換和函式的過載可能會造成二義性

不要試圖使用方括號來傳遞引數

使用關鍵字const可以起到保護陣列的作用

如果指標為const型別,則可以修改指標指向的位置,但是不能修改指標指向位置的值。

函式指標留給了更高階的圖書,函式的位址是儲存其機器語言**的記憶體的開始位址。

內聯函式

引用變數

如何按應用傳遞函式引數

預設引數

函式過載

函式模板

函式模板具體化

內聯函式主要是編譯器在編譯時的區別

引用作為函式的引數,其類似於乙個常量指標,當資料比較大時較為有用。

當返回的值為應用時,其記憶體最好為外部空間,可以在函式傳遞時就傳入,然後再返回,不然可能會被釋放調

使用預設引數可以減少要定義的析構函式、方法以及方法過載的數量。

函式的過載通過其上下文來確定其版本,型別引用和型別本身視為同乙個特徵標。非const值傳遞給const值合法,反之不合法。

只有當執行相同任務時才用函式過載

函式模板具體化,使用template<>打頭

術語例項化和具體化,轉換提公升和標準轉換

完全匹配的函式,顯式具體化將由於模板隱式生成的具體化

單獨編譯

儲存持續性、作用域和鏈結性

布局new操作符

命名空間

標頭檔案內容:

函式原型

#define或const定義的符號常量

自動儲存持續性:編譯器自動生成,自動釋放

靜態儲存連續性:編譯器開始生成,結束釋放

動態儲存連續性:程式設計師生成,delete釋放

過程性程式設計和物件導向程式設計

類概念如何定義和實現類

公有類訪問和私有類訪問

類的資料成員

類方法(類函式成員)

建立和使用類物件

類的建構函式和析構函式

const成員函式

this指標

建立物件陣列

類作用域

抽象資料型別

使用者和資料互動有3種方式:初始化、更新和報告

操作符過載

友員函式

過載《操作符,以便用於輸出

狀態成員

使用rand()生成隨機值

類的自動轉換和強制型別轉換

類轉換函式

輕鬆的使用這種語言,不要覺得必須使用所有的特性,不要在第一次學習時就試圖使用所有的特性

對類成員使用動態記憶體分配

隱式和顯式地複製建構函式

隱式和顯式地過載賦值操作符

在建構函式中使用new所必須完成的工作

使用靜態類成員

將布局new操作符用於物件

使用指向物件的指標

實現佇列抽象資料型別(adt)

is-a關係的繼承

如何以公有的方式從乙個類派生出另乙個類

保護訪問

建構函式成員初始化列表

向上和向下強制轉換

虛擬成員函式

早期聯編與晚期聯編

抽象基類

純虛函式

何時以及如何使用公有繼承

has-a關係

包含成員物件的類

模板類valarray

私有何保護繼承

多重繼承

虛基類建立類模板

使用類模板

模板的具體化

**重用,其中主要方法有包含、組合或層次化

另一種是使用私有或保護繼承即乙個新的類包含另乙個類的物件

valarray用於處理數值,它支援諸如將陣列中所有元素的值相加以及在陣列中找出最大和最小的值等操作

c++角度的輸入和輸出

isotream類系列

重定向ostream類方法

格式化輸出

istream類方法

流狀態檔案i/o

使用ifstream類從檔案輸入

使用ofstream類輸出到檔案

使用fstream類進行檔案輸入和輸出

命令列處理

二進位制檔案

隨機檔案訪問

核心格式化

泛型程式設計和stl

自動型別推導,其型別必須一致

C 基礎語法學習

基本用語區分 解決方案和專案 解決一類問題的方案。比如要建一套房子是不是要有一套解決方案,那是不是要把該方案分解成幾個小專案,如設計,裝修,水電安裝,材料運輸等專案 c 和.net net 是一種平台一種技術,裡面包含著乙個非常大的 庫 可以模擬成 jvm c 是一種語言,我們可以使用c 去呼叫.n...

C 語法學習(6)

1.函式重寫 在子類中定義與父類中原型相同的函式 函式重寫只發生在父類與子類之間 過載與重寫區別 過載 同乙個作用域 子類無法過載父類函式,父類同名函式將被覆蓋 過載是在編譯期間根據引數型別和個數決定 重寫 發生於父類 子類之間 父類和子類函式有相同的函式原型 使用virtual關鍵字宣告後能夠產生...

C 語法學習(8)

1.序列式容器 sequence containers 每個元素都有固定位置 取決於插入時機和地點,和元素值無關。vector deque list 關聯式容器 associated containers 元素位置取決於特定的排序準則,和插入順序無關 set multiset map multima...