C++基礎入門_02數據類型

2 數據類型

C++規定在創建一個變量或者常量時,必須要指定出相應的數據類型,否則無法給變量分配內存

2.1 整型

作用:整型變量表示的是整數類型的數據

C++中能夠表示整型的類型有以下幾種方式,區別在於所佔內存空間不同

數據類型 佔用空間 取值範圍
short(短整型) 2字節 (-2^15 ~ 2^15-1)
int(整型) 4字節 (-2^31 ~ 2^31-1)
long(長整形) Windows爲4字節,Linux爲4字節(32位),8字節(64位) (-2^31 ~ 2^31-1)
long long(長長整形) 8字節 (-2^63 ~ 2^63-1)

2.2 sizeof關鍵字

作用:利用sizeof關鍵字可以統計數據類型所佔內存大小

語法: sizeof( 數據類型 / 變量)

示例:

int main() {

	cout << "short 類型所佔內存空間爲: " << sizeof(short) << endl;

	cout << "int 類型所佔內存空間爲: " << sizeof(int) << endl;

	cout << "long 類型所佔內存空間爲: " << sizeof(long) << endl;

	cout << "long long 類型所佔內存空間爲: " << sizeof(long long) << endl;

	system("pause");

	return 0;
}

整型結論short < int <= long <= long long

2.3 實型(浮點型)

作用:用於表示小數

浮點型變量分爲兩種:

  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.4 字符型

作用:字符型變量用於顯示單個字符

語法: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 字符
0 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 0 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 分配給了能在鍵盤上找到的字符,當查看或打印文檔時就會出現。

2.5 轉義字符

作用:用於表示一些不能顯示出來的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;
}

2.6 字符串型

作用:用於表示一串字符

兩種風格

  1. C風格字符串char 變量名[] = "字符串值"

    示例:

    int main() {
    
    	char str1[] = "hello world";
    	cout << str1 << endl;
        
    	system("pause");
    
    	return 0;
    }
    

注意:C風格的字符串要用雙引號括起來

  1. C++風格字符串string 變量名 = "字符串值"

    示例:

   #include<stream>

   int main() {
   
   	string str = "hello world";
   	cout << str << endl;
	
   	system("pause");
   
   	return 0;
}

注意:C++風格字符串,需要加入頭文件**#include<string>**

2.7 布爾類型 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;
}

2.8 數據的輸入

作用:用於從鍵盤獲取數據

關鍵字: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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章