深圳宝安网站制作公司,wordpress 主题 h5,临沂网,那些网站企业可以免费展示数据类型的定义 c语言的数据分类基本类型整型浮点型float和double的精度和范围范围精度 枚举类型空类型派生类型派生的一般表达形式 注 c语言的数据分类
首先是针对C语言的数据类型做个整理 大致分为四个大类型
基本类型枚举类型空类型派生类型
那么根据以上四个大类型 我们… 数据类型的定义 c语言的数据分类基本类型整型浮点型float和double的精度和范围范围精度 枚举类型空类型派生类型派生的一般表达形式 注 c语言的数据分类
首先是针对C语言的数据类型做个整理 大致分为四个大类型
基本类型枚举类型空类型派生类型
那么根据以上四个大类型 我们来一一的做一个分站式讲解
基本类型
基本类型其中大致分为两类 整型 和 浮点型
整型
(我在基本类型后面都附上了字节长度这里是指在64位编译器下的长度 32位和16位暂时不附) 整型包含 基本整型 int 4字节 短整型 short [int] 2字节 长整型 long [int] 8个字节 双长整型 long long [int] 8个字节 字符型 char 1个字节 布尔型 bool 1个字节或4个字节 这里布尔型要拿出小笔画画重点 布尔型有两个值而且只有两个值 就是true或者false。 boolean 1字节或者4个字节 如果使用boolean声明一个基本类型的变量时那么该变量占4个字节 如果使用boolean声明一个数组类型的时候那么每个数组的元素占一个字节。 注整型数据可在类型符号前面加修饰符signed(有符号整数类型)和unsigned(无符号整数类型)若不指定则默认为“有符号类型”。
浮点型
浮点型分为两种单精度浮点型和双精度浮点型
单精度浮点型【 float4个字节】双精度浮点型【double 8个字节】
对于查看字节 我们可以用个代码来让它得到展示 首先固定的格式
#include id -----头文件
#include notify ----头文件
using namespace std; //释放std命名空间中的变量名函数名以及类型名其中std是C标准库的命名空间。
int main ()
{return 0;
}#include cstdio
#include iostream
#include bitset
using namespace std;
int main()
{short x 5;int a 10;long b 20;float c 1.1;double d 2.2;cout short占用的字节 sizeof(x) endl;cout int占用的字节 sizeof(a) endl;cout long占用的字节 sizeof(b) endl;cout flaot占用的字节 sizeof(c) endl;cout double占用的字节 sizeof(d) endl;return 0;
}得到展示的值是
float和double的精度和范围
范围
float和double的范围是由指数的位数来决定。 float的指数位有8位而double的指数位有11位分布如下 float 1bit符号位 8bits指数位 23bits尾数位 double 1bit符号位 11bits指数位 52bits尾数位 所以 float的指数范围为-127~128 double的指数范围为-1023~1024 并且指数的范围是按照补码的形式来划分什么是补码会在后期的文章当中关注持续每天更新 而且其中负指数决定了浮点数所能表达的绝对值最小的非零数而正指数决定了浮点数所能表达的绝对值最大的数也即决定了浮点数的取值范围。
精度
float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的其整数部分始终是一个隐含着的“1”由于它是不变的所以不能对精度造成影响。
float2^23 8388608一共七位这意味着最多能有7位有效数字但绝对能保证的为6位也即float的精度为6~7位有效数字
double2^52 4503599627370496一共16位同理double的精度为15~16位。能绝对保证15位没有问题
枚举类型
枚举类型就只有枚举类型(enum) 有一个定义格式
enum 枚举名{元素1,元素2}那么没为什么要用枚举
#define MON 1
#define TUE 2
#define WED 3
#define THU 4
#define FRI 5
#define SAT 6
#define SUN 7就例如上面的代码块看起来很复杂但是利用枚举的方式就是
enum DAY{MON1,TUE,WED, THU, FRI, SAT, SUN};是不是简单的多 但是这里要注意第一个枚举成员的默认值为整型的 0后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1第二个就为 2以此类推。
空类型
空类型 即是 void类型 常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明函数和指针也会在后期慢慢的给大家详细讲讲可以表示一种未知类型但是不能代表一个真实的变量。 下面代码都企图让void代表一个真实的变量因此都是错误的代码 void a; //错误void function(void a); //错误void function(void); //正确void* 则为“无类型指针”可以指向任何类型的数据。无类型指针我后面会说
派生类型
在说派生类型前我们需要了解什么是面向对象划重点后面要考 面向对象的主要特征继承、封装和多态。 继承派生使一个类从现有的一个类中派生而不用重新定义新类。 实质是用已有的数据类型创建新的数据类型并保留已有的数据类型的特点。以旧类为基础创建新类新类包含旧类的的数据成员和成员函数并可以在新类中添加新的数据成员和成员函数。旧类被称为父类或基类新类被称为派生类或子类。 以上代码块只是举例说明
派生的一般表达形式 class 派生类名称标识符 : [继承方式] 基类名称标识符// [继承方式],继承的基类成员的方式public、protected、private是继承关系运算符。{[访问控制修饰符:] //派生类的访问控制类型public、protected、private[成员声明列表] //派生类新增成员列表继承来的成员不用重新列举}继承方式有3种其决定3种派生类型 分别为 public 公有型派生 protected私有型派生 private保护型派生 访问控制修饰符也是此3种类型。后期会针对3种派生类型做详细分析
注
在代码命名的时候注意保留关键字 那么哪些是保留关键字呢 我们来看个表 不可出现于表中相同的命名
今天的内容就到这里 明天会给大家开始说说数据于运算每天更新每天进步 。
“出发吧伟大的程序员啊”