C 数据类型 常量 变量
一 数据类型
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);
C 数据类型 常量 变量的更多相关文章
- java学习笔记----数据类型,变量,常量
一.数据类型 1.基本类型(8种,又称内置数据类型).6种数字类型(byte,short,int,long,float,double),一种字符型(char),一种布尔类型(boolean). byt ...
- [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念
上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...
- Java编程基础——常量变量和数据类型
Java编程基础——常量变量和数据类型 摘要:本文介绍了Java编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...
- C语言---程序的一般形式、数据类型、常量变量、运算符、表达式、格式化输入输出
1. 程序的一般形式 (1)注释 ① 分类:单行注释( // ): 注释一行.多行注释( /**/ ): 在这个区间内,都属于多行注释,可以换行. ② 作用:提示代码的作用,提示思路 不写注释的后 ...
- Swift学习(四)常量&变量&基础数据类型
常量和变量 常量: 使用let关键词来声明一个常量 所指向的是一个特定类型的值,如数字10或者字符”hello”,常量的值是不能够被二次修改的 编程时使用常量能够让代码看起来更加安全和简洁! let ...
- swift学习第一天---常量变量基础数据类型
import Foundation /** * 1.常量 变量 知识要点:常量的定义用let 变量的定义用var 常量一旦定义便不可再更改. 变量定义之后可以在定义之后的程序中任意地方进行修改. */ ...
- 01-Java基础知识:数据类型与变量、标识符、运算符、表达式
Java基础知识:数据类型与变量.标识符.运算符.表达式 一.数据类型 Java定义了基本数据类型.引用数据类型.自定义类型. 八种基本数据类型:byte (1). short (2). int ( ...
- C#1 输入输出 常量变量
C# 输入输出 常量变量 //输出 Console.WriteLine("这是一行文字"); 自动回车的. Console.Write("Hello world&qu ...
- Python教程(2.2)——数据类型与变量
和C/C++.Java一样,Python也有数据类型和变量两个概念. 数据类型 Python中的几个基本数据类型为整数(integer/int).浮点数(float/float).布尔值(boolea ...
随机推荐
- rnnlm学习
rnn-lm: 1.论文 2.公式推导 2.1 http://blog.csdn.net/a635661820/article/details/44462315 3. 工具 lstm-lm 1. 论文 ...
- TCP-IP and Advanced Topics 课程总结与报告
课程总结 学习了四周十六课的课程,对每一课的知识点进行总结梳理,作出一个树状的知识网络图. 本课程虽然在深度上有所欠缺,但却更有利于结构上的梳理,加深总体上对网络的理解. 本课程从Internet出发 ...
- type和 #define
1.#define INT8U unsigned char : 用INT8U代替unsigned char 2.typedef typedef int size; 此声明定义了一个int的同义字 ...
- 撸一个简单的MVVM例子
我个人以为mvvm框架里面最重要的一点就是VM这部分,它要与Model层建立联系,将Model层转换成可以被View层识别的数据结构:其次也要同View建立联系,将数据及时更新到View层上,并且响应 ...
- [Medium翻译]RESTful API权威设计指南-设计更好的API
本文为授权译文.希望查看原文的同学请戳链接:https://hackernoon.com/restful-api-design-step-by-step-guide-2f2c9f9fcdbf 对于我们 ...
- Unity 游戏框架搭建 (二十三) 重构小工具 Platform
在日常开发中,我们经常遇到或者写出这样的代码 var sTrAngeNamingVariable = "a variable"; #if UNITY_IOS || UNITY_AN ...
- iOS 获取蜂窝网络信号强度 包含iPhoneX XS XR XSMASX (最新)
1.虽然各种直接获取信号强度的api都被封杀了.但是还有一个另类的黑魔法可以获取到.那就是遍历UIStatusBar了 网络上有的文章写的会崩溃 比如: - (int)getSignalStrengt ...
- 国产Linux下开发正式开工(deepin)
配置开发环境 1.一般工具 在深度商店安装QQ,微信,安装一般软件WPS,Navicat数据库工具,文本编辑notepadqq. 影视娱乐爱奇艺,优酷,酷狗. 2.安装主要的开发环境 (1)c# 深度 ...
- axios和ajax,fetch的区别
1,传统 Ajax 指的是 XMLHttpRequest(XHR), 最早出现的发送后端请求技术,隶属于原始js中,核心使用XMLHttpRequest对象,多个请求之间如果有先后关系的话,就会出现回 ...
- html5中audio支持音频格式
HTML5 Audio标签能够支持wav, mp3, ogg, acc, webm等格式,但有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持.不是所有的浏览器都支持MP ...