
一、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.字符型、整型存储格式:补码
需要课件源码资料的可以私聊我哦~


更多C语言学习教程:职坐标的个人空间_哔哩哔哩_bilibili