(1)程序設計分兩種:ios
1.結構化設計(面向過程)——分解算法爲模塊,將算法的步驟分解爲模塊。算法
2.面向對象程序設計——主要是「類」與「對象」。spa
(2)進制的轉換設計
1.二進制轉十進制指針
整數部分與小數部分分開計算,整數部分「除2取餘」倒排序;小數部分「乘2取整」正排序,出現循環的進行截斷,取循環部分。code
2.二進制轉八進制和十六進制對象
三位二進制轉成一位十進制數爲一位八進制,四位二進制轉一位十六進制。blog
關鍵字:int、float、unsigned、double等排序
標識符:abc、Abc、_bc、abc123等內存
標識符命名原則:
(1)由數字、字母和下劃線組成
(2)不能以數字開頭,區分大小寫
(3)標識符要有意義
數據類型 變量名1,變量名2,...,變量名n;
變量的寫入:輸入
cin>>ctemp; //輸入
ctemp = 36; //賦值
int x = 10,y; //初始化
變量的讀出:
ftemp = ctemp * 1.8 + 32; //自動讀取 cout<<ftemp; //輸出
字面常量:實數、負數、整數,通常默認爲十進制數,後綴形式有長整形L、無符號u、浮點型f等
符號常量:
#define PI 3.14
字符串常量:雙引號括起來,如 「CHINA」
const 數據類型 變量名=初始值; const int x=10;
不能修改,不能賦值,只能讀取。
加(+)、減(-)、乘(*)、除(/)
數據類型轉換:
(1)強制轉換
short(32) //轉成短整型 float(32) //結果:1.8 單精度,4字節 double(1.8) //雙精度,8字節 short(932769) //結果:-32767(溢出) int(1.8) //結果:1 丟失小數位
(2)自動轉換
char short int long float double
低 高
5 / 2 = 2 5.0 / 2 = 2.5
取餘:% 10 % 6 = 4
自增/減:++、--
x++:先x,後+1
++x:先+1,後運算,例
int x = 10, y; y = (x++) * 2; //結果爲20 y = (++x) * 2; //結果爲22
位反運算符:~ 按位取反,0轉1,1轉0
位與運算符:& s & 0x2 結果爲0000 0010時倒數第二位是1,結果爲0000 0000時倒數第二位是0,用於檢測倒數第二位的狀態,0x2位掩碼
位或運算符:| 一真即爲真
位異或運算:^ 非
左移運算符:<< s<<2 左移兩位,高2位移除,低2位補0
右移運算符:>> 低位移除,高位補符號位
a = 10;b =10;c = 10; 等價於 a = b = c = 10; y = x; x = x + 1; 等價於 y = x++; x = x + 1; y = x; 等價於 y = ++x;
複合賦值運算符:
+= -= *= /= %= |= ^= <<= >>= x += 5; 等價於 x = x+5;
C++中爲輸入/輸出流,鍵盤(cin)、顯示器(cout),C++要輸入輸出須要導入外部程序
#include <iostream> using namespace std;
cin輸入流,標準輸入,可同時輸入多個數據,用空格或Tab鍵隔開,cin>>x>>y;
cout輸出流,稱爲標準輸出,
int x=5; cout<<x; //5 cout<<x<<x * x; //525,中間無間隔
直接訪問:變量名
間接訪問:引用和指針
引用:
引用類型 & 引用變量名 = 被引用變量名; int x; int & xa = x; 或 int x; & xa = x; int x,y, & xa = x; 例 int x = 10,y = 20; int & xa = x;
指針:內存地址 取地址運算符:& 取變量內存地址的首地址。
& 變量名 int x = 10; cout <<&x; //輸出變量x的地址,一個8位的十六進制數,4個字節
經過地址訪問某個變量x,分3步:
(1)定義一個專門保存地址的變量(假設爲P)稱指針變量
(2)取出變量x的地址,賦給p
(3)經過指針變量p所保存的地址訪問變量x的內存單元
注:指針的指向類型不能改變,整型(int)指針只能指向整型,指針變量也是一個變量,也有其內存單元。
定義指針變量
指向類型 *指針變量名; int x, y; int *p; //定義指針變量p,未指向任何變量 p = &x; //取x的地址賦給指針變量p,則p指向x int *p = &x;
指針運算符:*
* 指針變量名 *p int x; int *p = &x; *p = 10; cout<<*p; //結果:10 cout<<p; //顯示p中保存的地址即8位十六進制數
注:*p 至關於x的另外一個名字或標籤
void類型
int x = 10; double y = 10.5; void *p; cout<<*((int*)p); //顯示:10,須要強制轉換爲int p = &y; cout<<*((double*)p; //顯示:10.5,轉爲double
指向常變量的指針
const int x = 10; const int * p; p = &x; cout<< *p; //正確 *p = 15 //錯誤
定義指針類型的常變量
int x =10, y = 20; int *const p = &x; //初始化,之後不能修改