天天看點

【C++】資料類型

文章目錄

  • ​​資料類型​​
  • ​​1. 實型(浮點型)​​
  • ​​2. 字元型​​
  • ​​3. 轉義字元​​
  • ​​4. 字元串型​​
  • ​​5. 布爾類型 bool​​
  • ​​6. 資料的輸入​​

資料類型

1. 實型(浮點型)

作用:用于表示小數

浮點型變量分為兩種:

  1. 單精度float
  2. 雙精度double

兩者的差別在于表示的有效數字範圍不同。

資料類型 占用空間 有效數字範圍
float 4位元組 7位有效數字
double 8位元組 15~16位有效數字

示例:

int main() {

  float f1 = 3.14f;
  double d1 = 3.14;

  cout << f1 << endl;
  cout << d1<< endl;

  cout << "float  sizeof = " << sizeof(f1) << endl;
  cout << "double sizeof = " << sizeof(d1) << endl;

  //科學計數法
  float f2 = 3e2; // 3 * 10 ^ 2 
  cout << "f2 = " << f2 << endl;

  float f3 = 3e-2;  // 3 * 0.1 ^ 2
  cout << "f3 = " << f3 << endl;

  system("pause");

  return 0;
}      

​​傳回頂部​​

2. 字元型

作用:字元型變量用于顯示單個字元

文法:​

​char ch = 'a';​

注意1:在顯示字元型變量時,用單引号将字元括起來,不要用雙引号

注意2:單引号内隻能有一個字元,不可以是字元串

  • C和C++中字元型變量隻占用1個位元組。
  • 字元型變量并不是把字元本身放到記憶體中存儲,而是将對應的ASCII編碼放入到存儲單元

示例:

int main() {
  
  char ch = 'a';
  cout << ch << endl;
  cout << sizeof(char) << endl;

  //ch = "abcde"; //錯誤,不可以用雙引号
  //ch = 'abcde'; //錯誤,單引号内隻能引用一個字元

  cout << (int)ch << endl;  //檢視字元a對應的ASCII碼
  ch = 97; //可以直接用ASCII給字元型變量指派
  cout << ch << endl;

  system("pause");

  return 0;
}      

ASCII碼表格:

ASCII值 控制字元 ASCII值 字元 ASCII值 字元 ASCII值 字元
NUT 32 (space) 64 @ 96
1 SOH 33 ! 65 A 97 a
2 STX 34 " 66 B 98 b
3 ETX 35 # 67 C 99 c
4 EOT 36 $ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 , 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 80 P 112 p
17 DCI 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 TB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 < 92 / 124 |
29 GS 61 = 93 ] 125 }
30 RS 62 > 94 ^ 126 `
31 US 63 ? 95 _ 127 DEL

ASCII 碼大緻由以下兩部分組成:

  • ASCII 非列印控制字元: ASCII 表上的數字0-31配置設定給了控制字元,用于控制像列印機等一些外圍裝置。
  • ASCII 列印字元:數字32-126配置設定給了能在鍵盤上找到的字元,當檢視或列印文檔時就會出現。

​​傳回頂部​​

3. 轉義字元

作用:用于表示一些不能顯示出來的ASCII字元

現階段我們常用的轉義字元有:​

​\n \\ \t​

轉義字元 含義 ASCII碼值(十進制)
\a 警報 007
\b 倒退(BS) ,将目前位置移到前一列 008
\f 換頁(FF),将目前位置移到下頁開頭 012
\n 換行(LF) ,将目前位置移到下一行開頭 010
\r 回車(CR) ,将目前位置移到本行開頭 013
\t 水準制表(HT) (跳到下一個TAB位置) 009
\v 垂直制表(VT) 011
\\ 代表一個反斜線字元"" 092
代表一個單引号(撇号)字元 039
" 代表一個雙引号字元 034
? 代表一個問号 063
\0 數字0 000
\ddd 8進制轉義字元,d範圍0~7 3位8進制
\xhh 16進制轉義字元,h範圍09,af,A~F 3位16進制

示例:

int main() {
  
  
  cout << "\\" << endl;
  cout << "\tHello" << endl;
  cout << "\n" << endl;

  system("pause");

  return 0;
}      

​​傳回頂部​​

4. 字元串型

作用:用于表示一串字元

兩種風格

  1. C風格字元串: ​

    ​char 變量名[] = "字元串值"​

    ​示例:
int main() {

  char str1[] = "hello world";
  cout << str1 << endl;
    
  system("pause");

  return 0;
}      
注意:C風格的字元串要用雙引号括起來
  1. C++風格字元串: ​

    ​string 變量名 = "字元串值"​

    ​示例:
int main() {

  string str = "hello world";
  cout << str << endl;
  
  system("pause");

  return 0;
}      
注意:C++風格字元串,需要加入頭檔案 #include< string >

​​傳回頂部​​

5. 布爾類型 bool

作用:布爾資料類型代表真或假的值

bool類型隻有兩個值:

  • true — 真(本質是1)
  • false — 假(本質是0)

bool類型占1個位元組大小

示例:

int main() {

  bool flag = true;
  cout << flag << endl; // 1

  flag = false;
  cout << flag << endl; // 0

  cout << "size of bool = " << sizeof(bool) << endl; //1
  
  system("pause");

  return 0;
}      

​​傳回頂部​​

6. 資料的輸入

作用:用于從鍵盤擷取資料

關鍵字: cin

文法: ​

​cin >> 變量​

int main(){

  //整型輸入
  int a = 0;
  cout << "請輸入整型變量:" << endl;
  cin >> a;
  cout << a << endl;

  //浮點型輸入
  double d = 0;
  cout << "請輸入浮點型變量:" << endl;
  cin >> d;
  cout << d << endl;

  //字元型輸入
  char ch = 0;
  cout << "請輸入字元型變量:" << endl;
  cin >> ch;
  cout << ch << endl;

  //字元串型輸入
  string str;
  cout << "請輸入字元串型變量:" << endl;
  cin >> str;
  cout << str << endl;

  //布爾類型輸入
  bool flag = true;
  cout << "請輸入布爾型變量:" << endl;
  cin >> flag;
  cout << flag << endl;
  system("pause");
  return EXIT_SUCCESS;
}      

繼續閱讀