一 数据类型

1. 什么是数据

生活中时时刻刻都在跟数据打交道 比如体重数据 血压数据 股价数据等 在我们使用计算机的过程中 会接触到各种各样的数据 有文档数据 图片数据 视频数据 还有聊QQ时产生的文字数据 用迅雷下载的文件数据等

2. 数据的分类

计算机中存储的数据可以分为两种: 静态数据和动态数据

1> 静态数据

a. 概念: 静态数据是指一些永久性的数据 一般存储在硬盘中

b. 存储的时长: 计算机关闭之后再开启 这些数据依旧还在 只要你不主动删掉或者硬盘没坏 这些数据永远都在

c. 哪些是静态数据: 静态数据一般是以文件的形式存储在硬盘上 比如文档, 照片, 视频等

2> 动态数据(临时数据)

a. 概念: 动态数据指在程序运行过程中 动态产生的临时数据 一般存储在内存中

b. 存储的时长: 计算机关闭之后 这些临时数据就会被清除

c. 哪些是动态数据: 当运行某个程序(软件)时 整个程序就会被加载到内存中 在程序运行过程中 会产生各种各样的临时数据 这些临时数据都是存储在内存中的 当程序停止运行或者计算机被强制关闭时 这个程序产生的所有临时数据都会被清除

3. 数据的大小

1 KB = 1024 B, 1 MB = 1024 KB, 1 GB = 1024 MB, 1 TB = 1024 GB

4. C语言中的数据类型

二 常量

1. 什么是常量

常量 表示一些固定的数据

2. 常量的分类

1> 整型常量(int)

包括了所有的整数 比如6, 27, 109, 256, -10, 0, -289等

2> 浮点型常量(float\double)

浮点型常量分为double和float两种数据类型

double: 双精度浮点型 其实就是小数 比如5.43, -2.3, 0.0等(注意 0.0也算是个小数)

float: 单精度浮点型 也是小数 比double的精确程度低 为了跟double区分开来 float型数据都是以f结尾的 比如5.43f, -2.3f, 0.0f 需要注意的是 绝对不能有10f这样格式的 编译器会直接报错 只有小数才允许加上f

3> 字符常量(char)

将一个数字(0~9), 英文字母(a~z A~Z) 或者其他符号(+, -, !, ?等)用单引号括起来 这样构成的就是字符常量 比如'6', 'a', 'F', '+', '$'等

注意: 单引号只能括住1个字符 而且不能是中文字符

4> 字符串常量

将一个或者多个字符用双引号("")括起来 这样构成的就是字符串常量 比如"6", "男", "哇哈哈", "abcd", "my_car4"

三 变量

1. 什么是变量

当一个数据的值需要经常改变或者不确定时 就应该用变量来表示 比如游戏积分

2. 定义变量

1> 目的

a. 任何变量在使用之前 必须先进行定义

b. 定义变量的目的是: 在内存中分配一块存储空间给变量 方便以后存储数据

c. 如果定义了多个变量 就会为这多个变量分别分配不同的存储空间

2> 格式

变量类型 变量名;

比如 int num;

a. 变量名属于标识符

b. 变量类型

b1> 不同类型的变量占用不同大小的存储空间 内存极其有限 分配适当的存储空间

b2> 约束变量所存放的数据类型(方便运算)

3. 变量的使用

1> 赋值

往变量里面存点东西 就是赋值 赋值语句后带个分号;

i = 10;

注意: 这里的等号= 并不是数学中的"相等" 而是C语言中的赋值运算符 作用是将右边的常量10赋值给左边的变量i

第一次赋值 可以称为"初始化"

初始化的两种形式

a. 先定义 后初始化: int a;  a = 10;

b. 定义的同时进行初始化: int a = 10;

2> 修改

a. 可以修改变量的值 多次赋值 每次赋值都会覆盖原来的值

i = 10;

i = 20;

变量i最后的值是20

b. 使用printf输出一个或多个变量的值

int a = 10, c = 11;

printf("a=%d, c=%d", a, c);

%d 是一个格式符(占位符) 只能输出整数

double\float\char的输出 格式符的一些小技巧

double height = 1.55;

char blood = 'A';

printf("height=%.2f, 血型是%c",  height,  blood);

%f 用来输出小数 默认是6位小数, %.2f输出2位小数, %.4f输出4位小数

%c 用来输出字符型

c. 简单的加减操作

int a = 10 + 20;

d. 没有初始化时不要拿来使用(下面的写法是不建议的)

int score;

printf("score=%d", score);

3> 变量之间值的传递

可以将一个变量的值赋值给另一个变量

int a = 10;

int b = a;

连续赋值

a = b = 10;

4> 常见错误

变量名相同  int a = 10;  int a = 12;

变量的作用域不对

变量的创建和释放过程

代码块作用域 {  int a = 10;  }

4. 变量的内存分析

1> 字节和地址

0x表示的是十六进制

a. 内存以"字节为单位"

b. 不同类型占用的字节是不一样的 数据越大 所需的字节数就越多

2> 变量的存储

a. 所占用字节数跟类型有关 也跟编译器环境有关

b. 变量实例

int b = 10;

int a = 20;

内存由大到小寻址 优先分配内存地址较大的字节给变量 b的内存地址比a大

每个变量都有地址 第一个字节的地址就是变量的地址

c. 查看内存地址

int a;

printf("a的地址是: %p\n", &a);

最新文章

  1. 第六次团队作业——Alpha冲刺之事后诸葛亮
  2. HTML5部分新标签属性及DOM扩展元素
  3. Retrofit源码分析(一)
  4. JavaScript学习笔记-实现枚举类型,扑克牌应用
  5. iOS设计模式之观察者模式
  6. Let the Balloon Rise
  7. Ubuntu ENet 的下载和编译
  8. mysql批量更新、多表更新、多表删除
  9. Linux 下安装包制作
  10. a:hover和a:visited书写顺序的重要性
  11. HDU 5024 Wang Xifeng's Little Plot 搜索
  12. ASP.NET Core介绍
  13. windows服务器基本管理及服务搭建
  14. JavaScript 初知
  15. NATS—发布/订阅机制
  16. 纯C:AES256
  17. Java中关于HashMap源码的研究
  18. PACS&DICOM
  19. Linux实用命令之git-svn
  20. C/C++——C语言库函数大全

热门文章

  1. Filter实现字符集统一设置
  2. M4修改外部晶振8M和25M晶振的方法
  3. OS--lab0+lab1+lab4+lab5+lab6+lab7
  4. app后端api设计【转】
  5. PHPStorm等编辑器debug调试(包括使用postman、soapUI)
  6. 使用apt-get install时如何指定安装版本
  7. 结合Bootbox将后台JSON数据填充Form表单
  8. 解决 LLVM 错误 cannot specify -o when generating multiple output files
  9. thinkphp5配置讲解
  10. 使用Letsencrypt做SSL certificate