C++是一种静态类型的编程语言,它提供了多种数据类型用于存储不同类型的数据。
基本数据类型:
整型数据类型:
long
:长整型,通常为32位或64位。与int
相似,但范围更大。
short
:短整型,通常为16位。与int
相似,但范围较小。
int
:通常用于表示整数值。其大小通常在编译器中定义,但至少应为16位(通常为32位或64位)。可以使用算术运算符(如+、-、*、/)对整数进行基本的算术操作。
整型结论:short < int <= long <= long long
浮点型数据类型:
double:用于表示双精度浮点数,占用8个字节(64位)。适用于更大范围和更高精度的浮点数计算。
float:用于表示单精度浮点数,占用4个字节(32位)。适用于较小的浮点数计算。
字符型数据类型:
char:用于表示单个字符或小整数值。它占用1个字节,并可以用单引号括起来表示字符常量,例如'a'或'7'。还可以表示特殊字符,如换行符(\n)或制表符(\t)
语法:
char ch = 'a';
注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
注意2:单引号内只能有一个字符,不可以是字符串
注意3:C和C++中字符型变量只占用1个字节。
注意4:字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
布尔型数据类型:
bool:用于表示逻辑值,只能取两个值之一:true(真)或false(假)。通常用于条件判断和控制流程。
复合数据类型:
数组类型:
数组是一种允许存储相同类型元素的数据结构。在声明数组时,需要指定数组大小。可以使用索引来访问和操作数组中的元素。例如,
int myArray[5]
声明了一个具有5个整数元素的数组。
结构体类型(struct):
结构体是一种自定义的数据类型,允许将不同类型的数据组合在一起形成一个单独的实体。可以在结构体中定义成员变量和成员函数,用于操作这些数据
类(class):
类是面向对象编程(OOP)的基本概念之一,在C++中实现了封装、继承和多态等特性。类可以包含成员变量和成员函数,成员函数可以访问和操作类的成员变量。可以使用类创建对象,并通过对象调用相应的成员函数。
指针类型:
指针是存储内存地址的变量。可以通过使用指针访问和修改内存中的数据。指针类型与所指向的数据类型相对应,例如
int*
表示指向整型变量的指针,char*
表示指向字符型变量的指针。
类型修饰符:
const
:用于声明常量,一旦初始化后,其值不能被修改。static
:用于声明静态变量,静态变量在程序执行期间仅被初始化一次,并且在全局范围内可见。volatile
:用于声明易变的变量,它告诉编译器该变量的值可能会在意料之外的情况下发生改变。unsigned
:用于表示非负数,可以与整型数据类型一起使用,例如unsigned int
。
在C++中,可以使用各种操作符来处理不同类型的数据。例如,算术操作符(+、-、*、/)用于处理数值类型,比较操作符(==、<、>)用于比较数据,逻辑操作符(&&、||、!)用于处理布尔类型等。此外,C++还提供了许多内置的库函数和标准库,用于处理各种数据类型,如输入输出、字符串处理、数学计算等。
sizeof关键字
作用:利用sizeof关键字可以统计数据类型/数据所占内存大小
语法:
sizeof( 数据类型 / 变量)
转义字符
作用:用于表示一些不能显示出来的ASCII字符
数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:
cin >> 变量
cin >>
是C++中的输入运算符,用于从标准输入流(通常是键盘)读取数据并将其存储到指定的变量中。当使用cin >>
运算符从输入流中读取数据时,程序会等待用户在终端中输入数据并按下回车键,然后才会继续执行后续的代码。如果输入的数据类型与变量类型不匹配,或者输入的数据格式不符合要求,可能会导致错误或意外的行为。
ASCII码
ASCII(American Standard Code for Information Interchange)是一种常见的字符编码标准,它定义了128个字符的编码,包括数字、字母(大写和小写)、特殊字符和控制字符等。需要注意的是,ASCII 码是一个7位编码标准,因此只能表示128个字符。后来的扩展编码标准(如Unicode)则能够支持更多的字符。在C++中,我们通常使用字符类型
char
来表示 ASCII 字符,可以通过将字符赋值给char
变量来获得其 ASCII 值。请注意,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** 分配给了能在键盘上找到的字符,
- 数字:0-9 对应的 ASCII 码分别是 48-57。
- 大写字母:A-Z 对应的 ASCII 码分别是 65-90。
- 小写字母:a-z 对应的 ASCII 码分别是 97-122。
- 特殊字符:
- 空格:ASCII 码是 32。
- 标点符号:如句号(.)、逗号(,)、感叹号(!)等,其 ASCII 码各有对应。
- 符号:如加号(+)、减号(-)、乘号(*)、除号(/)等,其 ASCII 码各有对应。