C/C++學習筆記 基礎入門系列(二)

C/C++基礎入門系列

寫在前面的話

C++學了一段時間了,現在在整理筆記,作爲備份和分享,會一點點的連載上來,如果此時的你在看這篇文章,而且想學C/C++,本篇系列文章或許能幫助你打基礎,爲了方便大家,代碼我也直接碼在上面了,如果複製粘貼都懶得做的話,過段時間我會把整理好的代碼打包傳到下載裏面。

目錄

第一部分 HelloWorld的起點
第二部分 初探數據類型(一)
第三部分 初探數據類型(二)
第四部分 認識運算符(一)
第五部分 認識運算符(二)
第六部分 理清思路,寫好邏輯結構(一)
第七部分 理清思路,寫好邏輯結構(二)
第八部分 理清思路,寫好邏輯結構(三)
第九部分 數據處理神器之數組(一)
第十部分 數據處理神器之數組(二)
第十一部分 寫好函數,學會功能複用(一)
第十二部分 寫好函數,學會功能複用(二)

第二部分 初探數據類型(一)

二、數據類型(一)

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

2.1 整型

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

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

數據類型 佔用空間 取值範圍
short(短整型) 2字節 -215~215 -1
int(整型) 4字節 -231~231-1
long(長整型) Windows爲4字節、Linux爲4字節(32位),8字節(64位) -231~231-1
long long(長長整型) 8字節 -263~263-1

注意: 一定要注意變量類型來存儲對應數據,避免數據溢出,例如 short a = 32738 , 會溢出,實際爲-32768

2.2 sizeof關鍵字

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

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

示例:

#include<iostream>

using namespace std;

int main() {

	short a;
	int b;
	long c;
	long long d;

	cout << sizeof(short) << endl << sizeof(int) << endl << sizeof(long) << endl << sizeof(long long) << endl << endl;

	cout << sizeof(a) << endl << sizeof(b) <<endl << sizeof(c) << endl << sizeof(d) << endl;

	system("pause");

	return 0;
}

總結:short < int ≤ long ≤ long long

2.3 實型(浮點型)

作用: 表示小數

浮點變量分爲兩種:

  • 單精度浮點型
  • 雙精度浮點型

兩者區別在於有效數字範圍不同

數據類型 佔用空間 有效數字範圍
float 4字節 7爲有效數字
double 8個字節 15~16位有效數字

示例:

#include<iostream>
using namespace std;

int main() {

	float f1 = 3.14f;
	double d1 = 3.14;

	cout << "f1 = " << f1 << endl;
	cout << "d1 = " << d1 << endl;

	f1 = 3.1415926535f;
	d1 = 3.1415926535;

	cout << endl << "f1 = " << f1 << endl;
	cout << "d1 = " << d1 << endl << endl;

	cout << sizeof(f1) << endl << sizeof(d1) << endl;

	// 科學計數法
	cout << endl << 3e2 << endl << 3e-2 << endl;

	system("pause");

	return 0;
}

注意:

  • float 需要在數值後面加上 f,否則會被認爲是double型,如下圖

在這裏插入圖片描述
在這裏插入圖片描述

  • 默認輸出最高保留六位有效數字

  • 科學計數法xen 表示 x*10^n,默認爲double型

    在這裏插入圖片描述

    在這裏插入圖片描述

2.4 字符型

作用: 用於顯示單個字符

語法:char ch = 'a';

注意1:在定義字符變量時,要用單引號括起來,不要用雙引號

注意2:單引號內只能有一個字符,不可以是字符串

  • C和C++字符型變量只佔用1個字節
  • 字符型變量並不是把字符本身放到內存中存儲,而是將對應的ASCII碼放入存儲單元

示例:

#include<iostream>
using namespace std;

int main() {

	char ch = 'a';

	cout << ch << endl;
	cout << sizeof(ch) << endl;

	cout << (int)ch << endl;	// 查看ASCII碼

	//ch = "a";				// 報錯
	//ch = 'chinese';

	cout << (int)'a' << endl;
	cout << (int)'A' << 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

特殊字符解釋:

NUL空 VT 垂直製表 SYN 空轉同步
STX 正文開始 CR 回車 CAN 作廢
ETX 正文結束 SO 移位輸出 EM 紙盡
EOY 傳輸結束 SI 移位輸入 SUB 換置
ENQ 詢問字符 DLE 空格 ESC 換碼
ACK 承認 DC1 設備控制1 FS 文字分隔符
BEL 報警 DC2 設備控制2 GS 組分隔符
BS 退一格 DC3 設備控制3 RS 記錄分隔符
HT 橫向列表 DC4 設備控制4 US 單元分隔符
LF 換行 NAK 否定 DEL 刪除

ASCII碼大致有以下兩部分組成:

  • ASCII非打印控制字符:ASCII表上的數字0-31分配給了控制字符,用於控制箱打印機等一些外圍設備
  • ASCII打印字符:數字32-126分配給了能在鍵盤上找到的字符,當查看或打印文檔時就會出現
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章