一、C语言中数据类型的概述 1. 数据类型的用途 数据类型就是用来限定变量的存储形式和数值范围 2. 数据类型的分类
基本类型,也就是C语言中的基础类型,其中包括整数类型、字符型、实型(浮点型)、枚举类型。
构造类型就是使用基本类型的数据,或者使用已经构造好的数据类型,进行添加、设计构造出新的数据类型,使其设计的新构造类型满足待解决问题所需要的数据类型。 它并不像基本类型那样简单,而是由多种类型组合而成的新类型,其中每一组成部分称为构造类型的成员。 构造类型也包括三种形式:数组类型、结构体类型和共用体类型。
C语言的精华是指针,指针类型不同于其他类型的特殊性在于:指针的值表示的是某个内存地址。
空类型的关键字是void,其主要作用在于:对函数返回的限定;对函数参数的限定。 也就是说,一般一个函数都具有一个返回值,将其值返回调用者,这个返回值是具有特定的类型,但是当函数不必返回一个值时,就可以使用空类型设定返回值的类型。 二、C中进制之间的转换 1. 几进制:就是逢几进一 2. C语言中常用的进制:二进制、八进制、十进制、十六进制。 3. 各进制在C中的表示形式 二进制:无 ---通常会在文档中(非代码中) 以b后缀 0101b 八进制:以0 开头 十进制:默认 十六进制:以 0x 或0X 开头 区别:012 12 0x12 4. 各进制从1--16 的表示方式和相互转换 5. 常见的2的次方 2^7=128 2^8=256 2^10=1024 2^15=32768 2^16=65536 6. 各进制之间的数值转换 二进制 & 八进制 2^3=8 1. 二进制 ----> 八进制 从二进制低位开始3个合一个, 高位不够补零 2.二进制 <-----八进制 八进制一个拆3个 二进制 & 十六进制 2^4=16 1.二进制 ----> 十六进制 从二进制低位开始4个合一个,高位不够补零 2.二进制 <-----十六进制 十六进制一个拆4个 三、C中基本数据类型的关键字表示和数值范围入文字输入文字 分析数值范围的目的:
1. 数据类型关键字 针对与字符型、整型 数据是存在 有无符号之分的 signed unsigned 字符型:char 占用 1字节空间 短整型:short 占用 2字节空间 基本整型:int 占用 4字节空间 长整型:long 占用 4字节空间 单精度浮点型:float 占用 4 字节空间 双精度浮点型:double 占用 8字节空间 2. 数值范围 1.求字节关键字:sizeof 用法 sizeof(数据类型/变量名/常量) 功能:计算 数据类型/变量名/常量 所占用的内存空间字节数 3. 字符型数值范围 无符号的 unsigned char 数值范围: 0----0xff(2^8-1 255) 有符号的 signed char 或者 char 最高位:符号位 0 正 1 负 低7位:数据位 数值范围: -128 ----0x7f(2^7 -1=127) 4. 短整型数值范围 1.无符号的 unsigned short 数值范围:0----0xffff(2^16 -1=65535) 2.有符号的 signed short 或者 short 最高位:符号位 0 正 1 负 低15位:数据位 数值范围:-32768 ----0x7fff(2^15 -1=32767) 5. 基本整型数值范围 无符号的 unsigend int 数值范围: 0----0xffffffff(2^32 -1 ) 6. 长整型、浮点型数值范围 1.长整型:long 所占用的字节数是和硬件平台有关 在32位CPU平台上,long 也是 4字节;在64位平台,long 才是 8字节 2.单精度浮点型:float 保留到小数点后 6位有效数据 3.双精度浮点数:double 保留到小数点后 15~~16位有效数据 (和平台有关,在32位CPU显示不了) 四、C中常量和变量的操作 1. 无需定义,可以直接使用,只读的 2. 常量的分类 3. 变量操作 变量必须先定义,后使用 ,可读可写 3.1变量的定义 1.格式: 数据类型 变量名 ; 变量名 规范: 规范1:符合标识符,只能是 数字、字母(26个英文字母)、下划线、$ 一个或组合,并且数字不能作为变量的开头 规范2:不能和C中已存在的关键字冲突 规范3:区别大小写 规范4:尽可能望文生义 (在实际开发中,每个公司都有一套自己变量命名规则) 3.2变量的赋值-写操作 1.C中 = 赋值号 2.写操作是一种覆盖写,会改变变量原来的值 3.变量出现在 = 的左边 4.赋值的两种方式 方式一:在定义时赋值 int a = 10; 方式二:先定义,在使用时赋值 int a; a =10; 3.3变量的读操作 读操作不会改变变量本身的值,出现在 = 右边 3.4变量的注意事项 1.在一个函数中,同一个变量只能被定义一次,可多次使用 2.如果要定义的多个变量属于同一类型,可以省略数据类型,简便定义 举例 int a; int b; int c; char d; 简便定义: 数据类型 变量名1,变量名2,变量名3; int a=10,b,c; char d; b=100; 3. 'a’ 和 a “num” 和 num 五、C中的关键字 1. C语言中存在32个关键字 2. 关键字:被C99规范以占用的字母的组合 第一类 :数据类型相关的 unsigned signed char short int long float double sizeof 六、C中数据的存储形式 核心点:对数据操作,和该数据所在的类型特性保持一致----不要跨类型数据操作 1. 字符型和 整型 数据 的存储方式是一样的--都是以数据的二进制补码形式存在, (和浮点型的存储方式不同--也就是说 字符、整型 不用和 浮点型 混合使用 ) (字符型 和整型 在 数据有限范围内(字符范围) 可以混合使用--但是最好不要) 2. 对于正数: 数据的 原码 = 反码= 补码 3. 对于负数: 原码:数据直接展开的二进制形式 反码:除符号位以外,原码全部取反 补码:反码 + 1 4. 对存储的理解:环形存储 最大 + 1 = 最小 最小 -1 =最大 5. 浮点型的存储方式,到后面学习完指针来分析 6. 负数的补码数据的形式---以 int 4字节存在 以 -157 为例: 步骤1:先把 157 转换成 二进制,然后在 补全成 32位数据,最高位符号位为 1 1 0000000 00000000 00000000 1001 1101 原码 1 1111111 11111111 11111111 0110 0010 反码 1 1111111 11111111 11111111 0110 0011 补码 七、总结 1.分析、掌握数据类型范围的目的:是为了更加合理的定义变量的数据类型 (保证够用,适当浪费) 2.所以编程者只需记忆 字符型 和 短整型 的 数值范围 3.各基本数据类型的关键字、所占用的字节数 4.变量的定义、读写操作 5.字符型、整型存储格式:补码
|
|