C 数据类型 常量 变量

旧街凉风 提交于 2020-03-17 16:42:55

 数据类型

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)

包括了所有的整数 比如627109256, -100, -289

2浮点型常量(float\double)

浮点型常量分为doublefloat两种数据类型

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

float单精度浮点型 也是小数 double的精确程度低 为了跟double区分开来 float型数据都是以f结尾的 比如5.43f, -2.3f0.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);

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!