数据是程序处理的对象,数据可以依其本身的特点进行分类。我们知道在数学中有整数、实数的概念,在日常生活中需要用字符串来表示人的姓名和地址,有些问题的回答只能是“是”或“否”(即逻辑“真”或“假”)。不同类型的数据有不同的处理方法,例如:整数和实数可以参加算术运算,但实数的表示又不同于整数,要保留一定的小数位;字符串可以拼接;逻辑数据可以参加“与”、“或”、“非”等逻辑运算。
我们编写计算机程序,目的就是为了解决客观世界中的现实问题。所以,高级语言中也为我们提供了丰富的数据类型和运算。C++中的数据类型分为基本类型和自定义类型。基本类型是C++编译系统内置的。 C++的基本数据类型如下表所示(下表中列出的各类型的长度和取值范围,是指以面向80x86处理器的 Viusal C++ 2012 和 gcc 4.8.1 的长度,其它的编译器并不一定是这个长度)。
bool所支持的字节数是1b,取值范围是false、true;
char、signed char所支持的字节数是1b,取值范围是-128~127;
unsign char所支持的字节数是1b,取值范围是0~255;
short (signed short)所支持的字节数是2byte,取值范围是-32768~32767;
unsigned short所支持的字节数是2byte,取值范围是0~65535;
int (signed int)所支持的字节数是4b,取值范围是-2147483648~2147483647;
unsigned int所支持的字节数是4b,取值范围是0~4294967295;
long (signed long)所支持的字节数是4b,取值范围是-2147483648~2147483647
unsigned long所支持的字节数是4b,取值范围是0~4294967295
unsigned long long所支持的字节数是8b,取值范围是0~18446744073709551615
float所支持的字节数是4b,取值范围是
double所支持的字节数是8b,取值范围是
long double所支持的字节数是8b,取值范围是 C++丰富的数据类型允许根据需要选择不同的类型,这也使得计算机的操作更复杂。
自动类型转换(隐式类型转换)
在下列四种情况中计算机自动进行类型转换: 在混合类型的算术表达式中 intival=3; doubledval=3.1415 ival+dval;//ival被提升为double类型:3.0 用另外一种类型的表达式赋值 int*pi=NULL;//NULL(0)被转换成了int*类型的空指针值 用一个表达式传递给一个函数调用 externdoublesqrt(double); sqrt(2);//2被提升为double类型:2.0 从一个函数返回一个表达式 doubledifference(intival1,intival2) { returnival1-ival2;//返回值被提升为double类型. } 强制类型转换(显示类型转换)
C++显式转换包含四种转换: static_cast:
用法:static_cast < type-id > ( expression )
说明:该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。 dynamic_cast :
用法:dynamic_cast < type-id > (expression)
说明:该运算符把expression转换成type-id类型的对象。Type-id必须是类的指针、类的引用或者void*; const_cast:
用法:const_cast<type_id> (expression)
说明:该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_id和expression的类型是一样的。 reinterpret_cast :
用法:reinterpret_cast<type-id> (expression)
说明:type-id 必须是一个指针、引用、算术类型、函数指针或者成员指针。它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针(先把一个指针转换成一个整数,在把该整数转换成原类型的指针,还可以得到原先的指针值)。
C++数据类型
在C++编程中,创建变量或常量时,需要指定对应的数据类型以分配合适的内存空间。C++提供四种整型数据类型,它们所占内存空间不同,分别用于满足不同需求。实型(浮点型)实型数据类型用于表示小数。C++中浮点型变量分为单精度float和双精度double两种。双精度double表示的有效数字范围更大。默认输出一个小数时...
C++语言中基本数据类型包括?
C++语言的基本数据类型有如下四种:·整型,说明符为int;·字符型,说明符为char;·浮点型(又称实型),说明符为float(单精度),double(双精度);·空值型,说明符为void,用于函数和指针。为了满足各种情况的需要,除了void型外,上述的三种类型前面还可以加上修饰符改变原来的含义。signed 表...
C++有几种数据类型
基本类型(Base Types): 这些是C++中预定义的最基本的数据类型,包括字符型(char)、整型(int)、浮点型(float)、双精度浮点型(double)以及布尔型(bool)。复合类型(Compound Types): 这些类型是由基本类型通过一些操作生成的。例如,数组(Array)、结构体(Struct)、联合体(Union)等。指针...
c++的数据类型和关键字有哪些?
1、数据类型关键字 short:修饰int,短整型数据,可省略被修饰的int。long:修饰int,长整型数据,可省略被修饰的int。long long:修饰int,超长整型数据,可省略被修饰的int。signed:修饰整型数据,有符号数据类型。unsigned:修饰整型数据,无符号数据类型。restrict:用于限定和约束指针,并表明指针是访问...
在c++中定义时int和double有何区别
在C++中,int和double是两种不同的数据类型,它们的主要区别在于存储的数值范围和精度。详细解释如下:1. 数值范围的不同 `int`是一个整型数据类型,它通常用于存储整数。整数范围因系统而异,但在大多数现代计算机系统中,`int`通常可以表示从约-2^31到约2^31-1的整数。这种数据类型占用内存相对较小...
C++中基本数据类型的表现形式
C语言中的数据类型丰富多样,包括字符型(char),布尔型(bool),整型(int),长整型(long),浮点型(float)等。其中,基本数据类型所使用的输出占位符以及它们所占字节数,会因硬件、操作系统和编译器的不同而有所差异。了解这些信息的途径是引入特定的头文件,如limits.h和float.h。字符型在本质上等同...
c++里有多少种类型
一些基本数据类型能够被 signed, unsigned, short, 和 long 修饰. 当类型修饰符单独使用的时候, 默认的类型是 int.可用sizeof() 获取类型的大小(字节数)--- C++中的关键字 --- asm 插入一个汇编指令.auto 声明一个本地变量.bool 声明一个布尔型变量.break 结束一个循环.case 一个switch语句的...
C++中的datatype什么意思?
datatype是数据类型。C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。数据类型关键字:1、short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)2、long:修饰int,长整型数据,可省略被修饰的int。(K&R...
c++中,float double区别
float和double都是C++中的浮点型数据类型,三者的区别是:1、精度是不同的。浮点类型是单精度浮点数,双类型是双精度浮点数。2、分配存储空间。c++编译器为浮点类型分配4字节,为双类型分配8字节。3、有效位的个数是不同的。Float可以提供6位有效数字,double可以提供15位有效数字。
C++有多少种基本数据类型?
C语言包含5个基本数据类型: void, int, float, double, 和 char.C++ 定义了另外两个基本数据类型: bool 和 wchar_t.一些基本数据类型能够被 signed, unsigned, short, 和 long 修饰 所以short,long等等都不算基本数据类型。这是书上说的,所以是7种基本数据类型.空值型是一种,但枚举型不算。