C++编程入门系列之四(数据类型)
来源:互联网 发布:上海巨人网络 编辑:程序博客网 时间:2024/06/07 03:14
C++编程入门系列之四(数据类型)
基本数据类型: 5种
分别是: bool(布尔型 )、char(字符型 )、int(整型 )、float(浮点型,表示实数 )、double(双精度浮点型),关键字signed和unsigned、short和long起修饰作用。short类型固定占2个字节,long类型固定占4个字节。
signed表示有符号数,unsigned表示无符号数。有符号数以二进制补码形式存储,最高位为符号位,“0”表示正,“1”表示负。无符号整数只能是正数。char型、int型、short型和long型默认情况也就是不加修饰的情况下是有符号(signed)的。
占字节数:
和机器字长及编译器有关系:
所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):
1 sizeof(short int)<=sizeof(int)
2 sizeof(int)<=sizeof(long int)
3 short int至少应为16位(2字节)
4 long int至少应为32位。
unsigned 是无符号的意思。
例如:
16位编译器
char :1个字节
char*(即指针变量): 2个字节
short int : 2个字节
int: 2个字节
unsigned int : 2个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
32位编译器
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
64位编译器
char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
常量
所谓常量就是在程序运行过程中始终不会变的量,就是直接用文字表示的值,例如,1,23,true,’B’都是常量。常量又分整型常量、实型常量、字符常量、字符串常量和布尔常量。
字符常量是单引号括起来的一个字符,比如:’b’,’?’。还有一些不可显示字符,例如响铃、换行、制表符等等,C++提供了一种转义序列的表示法来表示这些字符。比如:\a表示响铃,\n表示换行,\t表示水平制表符,\b表示退格,\r表示回车,\表示字符’\’,\”表示双引号,\’表示单引号。ASCII字符常量占用1个字节。
字符串常量是用双引号括起来的字符序列,比如:"China"。字符串常量会在字符序列末尾添加'\0'作为结尾标记。
符号常量
我们除了可以用文字表示常量以外,还可以给常量起个名字,这就是符号常量。这个符号常量就代表了那个常量。符号常量在使用之前必须声明,跟变量相似。符号常量声明形式:const 数据类型说明符 常量名=常量值; 或 数据类型说明符 const 常量名=常量值;。例如,我们给圆周率起个名字,就是符号常量,const float pi=3.1415926;。还有一点必须注意,符号常量声明时必须赋初值,在其他时候不能改变它的值。使用符号常量与文字常量相比有很多好处:程序的可读性更高,我们看到这个名字就能看出它的具体意思,再就是最重要的,如果我们多个地方都用了上面那个pi常量,但后来圆周率的值精度我想改一下,只用3.14,这个时候怎么把所有的pi都换掉呢?我们只需要修改pi的声明就行了:const float pi=3.14;,但是如果使用文字常量即所有用圆周率的地方直接写的3.1415926,那么就必须全找到再换掉,这样不但麻烦而且容易漏掉。
以上知识点需要回答的问题
- 有几种基本数据类型,分别是什么?
- 分别占的字节数是是多少?
- signed 和unsigned 区别是什么?
- 符号常量需要注意什么?有什么好处?
- 转移字符分别有什么?
- 相同的字符序列和字符串有什么sizeof有什么不同?
转自鸡啄米课堂并加以适当的修改
- C++编程入门系列之四(数据类型)
- C++编程入门系列之三(数据类型)
- C++编程入门系列之七(自定义数据类型)
- C++编程入门系列之八(自定义数据类型
- Swift语言编程入门实战系列教程(四)---从swift调用C函数的例子
- C++编程入门系列之四(运算符和表达式)
- Java入门之编程基础(四)
- objective-c 中数据类型之四 字典(NSDictionary)
- C语言快速入门系列(四)
- ExcelVBA编程系列之数据类型(1):常量
- ExcelVBA编程系列之数据类型(1):常量
- C# 3.0入门系列(四)-之Select操作
- C# 3.0入门系列(四)-之Select操作
- Rails3教程系列之四:Rails3入门(4)
- C语言系列之-----入门
- LaTeX入门系列之四(LaTeX模板)
- SASS学习系列之四--------- 快速入门
- Object - C 入门 之 数据类型详解
- MsgWaitForMultipleObjects
- base关键字
- 数据库连接池配置
- Canvas练习之绘制网格
- LA 4731 蜂窝网络(简单dp+贪心)
- C++编程入门系列之四(数据类型)
- Visual FoxPro正式版
- JAVA利用POI解析Excel图片,并按照标签号分类导入文件夹
- 微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧!
- 指针作为函数参数传递 (转载)
- 蛇形数组4
- JS表单验证
- Linux网络编程 - 域名与IP信息解析
- VS2015使用小技巧 如何知道一个类的命名空间