数据类型

数据类型

文章目录

一、整型

  1. 短整型 short(2字节)
  2. 整型 int(4字节)
  3. 长整型 long(windows为4字节,linux为4字节(32位),linux为8字节(64位))
  4. 长长整型 long long(8字节)
	short num1 = 10;
    int num2 = 10;
    long num3 = 10;
    long long num4 = 10;
    cout << "num1=" << num1 << endl;
    cout << "num2=" << num2 << endl;
    cout << "num3=" << num3 << endl;
    cout << "num4=" << num4 << endl;

二、sizeof关键字

**作用:**利用sizeof关键字可以统计数据类型所占内存大小

语法sizeof(数据类型/变量)

例:

cout << "short类型所占内存空间为:" << sizeof(short) << endl;
cout << "int类型所占内存空间为:" << sizeof(int) << endl;
cout << "long类型所占内存空间为:" << sizeof(long) << endl;
cout << "long long类型所占内存空间为:" << sizeof(long long) << endl;

short类型所占内存空间为:2
int类型所占内存空间为:4
long类型所占内存空间为:4
long long类型所占内存空间为:8

整型结论:short<int <=long<=long long

三、实型(浮点数)

作用:表示小数

  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; 4字节
    cout << "double sizeof= " << sizeof(d1) << endl; 8字节
    //科学计数法
    float f2 = 3e2;//3*10^2
    cout << "f2=" << f2 << endl;
    float f3 = 3e-2;//3*10^2-2
    cout << "f3=" << f3 << endl;
    system("pause");
    return 0;
}

四、字符型

**作用:**字符型变量用于显示单个字符

语法:char ch = 'a';
注意

1:在显示字符型变量时,用单引号将字符括起来,不要用双引号注意

2:单引号内只能有一个字符,不可以是字符串

  • C和C++中字符型变量只占用1个字节
  • 字符型变星并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元

示例:

int main()
{
    char ch = 'A';
    cout << ch << endl;
    cout << sizeof(char) << endl;
    cout << (int) ch << endl;//强制类型转换成int
    ch = 65;
    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 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。

五、转义字符

**作用:**用于表示一些不能显示出来的ASCII字符

转义字符 含义 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进制

六、字符串类型

作用:用于表示一串字符

两种风格

  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++风格string,需要加入头文件==#include==

七、布尔型

**作用:**布尔数据类型代表真或假的值

bool类型只有两个值:

  • true — 真(本质是1)(c++中只要非0都代表真
  • 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;
}

八、数据的输入

作用:用于从键盘获取数据

**关键字:**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 0;
}
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 0;
}
上一篇:C/C++


下一篇:用ASCII码,求出一个字符串的最长无重复子串(子串为连续不间断)