【C++基础】数据类型

C++规定在创建一个变量或者产量时,必须要指定相应的数据类型,否则无法给变量分配内存空间

数据类型的存在意义:给变量分配合适的内存空间

1|0整型

作用:整型变量表示的是整数类型的数据

在内存中的存储方式如下图所示:

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)

占的空间大小不同,导致取值范围也不一样,占用的空间越大,能表示的数字量的范围越广

int main() { // 整型 // 1、短整型 -32768 ~ 32767 // short num1 = 10; // short num1 = 32768; // 会输出 -32768 // 2、整型 int num2 = 10; // 3、长整型 long num3 = 10; // 4、长长整型 long long num4 = 10; // cout << "num1 = " << num1 << endl; cout << "num2 = " << num2 << endl; cout << "num3 = " << num3 << endl; cout << "num4 = " << num4 << endl; system("pause"); return 0; }

2|0sizeof 关键字

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

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

int main() { // 整型:short(2个字节) int(4个字节) long(4个字节) long long(8个字节) // 利用sizeof求出数据类型占用内存大小 // 语法:sizeof(数据类型/变量) short num1 = 10; cout << "short占用内存空间为:" << sizeof(short) << endl; cout << "num1 占用内存空间为:" << sizeof(num1) << endl; int num2 = 10; cout << "int 占用内存空间为:" << sizeof(int) << endl; long num3 = 10; cout << "long 占用内存空间为:" << sizeof(long) << endl; long long num4 = 10; cout << "long long占用内存空间为:" << sizeof(long long) << endl; // 整型大小比较 // short < int <= long <= long long system("pause"); return 0; }

整型大小比较:short < int <= long <= long long

3|0实型(浮点型)

作用:用于表示小数

浮点型变量分为两种

  • 单精度(float)
  • 双精度(double)

两者的区别在于表示的有效数字范围不同

此处与整型数字不太一样,浮点数的有效数字还包括小数点后面几位

而整型的有效范围则不包括小数点之后的内容

浮点数的有效数字不仅指小数点后面的数字,小数点前面的整数部分也属于有效数字

比如:3.14,有3位有效数字

单精度浮点数在定义的时候,会在数字后面加上f

float f1 = 3.14f;

因为若不指明是float类型的话,编译器默认认为它是double类型,如下图所示:

将这个数存到f1时,会将其进行转换,从double类型转换为float类型

输出时,默认会输出6位有效数字

表示小数还有一种方式:科学计数法

科学计数法,e后面如果是正数,则代表 10,如果是负数,则代表 0.1

int main() { // 科学计数法 float f2 = 3e2; // e 后面是正数 // 代表: 3 * 10 ^ 2,也就是300,且小数位都是0 cout << "f2 = " << f2 << endl; // 输出是300 float f3 = 3e-2; // e 后面是负数 // 代表:3 * 0.1 ^ 2,这样就是一个小数了, cout << "f3 = " << f3 << endl; // 输出是300 // e后面是正数,代表 10 // e后面是负数,代表 0.1 system("pause"); return 0; }

4|0字符型

作用:用于显示单个字符

语法: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表上的数字0-31分配给了控制字符,用于控制像打印机等外围设备。
  • ASCII 打印字符:数字32-126分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。

5|0转义字符

作用:用于表示一些不能显示出来的ASCII字符,也就是用于表示一些特殊的字符,就不用记这些特殊字符的ASCII码了,直接用转义字符表示这种特殊字符

常用的转义字符:\n \\ \t

所有的转义字符都是由两个字符拼接成一个字符的,且第一个字符都是\

\n 换行(LF),将当前位置移到下一行开头

\r 回车(CR),将当前位置移到本行开头

\t 水平制表(HT),跳到下一个TAB位置

\\ 代表一个反斜线字符 “\”

int main() { // 转义字符 // 换行符 \n cout << "hello world\n"; // 反斜杠 \\ // cout << "\" << endl; // 报错:缺少右引号 cout << "\\" << endl; // 水平制表符 \t cout << "aaa\thelloworld" << endl; // \t有多长,取决于前面的字符有多长,加上前面的字符,一共8个字符 // 前面的aaa有3个字符,则\t输出空格是5个,共8个 cout << "aaaa\thelloworld" << endl; // 前面的aaaa有4个字符,则\t输出空格是4个,共8个 // 水平制表符用于输出的时候有对齐的效果,默认算上前面的字符,共占8个字符 cout << "aaaa\thelloworld" << endl; cout << "aa\thelloworld" << endl; cout << "aaaa\thelloworld" << endl; // 由输出结果可以看出来,helloworld都是整齐输出的 system("pause"); return 0; }

水平制表符会根据前面的字符个数来判断输出多少个空格,默认共占8个位置

若前面的字符已经有8个了,则在这些字符后面重新找几个字符结合空格去占8个位置

6|0字符串

作用:用于表示一串字符

两种风格

  1. C风格字符串char 变量名[] = "字符串值";

    一些字符组合到一块,就成了字符串,示例:

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

注意:C风格的字符串要用 双引号 括起来

  1. C++风格字符串:string 变量名 = "字符串值";

    int main() { // C++风格字符串 // 使用前需要包含一个头文件 #include <string> string str2 = "hello world"; cout << str2 << endl; system("pause"); return 0; }

    string类型使用前需要包含头文件#include <string>

7|0布尔类型 bool

作用:布尔数据类型代表 的值

bool类型只有两个值:

  • true 真 (本质是1)
  • false 假 (本质是0)

bool类型1个字节大小

int main() { bool flag = true; cout << flag << endl; // 1 flag = false; cout << flag << endl; // 2 cout << "size of bool = " << sizeof(bool) << endl; // 1 system("pause"); return 0; }

8|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; }

注释快捷键:先按Ctrl + K然后按Ctrl + C,或者按住Ctrl后依次按 KC

解注释快捷键:先按Ctrl + K然后按Ctrl + U,或者按住Ctrl后依次按 KU


__EOF__

本文作者在青青草原上抓羊
本文链接https://www.cnblogs.com/seansheep/p/15887814.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   SeanSiyang  阅读(206)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示