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小練習
#includeusingnamespace
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程式的構造單元,用於建立物件 變數賦值 呼叫函式 控制語句等 互動式環境每次只能執行一條語句 為了編寫多條語句實現複雜的邏輯,需要通...