数据类型 运算符 和 表达式
一、什么是编程
用编程语言把人类的思想告诉计算机,让计算机解决人类的问题。是人类与计算机“交流”的途径。
编程语言有很多种类:C语言 python java......等,本文章主要学习C语言。
1、学习目标
(1)语法 //格式
(2)编程思维 //思路
(3)编程习惯
二、常量与变量
常量 在"程序运行过程"中,其值不能被改变的量称为 常量
变量 在"程序运行过程"中,其值能被改变的量称为 变量
三、C语言提供的数据类型
1、基本类型
(1)整型 //整数
整型常量形式
进制:
进位的制度(满几进一)
123 //十进制的常量形式
0123 //八进制的常量形式
0x123 //十六进制的常量形式
计算机最终存储的是二进制形式
进制的转化:
十进制 <=> n进制
方法:除n取余法
n进制 <=> 十进制
方法:加权求和
十六/八进制 <=> 二进制
方法:一位十六 / 八进制数 对应 四 / 三位二进制数
eg:八进制: 1 7 3 <======>二进制: 001(1) 111(7) 011(3)
十六进制:7 B <======>二进制:0111(7) 1011(B)
2.整型变量定义
定义变量方法:
语法: 数据类型+变量名
数据类型关键字 :
int //整型
short //短整型
long //长整型
long long //长长整型
变量名(标识符)命名规则:
1. 数字,字母,下划线
2. 不能是数字开头
3. 字母区分大小写
4. 不能与 关键字 重名
5. 不要和 库函数 重名
6. 不要和 预处理命令等二级关键字 重名
3.数据类型大小(占用内存空间的字节数)
sizeof(int) = 4 4字节
sizeof(short) = 2 2字节
sizeof(long) = 8 8字节
sizeof(long long) = 8 8字节
4.整型数据存储
8bits=1bytes
存储的两种方式:
小端(pc端默认为小端):高高低低(高位数据存储在高地址处,低位数据存储在低地址处)
大端
两种int类型存储方法(存储的均为补码):
unsigned int (无符号类型)
0000 0000 0000 0000 0000 0000 0000 0000 (数值位)
取值范围:【0, 2^32 -1 = 4,294,967,295】
signed int (有符号类型)
0/1(符号位:0正1负)| 000 0000 0000 0000 0000 0000 0000 0000 (数值位)
取值范围:【-2^31 = -2,147,483,648,2^31-1=2,147,483,648】
补码计算方法:
无符号类型及有符号类型正数补码与原码相同
有符号类型复数补码计算方法:1.求原码的反码(0变1、1变0)
2.求得反码后加1则为补码
(2)浮点型 //小数类型 --- 数值类型
1.浮点型 常量形式
浮点型常量默认为double类型
1.234
1.23e4 //科学计数法形式
1.23E4 //1.23 * 10 ^4
1.23E-4 //1.23 * 10^-4
2.浮点型 变量
float //单精度浮点类型
double //双精度浮点类型
3.浮点类型的大小
float 4字节
double 8字节
4.浮点数给值
float f = 1.234;
float f = 1.23e4;
5.浮点数的存储
将十进制形式的小数 转换为 二进制形式的小数 进行存储
整数部分:除2取余法
小数部分:乘2取整法
(3)字符型 //现实生活中的一些符号 --- 英语中出现符号
1.字符型常量
'a' //表示一个字符常量 a
2.字符型变量
字符类型 关键字
char
char ch;
3.字符型类型大小
一个字节
4.字符数据存储方法
'a' ---编码值(数值)----存到计算机
字符数据 实际是 存的是 编码值
5. ASCII编码
0~32 控制字符(不可见字符)
33之后 可见字符
48~57 '0'~'9' //数字字符 与 数值 之间转化
'0' - 48 //数值
0 + 48 //字符
65 ~ 90 'A' ~ 'Z'
+32
97 ~ 122 'a' ~ 'z'
char 类型 从本质上看 实际上也是一种整型(tiny int)
6. char类型取值范围
unsigned char [0,255]
signed char [-128,127]