码迷,mamicode.com
首页 > 其他好文 > 详细

C-2.1 数据

时间:2015-06-12 14:48:06      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

C的数据 其实和其他语言一样的。C99无非增加了几个新的数据类型。

基本可以分为以下:

  • 实数
  • 字符
  • 逻辑(到后面 其实 这个就是 整数类型的一种[short int]) 王爽老师的名言:以后用到的知识以后再学。
  • 其他类型

实数包括什么?

  • 整数 如:12345...  整数在C语言分为:
    • 长整数: long int  在内存中占字节 8个
    • 整数:int  在内存中占字节 4个
    • 短整数:short int  在内存中占字节 2个
    • 超长整数:long long int   在内存中占字节 16个 这是C99标准新出

其实把新出的这个 long long int没必要。我们又不是科学家 普通的计算 int就足够我们用了的。很少有情况要用 long int

重点:

还有一点要讲 这些 都分 有 符号 和无 符号 类型。
很简单。有符号的 就有负数
没符号的 就没负数
但是他们的不同点就是 长短一样。
打个比方:
1~100 是100个数字对吧
-49~50 是不是也是100个数字? 这个不好解释想想就明白了
因为总共 100个数  你分给谁也改变不了的 不是么?

 

  • 小数 如:1.2 1.3  568.123
    • 单精度小数:float  在内存中占字节 4个
    • 双精度小数:Double  在内存中占字节 8个
    • 长双精度小数:long duoble   在内存中占字节 16个

这些 都分 有 符号 和无 符号 类型。

单精度小数就是 一个数字 后面的小数保存的位数
笔者具体也记不清楚了 反正到时候写程序的时候 肯定会debug
那时候就清晰了
这里我们假设
float 8位
Double 20位
long Double 50位

123.123456789111111111111[ 小数点后面21位]
那么这个数字
float 保存会变成 :123.12345678
Double 保存会变成 :123.1234567891111111111[保存20位 最后一位 扔了]
long Double 保存会变成 :123.12345678911111111111[因为位数是够的 所以可以全部保存]

有人会问了 尼玛XXX  float 保存的不应该是 123.12345679的么?
你是不是这么想的。 8后面的9所以要进1?
我给你的答案是 C语言是 直接扔掉不会 给你进位的!

  • 字符 如:‘A‘ ‘B‘ ‘C‘ ‘a‘
    • 字符:Char   在内存中占字节 1个
  • 逻辑 只有两个:True false   真或者假
    • 真:true   在内存中占字节 2个
    • 假:flase  在内存中占字节 2个
  • 其他数据类型 可以是自定义的。这个以后在讲!

以上统统不要记 用到的时候 你就懂了 就是 “容器的大小 和类型而已”

C-2.1 数据

标签:

原文地址:http://www.cnblogs.com/summergull/p/4571511.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!