基本数据类型

整型

整数(没有小数点的数值)

int 占用4个字节 -2^31~2^31-1 (10^10以内的数字)

short 占用2个字节-2^152^15-1 (-3276832767)

long 占用4个字节-2^31~2^31-1 (10^10以内的数字)

long long 占用 8个字节-2^63~2^63-1

32位环境下 规定字节数int一定不能小于short long一定不能小于int(有可能相等)

浮点型

实型,小数 有小数点的类型

float 单精度浮点型 4个字节 -3.4*10^38~3.410^38 精度6~7位 运算比较快 对于精度要求不高用float

double 双精度浮点型 -1.7*10^308~1.710^308 精度16~17位 精度比较高 但计算比较慢

字符类型

char

az AZ 都是一个字符

hello 视为 5个字母

数字 字母 标点符号 都可以用字符类型表示

用键盘输入的字符都在ASCII上 0~127 ASCII中的范围

char 用来存放字符—> 存放这些数字 -128127 -2^72^7-1

ASCII对应 0对应48 A对应65 a对应97 空格对应32

变量命名方式

代码中使用的数据分为变量 常量

变量 代码数据可以发生改变的量 列如:半径

常量 代码中数据不可以改变的量 列:圆周率

变量命名规则

  1. 数字 下划线 字母 美元符号组成
  2. 数字不能作为开头
  3. 已经用于做其他事情的单词(int float double)
  4. 关键字(32个)不能作为变量名

驼峰命名法:多个单词组成的名字

多个单词组成——> 首单词除外 其余单词首字母大写

基本输入输出语句

printf 输出

​ 对于不同类型 有不同的输出方式

​ 格式占位符 说明要输出的是什么类型的数据

1
2
3
4
int   %d
float %f
double %lf
char %c

转义字符

1
2
3
4
5
\n 换行
\t 制表符
\\ 单个\的意思 一般用来写路径
\'
\"

& 取地址预算符 获取变量地址

类型转换

精度 低—->高

char int float double

int x=3.14;//得到结果是 3 进度丢失

float y=3;// 低精度数据赋值给高精度的变量

二进制

数据 存放在内存中 全部都是以二进制的形式

1010 四位数字 一位二进制 称之为一个bit

内存基本单位是字节 (Byte) 1Byte=8bit

整数在内存中的存放方式(掌握)

char 存放ASCII 1个字节 8bit 8位二进制存放这个char

int 4个字节 32位二进制存放一个int

97 余数


48 1

24 0

12 0

6 0

3 0

1 1

0 1

从下往上倒着写==》 0110 0001

负整数 存放的方式

最高位为符号位 1 负数

-97

1110 0001 (绝对值 二进制 0110 0001 最高位改成1表示负数) 源码

1001 1110 (除去原码最高两位 其余位全部0变1 1变0) 反码

1001 1111 (反码+1) 补码

小数在内存中的存放方式(了解)

float 4个字节 32位 1位存符号位 8位指数位 32位存尾数位

double 8个字节 1位符号位 11位指数位 52位尾数位

0.147852 整数部分和小数部分

整数部分0 —-> 二进制 0

小数部分

.147852 乘以2 取 整数部分


0.295704 0

0.591408 0

1.182816 1

0.365632 0

0.731464 0

1.462528 1

…….可以继续乘……..

0.001001 (二进制形式的小数)

移动之后 小数点右边的数字称之为尾数

存-3 指数

对于float 指数 直接加127 然后在算二进制

124 0111 1100

1×2^-3+1×2^-6

对二进制的操作 基于整数 的二进制

代码 中没有二进制

​ 8进制和10进制和16进制

​ 二进制 和10进制转化方式

8进制 满8进1 0~7 0开头表示一个八进制数字

16进制 满16进1 09 AF(可以小写)表示16进制数字 0x表示一个十六进制数字

%o 输出整型的8进制形式

%x %X 输出整型的16进制形式

4位二进制转化成一位16进制

3位二进制转化成一位8进制

运算符

什么是运算符 运算符的作用

基本的运算所用的符号 比如+ 两个数字相加运算

对数据进行基本的运算

注意事项

+-*/%

运算符含义

优先级 计算的顺序 ()优先级最高

运算符计算

算术运算符+ - * / %

除法1.0/2=0.5 3/4=0

printf中 %f和%lf 效果是一样的

% 取余(取模) 求余数 (只能两个整数才可以求余)

3%4 3

双目 3+4 两个数据相加

从左往右 1+2+3+4*5

关系运算符和逻辑运算符

比较两个数据大小 得到比较结果 > < >= <= == !=

比较左右两端数据 3<4 成立为真1 不成立为假0

== 比较左右两端的数据是否相等 (一个=是赋值运算符 不要弄错了)

分支语句 用做条件 循环的条件

三目运算符 用做条件

分支语句 用做条件 循环的条件

三目运算符 用做条件

逻辑运算符 作用连接关系运算符的

x必须是比3大 并且比15小

逻辑或 ||表示左右两个条件成立一个就为真

逻辑与 &&表示左右两个条件都需要成立才为真