數值計算
資料儲存
定義變數 申請儲存空間
資料輸入
數值計算
資料輸出
一、變數
定義變數
訪問變數
變數=記憶體單元
定義變數
資料型別
預定義資料型別
寫入輸入 cin>>ctemp
賦值 ctemp = 36
初始化 int x=10,y;
讀出自動讀取 ftemp =ctemp * 1.8 + 32;
輸出 cout關鍵字
識別符號 字母 數字 下劃線組成,字母和下劃線開頭
語句 分號結束
常量其值不變 資料型別 預設整形/浮點型 32 032 0x32
符號常量
運算子分隔符
三、算數運算
+表示式
運算子、運算元、括號
表示式語句
+運算子
優先順序 結合性
算術運算子
+ - * /
優先順序 1-15
強制型別轉換
double(3)
自定轉換(隱含轉換)
char--unsigned char--shootr--unsigned short -- int --unsigned -- long -- unsigned long -- float -- double
表示式結果:值+型別
括號 () 括號內的優先
其它算術運算子
取餘運算子 %
自增運算子 ++
後置 變數先用再加 優先順序1 結合性從左到右
前置 變數先加再用 優先順序2 結合性從右到左
自減運算子
前、後四、位運算
乙個二進位制位可記錄某種物件的開關狀態
+位反運算子~
~ 0101 0101
= 1010 1010
+位與運算子 &
有0為0,全1為1 檢測是零還是一
+位或運算子 |
全0為0,有1為1 某位置1
+異或運算子 ^
相同為0,不同為1 某位反置
+左移運算子 <<
低位補零
+右移運算子 >>
無符號 高位補零
有符號 最高位補符號位
五、賦值運算
+賦值運算子 =
修改變數的數值
+泛化的運算子 = ++ --
+復合賦值運算子
+= -= *= /= &= |= ^= <<= >>= 優先順序與=一樣
+變數初始化
+常變數
const x=5
使用const關鍵字指定常變數
定義常變數時必須初始化
常變數的值不能改變,例如不能再次被賦值
六、資料的輸入和輸出
+控制台程式
+輸入/輸出流
鍵盤 cin 顯示器 cout
+匯入外部程式
using namespace std;
cin>>變數1>>變數2....>>變數n;
輸入時用空格或tab隔開,回車鍵結束
cout《表示式1《表示式2....《表示式n;
endl表示換行
執行該語句時,計算機首先從右到左順序逐個計算表示式的結果,然後再按從左到右的順序依次顯示各表示式的結果,各顯示結果之間沒有間隔
七、引用與指標
+訪問變數記憶體單位
變數名引用
指標+引用: 變數的別名
公用同一記憶體空間
定義引用變數
引用型別&引用變數名 = 被引用變數名;
引用型別是引用變數的資料型別,必須與被引用變數的型別一致:
&是引用變數說明符。定義變數語句中,變數名前加& 表示該變數為引用變數;
引用變數名需符合識別符號的命名規則
被引用變數名指定被引用的變數,該變數必須是乙個已經定義的變數
定義引用變數時必須初始化,即指定其是哪個變數的引用,引用變數只能因喲給乙個變數,定義後不呢個再引用其他變數
舉例: 定義乙個int型變數x及其因喲個變數xa
int x;int &xa = x;//稱xa是x的乙個引用 int x,&xa = x;//可在一條定義語句中完成 int x,y,&xa = x;//一條定義變數語句可既包括普通變數,又包括引用變數
//鍵盤輸入乙個數值,計算其平方的值
#include usingnamespace std;
int main()
{ int x;
cin>>x;
/*cout
取位址運算子"&"
&變數名
所取出的變數位址是程式執行時該變數所分配記憶體的位址,每次執行程式時,變數不一定會被分配在同一記憶體單元,這取決於本次執行時計算機中哪些記憶體單元是空閒的
乙個變數可能占用多個位元組,變數位址指的是變數所佔記憶體單元第乙個位元組的位址,也稱首位址
取位址運算子是單目運算子,運算元必須是變數,其優先順序為2級,結合性為從右到左;
例:cout定義指標變數
指向型別*指標變數名;
指向型別指定了指標變數能夠儲存哪種型別變數的位址,或者說制訂了指標變數能夠指向哪種型別的變數;
是指標變數說明符,定義變數語句中,變數名前加""表示該變數為指標變數;
指標變數名需符合識別符號的命名規則
例:已定義變數x和y: int x,y;
int *p;//"int *"表示int型指標
//定義乙個int型指標變數p,未初始化,即未指向任何變數
p=&x;//取出變數x的位址並賦值給指標變數p,則p指向變數x
或int *p=&x;//定義乙個int型指標變數p,初始化為指向變數x
p=&y;//區變數y的位址並賦值個指標變數p,則p修改了指向,現指向變數y
+變數的間接訪問
指標運算子"*"
*指標變數名
按照指標變數所儲存的位址訪問所指向的記憶體單元,可寫入或讀出資料
間接訪問之前,指標變數應當指向某個已經存在的變數,即指標變數必須先賦值,再間接訪問,否則將出現錯誤
指標運算子是單目運算子,其優先順序為2級,結合性為從右到左
+注意指標變數應當先賦值,再間接訪問
+指標變數不能用整數來賦值
int *p=10;//錯誤
int *p=0;//賦值為0,表示p不指向任何變數
+指標變數的指向那個型別應當與所指向變數的型別一致
void型別
int x=10;double y=10.5
void p;
p=&x;//正確
cout<
p=&y;//正確
cout<
+相同型別指標變數之間可以相互賦值
int x=10,pi=&x;
double y=10.5,pd=&y;
int *p1;
p1=pi;//正確 指向型別相同 結果p1與pi都指向x
p1=pd;//錯誤 指向型別不同
void *p2;
p2=pi;//正確
p2=pd;//正確
+可以定義指向常變數請的指標,通過該指標變數不呢個修改所指向的常變數的值
const int x=10;
x=15;//錯誤
const int p;//指向常變數的指標
p = &x;
cout<
*p=15;//錯誤 間接修改常變數的值錯誤
int y=20;
p=&y;
cout<
*p=15;//錯誤 不能修改
+可以定義指標型別的常變數(即指標常變數),需定義時初始化,以後不能再改變其指向
int x=10,y=20;
int *const p=&x;
p=&y;//錯誤 不能重新賦值
位運算子,「,」逗號運算子,
位運算子有 按位與 按位或 按位異或 按位取反 優先順序從高到低,依次為 按位與運算有兩種典型用法,一是取乙個位串資訊的某幾位,如以下 擷取x的最低7位 x 0177。二是讓某變數保留某幾位,其餘位置0,如以下 讓x只保留最低6位 x x 077。按位或運算的典型用法是將乙個位串資訊的某幾位置為1。...
運算子之位運算子
右移 負數 無符號右移 或 異或 與 非 說明 位運算子都是作用在二進位製上的 比如 n 50 n 1 結果是多少?100 n 2 結果是多少?200 n 5 結果是多少?1600 為什麼會是這樣的呢?運算的邏輯如下 1,n 50 2,n的二進位制是 0011 0010 3,0011 0010 左移...
ECMAScript 運算子 位運算子
位運算子是在數字底層 即表示數字的 32 個數字 進行操作的 重溫整數 ecmascript 整數有兩種型別,即有符號整數 允許用正數和負數 和無符號整數 只允許用正數 在 ecmascript 中,所有整數字面量預設都是有符號整數,這意味著什麼呢?有符號整數使用 31 位表示整數的數值,用第 32...