1. 程式人生 > >型別、運算子與表示式

型別、運算子與表示式

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