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

C++学习笔记 数据类型

2014-08-28 15:49 323 查看
C++有六种数据类型:bool、char、wchar_t、int、float和double型。

1. bool(布尔型)

bool型表示两个逻辑值1或0,如:bool a; a = true;//true表示1,false表示0.

2. char(字符型)

char型变量占一个字节(8位),所以一个字符型变量可表示0~255之间的一个数或者某个ASCII码,不多赘述。

3. wchar_t(双字节型)

char型只能存储一个字节的字符,像中文、韩文、日文等占据两个字节的就无法用char型变量来存储,C++提供了wchar_t类型来存储这类字符。

#include <iostream>
#include <locale>//这个头文件中定义了下面的setlocale函数
using namespace std;
int main()
{
setlocale(LC_ALL,"chs")/*调用setlocale函数将本机的语言设置为中文简体,第一个参数LC_ALL表示设置所有的选项,包括金融货币、小数点、时间日期格式、语言、字符串的使用习惯等等;"chs"表示中文简体。*/
wchar_t wt[] = L"中";/*定义一个宽字符数组变量wt,用来保存中文字符“中”,前面的L用来告诉编译器分配两个字节的空间给“中”*/
wcout << wt;//wcout代替cout来输出宽字符
return 0;
}
4. int(整型)(4字节)

整型变量可分为长整型(long int或long占4个字节)和短整型(short int或short占2个字节),可以用sizeof()函数来检验long和short占的字节数。 

同一整型又可以分为无符号的(usigned)和有符号的。如:unsigned short能表示0~65535之间的数,而有符号的short只能表示-32768~32767(最高位为1表示负数,0表示正数) 

5. float/double(浮点型)

长度为4字节,取值范围很大,但不是每一位都精确,有效数字为6~7位。

#include <iostream>
#include <iomanip> //输入输出流控制头文件
int main()
{
float a=12.3456789012345;
cout<<a; //输出12.3457只到6位
cout<<setprecision(15)<<a;/*该函数用来设置输出的精度,这里设置15位数字,但是输出12.3456792831421在第七位后就不能保证数据正确性了*/
return 0;
}
如果改成double那么就能准确的输出了,double长度为8个字节,有效数字在15~16位,但是double消耗的内存是float的两倍,所以能用float的时候尽量不要用double,以节省内存,加快运算速度。

6. 常量

前面加const关键字,定义过的常量不能再对其进行赋值。另外还有枚举型常量,用关键字enum来声明:

enum num{zero,one,two,three,four}; //enum将后面的num声明为枚举型,num定义了5个值,分别代表0~5,第一个默认为0,后面一次增加1.

我们也可以改为赋值:enum num{zero=100,one,two=200,three,four};这样子的话one就是101了,three就是201,four就是202

下面来说明一下枚举型常量的作用:

#include <iostream>
using namespace std;
int main()
{
enum day{Sunday,Monday,Tuesday,Wednesday,Thirsday,Friday,Saturday};//Sunday为0,其他依次加1
day today;//创建一个变量today
today = Monday;//将Monday赋值给today
if(today==Sunday || today==Saturday)
cout<<"周末休息\n";
else
cout<<"工作日\n";
return 0;
}

这个程序通过英文单词来代替数字,可以很清楚的了解程序员的意思,这就是枚举型常量的作用,它可以使程序的可读性增强
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ enum 数据类型