二 C 程式的基本構成

2022-03-11 00:52:30 字數 3123 閱讀 7037

1:輸入輸出流

(1)#includec++

標準輸入輸出流的庫函式

(2)using namespace std; //

命名空間

(3)標準輸入流:

cincin標準輸入流代表的是標準的輸入裝置鍵盤。

cin>>a>>b>>c

,在輸入一組變數的時候可以用空格回車,

tab鍵分割。輸入字串的時候,空格代表字串結束

(4)標準 輸出流,

cout //

標準輸出裝置,在程式中通常指的是螢幕。

cout<」\n」 endl都表示換行

2:針對於

c語言的變化

(1) const修飾符

#define pi 3.14 定義常量

const char * pc = 『』abcd」  表示pc指標指向的是乙個字串常量,所以不能改變常量的數值

char * const pc = 『』abcd」 表示 pc是乙個常量位址數值,指向的是』abcd」的位址不能改變這個位址數值但是可以改變字串的數值。

(2)內聯函式:在函式前面加上

inline

關鍵字就是內聯函式

引入內聯函式的目的:是為了減少系統的開銷,提高執行效率。

① 內聯函式在系統第一次呼叫之前必須進行完整的定義。

② 在內聯函式內部一般不能有複雜的控制語句,例如if,for等語句。

③ 將頻繁呼叫的函式定義為內聯函式一般不超過5行。

④ 內聯函式示例:就是把函式內部的**直接插入到主函式裡面。

#include

using namespace std;

inline int box(int i,int j ,int k)

int main(void)

常見錯誤:char a[20];

a = 「str1」; //不能把常量

char[4]

型別複製給

const char 20

型別的陣列

應該使用:strcpy

(3)帶有預設引數的函式

一般來說函式的引數的個數應該與形參的個數相同,但是c++允許實參個數與形參的個數不同,在說明函式原型的時候,為乙個引數或者多個引數可以指定預設形參。

int area( int x = 5 , int y =10 )

注意事項:

預設引數都應該宣告在不指定預設引數的右邊,在函式呼叫的時候,如果某個引數省略,則其後的引數皆應省略而採取預設值,不允許某個引數省略之後,在給其後的引數預設。

如果函式定義在呼叫之前,則應該在函式定義中指定預設數值,宣告在前宣告中指出,但是如果同時指定,有的c++編譯系統會報(重複指定預設數值的錯誤)。

int fun( int i ,int j=5, int n) //錯誤

fun(,5) //報錯

(4)函式過載

函式過載的條件:函式名相同,引數個數型別不同

例如:area( int i), area(double i), area( double i, int j);

(5)作用域運算子

通常情況下:如果兩個同名變數,乙個是全域性的,另乙個是區域性的,那麼區域性變數在其作用域內具有較高的優先權,它將遮蔽全域性變數,如果在希望在區域性變數的作用域內使用全域性變數,可以在該變數名的前面加上::代表全域性變數。

(6)強制型別轉換

int i = 10 ;

double x = ( double)i; //c

double x = double(i); //c++

( 7 ) 運算子

new和

delete

1:普通型別申請和釋放記憶體變數

c語言使用

malloc()

和free()

函式來申請和釋放記憶體  

c++ 使用

new

和 delete

來申請和釋放記憶體

指標變數 = new 型別;

int *pi;  

pi= new char;

char *pc;

pc = new char;

double *pd;

pd = new double;

運算子用來釋放記憶體: delete 指標變數名

2:陣列型別申請和釋放記憶體

int *p = new int[10];

int *pi = new int[2][3][4];

int *p = new(99); //動態分配記憶體並把

99作為初始數值賦值給

p陣列釋放記憶體:

delete 指標變數名

delete pi;

//二維陣列指標賦值

int *p = new int(99); //

cout<<(*p)int **a = new int*[3];

int i=0,j=0;

for( int i = 0 ; i<3 ; i++)

a[i] = new

delete a;

( 8) 引用

1.引用的概念是起了乙個別名

型別 & 引用名

= 已定義的變數名

引用和其代表的變數共享同一記憶體單元,當i發生變化的時候,

j也發生變化。

引用注意的地方:

(1)引用不是一種獨立的資料,他必須與某一種型別關聯,在宣告引用的時候,必須立即對其進行初始化,不能再宣告完成之後賦值。

int i =1;

int &j = i;

int &j //錯誤

(2)指標和引用的區別

指標本質是位址值,就是記憶體的數值,引用的數值是真實的數值。

int i = 5 ;

int *ptr = &i;

int &ptr = i;

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

int i , k;

int &j = i;

j = &k;

(9)計算fibonacci小練習

#includeusing

namespace

std;

double fibonacci( int

n )

else

}int

main()

C語言,程式的構成

預設環境為linux環境,不考慮多程序環境!程式的執行過程 c程式的入口函式是main 程式的入口函式是main函式,是由裝載器決定的!以 linux elf可執行檔案為例,在編譯程式時,編譯器會為程式鏈結裝載器,程式執行時會首先呼叫裝載器,引導程式到記憶體,隨後呼叫main函式!在嵌入式系統中 無...

分析C語言程式的構成

大型的的c語言程式就像一輛汽車,由各個零件組成,只有零件的完美組成才能使汽車正常行駛,這就需要汽車裝配工十分了解汽車各個零件的功能。編寫c語言程式也一樣,程式設計師就相當於汽車裝配工,需要知道c語言程式的結構 每行 起到的作用,因此,在編寫程式之前需要分析c語言的構成。1.標頭檔案 萬事從 頭 開始...

Python程式的構成

python程式有模組組成。乙個模組對應python原始檔,一般字尾名是.py 模組由語句構成。執行python程式時,按照模組中語句的順序一次執行 語句是python程式的構造單元,用於建立物件 變數賦值 呼叫函式 控制語句等 互動式環境每次只能執行一條語句 為了編寫多條語句實現複雜的邏輯,需要通...