欢迎来到天天文库
浏览记录
ID:13749451
大小:533.00 KB
页数:63页
时间:2018-07-24
《c和c++语言基本知识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章C和C++语言基本知识2.1数据类型(datatypes)程序的主要任务之一是处理数据,因此,我们首先须要知道有哪些数据类型,它们占用多大内存。C++语言中,数据的类型可归纳为两大类:第一类是C++系统所提供的一系列基本数据类型,称为“预定义数据类型(pre-defineddatatype)”(和C语言中提供的数据类型基本相同);第二类是用户自己定义的一系列数据类型,称为“用户自定义数据类型(user-defineddatatype)”。C++主要使用第二类。本章主要介绍“预定义数据类型”,而从第三章开始将陆续介绍“用户自定义数据类型”。C语言中本来也有一些“用户自定义数据类
2、型”,主要是数组、结构体和联合。但C++中由于编程需要,用户将大量定义各种“类”,本课件中主要讨论“类”。各“预定义数据类型”可用以下关键词表达,例如:int,char,double,bool,long等。程序可以为各类数据类型建立各个变量(variable),例如建立或声明(declare)整型变量j,以下语句用于声明一个变量:intj;其中int是整型数据类型,而j则是整型变量。变量被称为数据类型的实例(instances),建立变量的过程称为实例化(instantiation)。也可在声明变量的同时将它初始化,以下语句用于定义(define)一个变量。intj=10;或int
3、j(10);2.1.1各种数据类型的长度所有数据类型的变量都在内存中占据一定空间,其长度可使用sizeof来确定。sizeof是一个宏而不是函数(本章§2.6.4中将介绍宏与函数的区别),它在系统的编译阶段就已求值了。这里它用于求某个变量在内存中的长度,也即该变量所占有的字节数。其使用格式为:对于变量inta;可用sizeof(a);或sizeof(int);其它如sizeof(double);等[例1]读取预定义类型(即由C++系统本身所定义的类型)数据的长度(大部分数据的说明见任何一本C语言书籍)//var_size.cpp//Tocheckthesizesofdifferen
4、tkindsofvariables#includevoidmain(){std::cout<<"sizeof(char):"<5、cout<<"sizeof(long):"<6、sizeof(longdouble)<<'';}/*Results:sizeof(char):1sizeof(bool):1sizeof(short):2sizeof(int):4sizeof(unsigned):4sizeof(long):4sizeof(float):4sizeof(double):8sizeof(longlong):8sizeof(unsignedlonglong):8sizeof(longdouble):8*/这是在32位机上的运行结果,操作系统是WindowsXP,C++平台是VisualStudio2003。和以前16位机上的运行结果不同。但和64位7、机的Windows7操作系统的VS2010平台上运行的结果却是相同的。2.1.2整型数据例如intj;(可正可负的整数)和unsignedinti;(只有正值的整数)它们各占32个二进制位(四个字节)的空间。这32个二进制位可用四种不同方式表示一个整数值:二进制、八进制、十进制和十六进制。以十进制值15为例,可表示如下表中任何一种形式:二进制八进制十进制十六进制1111017150xF(或0xf)这四种表示方式之间的数值关系请见文件“附录.doc”中附录一“不同基数制
5、cout<<"sizeof(long):"<6、sizeof(longdouble)<<'';}/*Results:sizeof(char):1sizeof(bool):1sizeof(short):2sizeof(int):4sizeof(unsigned):4sizeof(long):4sizeof(float):4sizeof(double):8sizeof(longlong):8sizeof(unsignedlonglong):8sizeof(longdouble):8*/这是在32位机上的运行结果,操作系统是WindowsXP,C++平台是VisualStudio2003。和以前16位机上的运行结果不同。但和64位7、机的Windows7操作系统的VS2010平台上运行的结果却是相同的。2.1.2整型数据例如intj;(可正可负的整数)和unsignedinti;(只有正值的整数)它们各占32个二进制位(四个字节)的空间。这32个二进制位可用四种不同方式表示一个整数值:二进制、八进制、十进制和十六进制。以十进制值15为例,可表示如下表中任何一种形式:二进制八进制十进制十六进制1111017150xF(或0xf)这四种表示方式之间的数值关系请见文件“附录.doc”中附录一“不同基数制
6、sizeof(longdouble)<<'';}/*Results:sizeof(char):1sizeof(bool):1sizeof(short):2sizeof(int):4sizeof(unsigned):4sizeof(long):4sizeof(float):4sizeof(double):8sizeof(longlong):8sizeof(unsignedlonglong):8sizeof(longdouble):8*/这是在32位机上的运行结果,操作系统是WindowsXP,C++平台是VisualStudio2003。和以前16位机上的运行结果不同。但和64位
7、机的Windows7操作系统的VS2010平台上运行的结果却是相同的。2.1.2整型数据例如intj;(可正可负的整数)和unsignedinti;(只有正值的整数)它们各占32个二进制位(四个字节)的空间。这32个二进制位可用四种不同方式表示一个整数值:二进制、八进制、十进制和十六进制。以十进制值15为例,可表示如下表中任何一种形式:二进制八进制十进制十六进制1111017150xF(或0xf)这四种表示方式之间的数值关系请见文件“附录.doc”中附录一“不同基数制
此文档下载收益归作者所有