型別、運算子與表示式
1. 變數:裝資料的容器,資料變,容器不變
變數在使用前要先定義,基本格式:變數型別 變數名1,變數名2,……;
Ex:int a,b,c;int a=0,b,c=0;//初始化
2. 變數名:由字母(‘_’被看作字母)和數字組成的序列,但第一個字元必須是字母;大小寫字母是有區別的;關鍵字不能作為變數名
3. 四種基本型別
char 字元型,佔用一個字元長度,存放一個字元
int 整型,通常佔4個位元組
float 單精度浮點型
double 雙精度浮點型
4. 施加在基本型別上的限定符
short int a;//int可省略不寫
long int a;
short 限定符儘可能的使int變短,long儘可能的使int變長
signed與unsigned可用來限定char型和所有整型
signed 整型等價於整型
unsigned 整型使得原有整型長度不變,符號位變成了資料位,僅能表示0和正數
signed char 強制char可以儲存有符號整數
unsigned char 強制char可以儲存無符號整數
5. 整數常量進製表示
O 表示八進位制
Ox 表示十六進位制
6. 字元常量
使用單引號將字元括起來,參與運算時對應的是ASCII碼值
7. 轉義字元(一般不可顯示的,帶有功能性的字元)
\a 響鈴符
\n 換行符
\0 字串結束的標識
8. 字串常量
用雙引號包裹起來的≥0的字元組成的序列為字串常量
9. 算數運算子:+、-、/、*、%、++自增、--自減
%取餘:x%y結果是x除以y的餘數部分;x和y必須是整型運算元;在有負運算元的情況下,取模運算結果的符號取決於具體機器的實現
/除法:整數除法會截斷結果中的小數部分
++自增:y=++x表示先自加後賦值;y=x++表示先賦值後自加
10. 關係運算符:<、>、<=、>=、==等於、!=不等於
x>y x大於y返回真,否則返回假
x>=y x不小於y返回真,否則返回假
x==y x等於y返回真,否則返回假
11.邏輯運算子:&&且,||或,!非
12.賦值運算子:=、+=、-=、/=、%=
a%=10;等價於a=a%10;
13.位運算子:&、|、<<左移一位、>>、^
<<左移一位:包含處理函式#include<bitset>
Ex:
#include<iostream> #include<bitset> using namespace std; int main(){ short int x=-178; short int y=x<<1; cout<<bitset<sizeof(x)*8>(x)<<endl; cout<<bitset<sizeof(y)*8>(y)<<endl; cout<<y<<endl; return 0; } 結果: 1111111101001110 1111111010011100 -356
14. 型別轉換(只體現在結果上,不改變被轉換變數的型別)
(1)自動轉換
a. 賦值語句中的自動轉換:float a=100;int b=a;
Ex:
#include<iostream> using namespace std; int main(){ unsigned int a=1; int b=-2; long c=-2; cout<<a+b<<endl; cout<<a+c<<endl; return 0; } 結果: 4294967295 -1
b. 混合運算中的自動轉換,短的型別向長的型別轉換:1+1.1
(2)強制轉換
(型別名)表示式
Ex:(float)a;//將變數a轉換為float型別
(int)(b+c);//把表示式a+b的結果轉換成int型
(float)5;//將數值5(預設為int型別)轉換為floa