您的位置:首页 > 编程语言 > C语言/C++

C语言02_基本数据类型

2018-02-04 12:14 288 查看

C语言的数据类型:

[code]

知识点: C语言中, unsigned 和 signed 关键字,用来修饰变量是否带符号,也就是正负. unsigned 无符号<=> 变量只能是大于等于0的数, signed 有符号 <=> 变量可以是负数.

[/code]

编译器的基本数据类型变量如果不声明一般默认是有符号的.

基本数据类型:

1.整型: 整型变量表示的是整数类型的数据. 默认有符号.

整数分为 正整数, 负整数, 0. 所以计算机为了表示正负,用了第一位当符号位. int 基本型, 在32位和64位系统上都占4个字节. 占用内存也就是32位,因为是二进制表示,所以2^32=4294967296, 去掉一位符号为, 0占一位, 所以范围表示: -2^31 ~ (2^31) - 1<=> -2147483648~ 2147483647. short 短整型, 在32位和64位系统上都占2个字节. 占用内存16位<=>范围:-2^15 ~ (2^15) -1 <=> -32768~32767 long 长整型, 在32位系统上是4字节,64位系统是8字节.内存如上计算. __int64 | long long 在VC中是__int64,在gcc中是long long, 用来表示超过了32位的整数.占用内存64位.

2.浮点型: 浮点型变量表示的是实数类型的数据. 有符号而且不能用unsigned修饰.实数类型没有无符号类型.

float 单精度浮点数 占4个字节, 占用内存是32位. double 双精度浮点数 占8个字节, 占用内存64位. 浮点数在计算机内用指数型式表示, 可以分解为:数符, 尾数, 指数符, 指数四部分。数符占1位, 表示数字的正负.指数符占1位, 表示指数的正负.尾数表示浮点数有效数字, 即小数点后多少位.指数存指数的有效数字.指数占多少位, 尾数占多少位, 由计算机系统决定.如果是数符加尾数占24位, 指数符加指数占8位 即 float.数符加尾数占48位, 指数符加指数占16位 即 double.

3.字符类型: 字符变量表示的是单个字符类型的数据. 默认符号是根据编译器来的.

char 字符型 占1个字节, 占用内存8位. 我们键盘上的26个字母加上大小写, 加特殊字符等按照从0~127编号, 这就是该字符的ascii码.所以char类型本质其实就是一位的整数. 注意: 在c语言中一个汉字是占2个字符的.所以需要字符数组来表示.这个很好理解,因为中文2^8=256个全部用来表示中文也不够.所以用两个字符表示, 2^16=65536个字符,就能表示几乎全部的中文了.但是其他的一些语言中文是用一个字符来表示,但是这些语言一个字符一般都是两个字节.想要详细了解下编码方式可以参考: 编码方式 unsigned char 和 signed char: 我们一般的编译器像 VC, GCC的默认char类型是有符号的,据说 arm-linux-gcc上的char类型是无符号的, 也就是unsigned char类型, 因为ascii码只有127个, 所以无符号和有符号的用法差别不大.其他语言可能还有byte(字节)类型, 在c语言中可以用unsigned char 来模拟. 查看原文:http://www.welcom212.com/wordpress/?p=165
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: