C 學習歷程(一 C 基礎)

2021-10-13 21:04:24 字數 3988 閱讀 5215

1、c++的結構體

struct employee};

intmain()

c++結構體可以帶方法的,訪問許可權可以是public、private、protected,並且可以從類或結構體那裡繼承而來

2、c++的類

class

employee};

intmain()

c++結構體成員預設訪問級別、繼承是public,c++類成員預設訪問級別、繼承是private。

#include

using

namespace std;

//指定命名空間(防止命名衝突),std是c++標準庫使用的命名空間

cin>>i>>b>>c;

//輸入時用空白符分隔 (空格、回車或tab鍵)

cout<

setprecision(int p)設定有效數字的位數

cout<' '<' '

cout <<

setfill

(『$』)

<<

setw(10

)<<

10<< endl;

cout <<

setfill

(『#』)

<<

setw(10

)<<

10<< endl;

輸出結果是:

$$$$$$$$10

########10

4、結構體等可直接作為型別名,記憶體分配與刪除,引用相關

//宣告型別時

enum day

;union u

;struct student

;//定義變數時

day day;

u u;

student student1;

//記憶體的分配和釋放,new,delete

new 型別名

new 型別名(初值)

new 型別名[表示式]

int*p,

*q,*r;

p =new

int(5)

;//分配乙個整數記憶體空間,初始值為5

q =new

int;

//分配乙個整數記憶體空間,沒有初始化

r =new

int[10]

;//分配10個整數的記憶體空間,並返回該空間的首位址

//delete運算子用於釋放new運算子所分配的空間,以使得該空間能夠被重新使用。

delete 指標變數名

delete

指標變數名

s=new

int[5]

;delete

s;//引用

//對變數宣告乙個引用,編譯系統不給它單獨分配儲存單元,i和j都代表同一變數單元。

int i;

int&j=i;

//引用在初始化後不能再被重新宣告為另乙個變數的引用(別名)。

//引用做函式引數

void

swap

(int

& m,

int& n)

//▲▲▲▲▲

intmain()

//使用引用返回函式值

//使用引用可以返回函式的值,採用這種方法可以將該函式呼叫放在賦值運算子的左邊。

int a=

;int

&index

(int i)

//▲▲▲▲▲

intmain()

5、內聯函式(內建函式)

程式**現對內聯函式的呼叫時,c++編譯器直接將函式體中的**插入到呼叫該函式的語句處,同時用實參來代替形參。對於要頻繁呼叫的函式,如果其函式體中的**很短,可以將其定義為內聯函式。

inline

float

circle

(float r)

呼叫時area =

circle

(i) 直接用area=

3.1416

*i*i替代

以空間換時間的手段,在內聯函式的函式體中,不能有複雜的控制語句,如for語句和switch語句等。

為避免**過長,只有很短(如1~5條語句)且呼叫頻繁的函式才考慮定義為內聯函式。

6、函式過載

當呼叫函式名相同的過載函式時,編譯器會根據實參的型別與個數來匹配這些過載函式,以決定呼叫哪乙個過載函式。通過函式引數的型別或個數不同都能夠實現函式過載。

1. list item

//過函式引數個數不同實現函式過載

#include

using

namespace std;

double

add(

double d1,

double d2)

double

add(

double d1,

double d2,

double d3)

intmain()

//不能僅僅通過函式返回值型別的不同來區分不同的過載函式,因為在進行函式呼叫時,這兩

//個函式的呼叫形式是相同的

7、帶有預設引數的函式

int special

(int x=5,float y=5.3)

;//呼叫

special()

; // x=5, y=5.3

special

(25)

; // x=25, y=5.3

special

(100,79.8)

; // x=100,y=79.8

//所有指定預設值的引數都必須出現在不指定預設值的引數的右邊,否則出錯

//int fun

(int i, int j=5, int k)

;錯誤int fun

(int i, int k, int j=5)

;//正確

應用舉例

```css

void init (int x=5,int y=10)

int main()

//在函式呼叫時,若某個引數省略,則其後的引數皆應省略而採用預設值

9、答案僅供參考

//1

#include

using

namespace std;

intmain()

//2

#include

using

namespace std;

intmain()

//冒泡法排序

int i,j,t;

for(i=

0;i}for

(int i=

0;i)cout<<<

" ";

delete

a;}

//3

#include

using

namespace std;

struct fu};

void

swap

(fu &a,fu &b)

intmain()

//4

#include

using

namespace std;

void

fun(

short a)

void

fun(

int a)

void

fun(

double a)

intmain()

c 學習歷程3

class animal get public virtual void voice class house animal class sheep animal 多型 乙個方法多種狀態 animala newhouse animalb newsheep method a method b 如果沒虛函...

C 學習歷程 基礎部分 C 中的函式學習

本文位址 作者 sushengmiyan 一。靜態變數 區域性變數是執行緒到達定義的地方的時候進行初始化,如果定義在函式中,那麼每次函式呼叫的時候,都會進行初始化,函式的每個呼叫保留著乙個副本,對於靜態變數來說,只在第一次呼叫的時候初始化。通過下面乙個例子可以細細體會這個區別 sushengmiya...

C 學習心路歷程

這裡只記錄c 的特色地方,想來本科專攻c 跟圖形程式設計,真心沒想到半路殺出來個unity還特麼用了c 所以嘛,最近惡補這方面的東西,把跟c 相似的地方看看就好,這裡把c 的好東東都記錄下,有一些還挺有逼格的說,希望能有幸成為高手!1 params關鍵字 本關鍵字在於可變長引數的利用,比如 stat...