数据类型 | C++入门详解,一起学习!

梁老师
梁老师 北京小升初老师~

0 人点赞了该文章 · 50 浏览




数据类型

图片


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



1.1整型


区别:在于所占内存空间不同

图片


//短整型(-32768~32767)

short num1 = 32769;//输出就是一个负数-32768

//整型

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;


1.2sizeof关键字


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

图片


b = sizeof(a);


1.3实型(浮点型)


作用:表示小数

两种表示形式:

·1、单精度:float;占用空间:4字节;有效数字范围:7位有效数字

·2、双精度:double;占用空间:8字节;有效数字范围:15~16位有效数字

图片


float f1 = 3.14f;//不加f会默认double类型的,会多一步转化

cout << f1 << endl;

double d1 = 3.14;

cout << d1 << endl;

//统计float和double所占内存空间

cout <<"float占用的内存空间:"<< sizeof(float) << endl;

cout << "double占用的内存空间:" << sizeof(double) << endl;

//科学计数法

float f2 = 3e2;//3*10^2;

cout << "f2=" << f2 << endl;

float f3 = 3e-2;//3*0.1^2;

cout << "f3=" << f3 << endl;


1.4字符型


图中红色方框圈的位置

需要同学注意

是我们常用的一些字符的对照格式

请务必记住
零48,大A65小97
大小相差32

图片

作用:显示单个字符,只占用1个字节

语法:char ch=‘a’;

图片


//1、字符型变量创建方式

char ch = 'a';

cout << ch << endl;

//2、字符型变量所占内存空间大小

cout << "char字符型所占内存:" << sizeof(ch) << endl;

//3、字符型变量对应的ASCII编码

cout << (int)ch << endl;


1.5 转义字符


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

·\n:换行

·\t:水平制表:\t占用8个字符,如aaa+5个空格;aaaa+4个空格

·\ \:代表反斜线字符“\”



1.6字符串型


两种形式:

·C:char 变量名[ ]=“字符串值”

·C++:string 变量名= “字符串值”

图片


//C风格

char str[] = "hello world";

cout << str << endl;

//C++风格

string ss = "hello C++";  //需要一个#include头文件

cout << ss << endl;


1.7布尔类型bool


bool类型只有两个值,占1个字节大小

·true:真(本质是1)//非0的值都代表着真

·false:假(本质是0)

图片


//1、创建bool类型

bool flag = true;

bool flag1 = false;

cout << flag << endl;

cout << flag1 << endl;

//2、查看内存空间

cout << "bool类型所占的内存空间:" << sizeof(flag) << endl;


1.8数据的输入


关键字:cin>>变量,从键盘上获取数据

图片


cout << "请输入a的值:" << endl;

cin >> a;


1.9数据类型的转换


数据类型的转换是指,有时候我们输入的数据是整型,但要求
输出的是浮点型。比如我们的求平均数。那么就要用到我们的数据类型转换。它有两种方式。

自动转换

自动转换意思为计算机自动为我们进行转换,这里和我们的数据类型的字节数相关,当我们两个不同类型的数据类型进行算法运算或者赋值运算时,计算机会判断哪个类型的数据类型的字节数大,那么最后的结果会自动转化为该数据类型,比如:

图片


在这里,当我们是int/double时,因为double类型的字节数比int大,所以会把结果显示为0.5;

而int/int时,因为两者都为int,字节数相等,所以输出为int,即为0,此时出现精度丢失情况。

注意当整型和浮点型进行运算时,结果会默认为浮点型,就是为了避免出现精度丢失的情况。


强制转换

强制转换和自动转换相反,是我们只需要输出字节数小的数据类型时,但计算机已经默认帮我们转化为字节数较大的数据类型了。此时就需要进行强制转换。其格式如下:

图片


同样以整型和浮点型来对比,例子为

图片
图片


添加 家长论坛微信 



发布于 2024-04-20 21:00

免责声明:

本文由 梁老师 原创发布于 家长帮 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论

广告
All Rights Reserved Powered BY WeCenter V4.1.0 © 2025 京ICP备20005761号-2