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;
}
这个程序通过英文单词来代替数字,可以很清楚的了解程序员的意思,这就是枚举型常量的作用,它可以使程序的可读性增强
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/C++学习笔记16:常见数据类型的大小
- C++学习笔记之数据类型
- c++ 学习笔记之复合数据类型
- C++学习笔记之三 数据处理(基本数据类型)
- C++复合数据类型数组学习笔记
- C++学习笔记--数据类型
- C++学习笔记一:cout如何判断输入数据类型
- 学习笔记(C++中基础数据类型在内存的表现形式)
- C++学习笔记 基本数据类型
- C++学习笔记(六):复杂数据类型(string、容器和STL)
- C++学习序列笔记之数据处理(复合类型)
- VS2013MFC对话框工程学习笔记六 - 了解C++的数据类型
- C++的学习笔记(第二章:基本数据类型与表达式)
- 【C++学习笔记】对float型数据类型和double型数据的理解
- VS2013MFC对话框工程学习笔记七 - C++数据类型 - 整形 的简单学习
- 【C++】【学习笔记】【007-013】复杂的数据类型
- C++学习笔记(第七章 自定义数据类型 结构体应用 之三)
- C++学习笔记——6.复杂的数据类型
- C++学习笔记——2.简单的变量和数据类型
- c++学习笔记(二):数据类型