您的位置:首页 > 编程语言 > C语言/C++

C++数据类型:基本数据类型 构造数据类型(自定义数据类型)

2013-12-22 13:59 435 查看
数据类型

从广义上根据量的值是否可变,可分为常量和变量两种数据类型。

根据数据复杂程度,划分为基本数据类型和构造数据类型这两大类。

其中,基本数据类型包括:整型(short,int,long)、实型(又称浮点型)(float和double)、字符型char、布尔型bool等。

构造数据类型包括:数组类型、枚举类型enum、指针类型、引用类型、结构体struct、联合体union(又称联合,共用体)、类class等,他们可以通过其他的数据类型进行构造,由程序员自定义,又称为自定义数据类型。



基本数据类型

基本数据类型包括整型(short,int,long)、实型(又称浮点型)(float和double)、字符型char、布尔型bool等,他们都可以用于定义常量和变量。

基本数据类型,也叫做基础类型,或内置类型。

1、整型(short,int,long)

整型量,包括短整型short、整型int、长整型long,而且3种类型都可以分别再细分为:有符号(signed)以及无符号(unsigned)。



2、实型(又称浮点型)(float和double)

实型,又称为浮点型,它包括两种数据类型:单精度浮点数float和双精度浮点数double。他们都是有符号数据类型。如果一个数值常量,包含小数点、指数部分(字符e),则为浮点数。

双精度浮点型,还可细分为双精度(double型)、长双精度(long double)



代码练习:

#include<iostream>

#define MAX 3.1415926 //宏定义

using namespace std;

int main()

{

const float PI=3.1415926; //定义数据类型为float类型的常量PI,其值为3.1415926

float a,b; //定义数据类型为float型的变量a,b。

a=1.8798786; //对变量a进行赋值

b=1.23; //对变量b进行赋值

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

cout<<"PI="<<PI<<endl;

cout<<"MAX="<<MAX<<endl;

return 0;

}



运行结果:

a=1.87988

b=1.23

PI=3.14159

MAX=3.14159



注意:

VC 6.0编译器提醒3个警告,truncation from 'const double' to 'const float',数据类型隐式转换。

例子中第6、8、9行的警告,VC 6.0编译器自动进行数据类型隐式转换,自动转换成float保留小数点后5位有效数字,并且四舍五入。

宏定义不会替代" "双引号里面的。VC 6.0编译器也会自动把宏定义的数值保留小数点后5位有效数字,并且四舍五入(如遇到末尾是0不输出,例如如果遇到3.14160,编译器会输出3.1416,已经编译执行测试)。







3、字符型char

字符型char类型定义的常量,必须要用单括号括起来。

例如:char ch='a' ; //把字符常量'a'存储到ch中。

字符型char类型量也可以细分为有符号(char)和无符号(unsigned char)。



字符型 char

双字符型 wchar_t





4、布尔型bool

布尔型的取值为true或者false。

布尔型变量的说明:例:bool flag;

则布尔型数据的变量flag取值:只有 false 和 true 两个值,即分别是0和1。

牢记False是0,true是1。



布尔型

布尔类型 bool (1字节)

代码练习:

#include<iostream>

int main()

{

bool abc=true;//布尔型可以表示两个逻辑值,1和0,即真或者假

//上面是把布尔值变量abc初始化为true。该语句等同于 "bool abc=1;"

if (abc==true) //小心容易打错字,是true不是ture!可以注意软件显示字体的颜色

{

std::cout<<"abc为真。\n";

}

return 0;

}

运行结果:

abc为真。



c++六种常用数据类型分别是:

布尔型 bool

整型 int

单精度浮点型 float

双精度浮点型 double

字符型 char

双字符型 wchar_t



整型数据类型代码练习:

#include<iostream>

using namespace std;

int add(int x, int y)

//int是c++的数据类型

//int 它表示整数,或者说是整型。

{

return x+y;

}

int main()

{

int x=1,y=2;

cout<<add(x,y)<<endl;

return 0;

}

运行结果:

3



短整型变量代码练习:

#include <iostream>

using namespace std;

int main()

{

int x;//定义变量的类型,告诉计算机分配多少的空间。

short int a;//可以缩写为 short a;

long int b;//可以缩写为long d;

short c;

long d;

cout<<"short int:"<<sizeof(a)<<endl;//sizeof()的作用是告诉用户括号中的参数所占用的字节数

cout<<"short:"<<sizeof(c)<<endl;

cout<<"long:"<<sizeof(d)<<endl; //也可以写 sizeof(int); sizeof(long);等

unsigned short e;

cout<<"unsigned short:"<<sizeof(e)<<endl;

signed long f;

cout<<"signed long:"<<sizeof(f)<<endl;

return 0;

}

运行结果:

short int:2

short:2

long:4

unsigned short:2

signed long:4



例子中定义的变量均没有正式使用,编译器会提醒:warning C4101: unreferenced local variable

C++规定变量必须“先定义、后使用”,如果我们定义了变量而没有使用,编译器就会提醒warning C4101: unreferenced local variable。

其中sizeof()的作用是告诉用户括号中的参数所占用的字节数。

用法例如:sizeof(a),sizeof(int)







构造数据类型

有些比较复杂的数据,单纯用基本数据类型未能表示,在C++中程序员可以用基本数据类型来自定义构造出新的数据类型,称构造数据类型,也称作构造类型、构造数据类型。

构造数据类型除了可以用常见的如int、float和double、char、bool等基本数据类型进行构造,也可以包含其他构造类型的数据。

构造数据类型包括:数组类型、枚举类型enum、指针类型、引用类型、结构体struct、联合体union(又称联合,共用体)、类class等,他们可以通过其他的数据类型进行构造,由程序员自定义,又称为自定义数据类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: