iOS_04_数据类型、常量、变量
一、数据
1.什么是数据
* 生活中时时刻刻都在跟数据打交道,比如体重数据、血压数据、股价数据等。在我们使用计算机的过程中,会接触到各种各样的数据,有文档数据,图片数据,视频数据,还有聊天QQ产生的文字数据,用迅雷下载的文件数据等。
2.数据的分类
* 计算机种存储的数据可以分为两种:静态数据和动态数据。
* 静态数据
# 概念:静态数据是指以些永久性的数据,一般存储在硬盘中,硬盘存储空间一般都比较大,现在普通计算机的硬盘都有500G左右,因此硬盘中可以存放一些比较大的文件。
# 存储的时长:计算机关闭之后在开启,这些数据依旧还在,只要你不主动删掉或者硬盘没坏,这些数据永远都在。
# 那些是静态数据:静态数据一般是以文件的形式存储在硬盘上,比如文档、照片、视频等。
* 动态数据(临时数据)
# 概念:动态数据指在程序运行过程中,动态产生的临时数据,一般存储在内存中。内存的存储空间一般比较小,现在普通计算机的内存只要4G左右,因此要谨慎使用内存,不要占用太多的内存空间。
# 存储的时长:计算机关闭之后,这些临时数据就会被清除。
# 哪些是动态数据:当运行某个程序(软件)时,整个程序就会被加载到内存中,在程序运行过程中,会产生各种各样的临时数据,这些临时数据都是存储在内存中的。当程序停止运行或者计算机被强制关闭时,这个程序产生的所有临时数据都会被清除。
你可能会问:既然硬盘存储空间这么大,为何不把所有的应用程序加载到硬盘中去执行呢?有个主要原因是内存的访问速度比硬盘快N倍。
程序员最关心的是什么数据呢?
* 静态数据和动态数据的转换
# 静态 -> 动态 硬盘( jjj.mp4 ) -转- 内存 (暴风影音 )
# 动态 -> 静态 互联网 -> 内存(迅雷) -> 硬盘(jjj.mp4)
3.数据的大小
* 不管是静态还是动态数据,都是0和1组成的。0和1如果组成这么多得数据?
* 数据都有大小,静态数据就会占用硬盘空间,动态数据就会占用内存空间。
* 数据越大,包含的0和1就越多,比特位和字节
* 1kb = 1024b, 1MB = 1024kb, 1G =1024MB,1TB = 1024GB
4.app中得各种数据
* 游戏分数、聊天记录、新闻 等
5.C语言中的数据类型
由于app中得数据种类繁多,为了方便操作数据,c语言数据进行了分类
* 空类型 :void
* 指针类型 : void*
* 构造类型 : 数组、struct(结构体)、union(共用体)、enum(枚举)
* 基本数据类型 : int(整型)、char(字符型)、浮点型 float(单精度浮动型)double(双精度浮点型)。
二、常量
1.什么是常量
* 常量,表示一些固定的数据
2.常量的分类
* 整型常量(int)
# 包含了所有的整数,比如6、27、108、-190、-278等
* 浮点型常量(float\double)
浮点型常量分为double和float两种类型
# double:双精度浮点型,其实就是小数。比如5.43、-2.3、0.0(注意,0.0也算是个小数)
# float:单精度浮点型,也是小数,比double的精确程度低,也就是说所能表示的小数位比较少。为了跟double区分开来,float型数据都是以f结尾的,比如5.4f、-2.3f、0.0f。需要注意的是,绝对不能有10f这样的格式,编译器会直接报错,只有小数才允许加上F。
* 字符常量(char)
# 将一个数字(0~9)、英文字母(a~z、A~Z)或者 其他符合(+、-、!、?等)用单引号括起来,这样构成的就是字符常量。比如’6‘、’a‘、’F‘,’+‘、‘$’等。
注意:单引号只能括住1个字符,而且不能是中文字符,下面的写法是错误的:'abc',‘123356’、‘男’。
* 字符串常量
# 将一个或者多个字符用双引号(“”)括起来,这样构成的就是字符串常量。比如“6”、“男”、“哇哈哈”、“jdjjl”、“my_car3”、其实printf("hello world");语句中得“hello world”就是字符串。
三、变量
1、 什么是变量
* 当一个数据的值需要经常改变或者不确定是,就应该用变量来表示。比如有些积分。
2、定义变量
* 目的
# 任何变量在使用之前,必须先进行定义。
# 定义变量的目的是:在内存中分配一块存储空间给变量,方便以后存储数据。
# 如果定义了多个变量,就会为这多个变量分配不同的存储空间。
* 格式
# 变量类型 变量ming;
比如 int num;
# 变量属于标识符
# 变量类型
# 不同的类型变量占用不同的大小的存储空间。内存极其有限,分配适当的存储空间。
# 约束变量所存放的数据类型(方便运算)
* 实例
int main()
{
int i; char c; int a、b; return 0;
}
3.变量的使用
* 赋值
# 往变量里面存点东西,就是赋值。赋值语句后带个分号;
i = 10;
注意:这里的等号 =, 并不是数学中的“相等”,而是c语言中得赋值运算,作用是将右边的常量10赋值给左边的变量i 。
# 第一次赋值可以称为初始化。
# 初始化的两种形式
- 先定义,后初始化:int a; a = 10;
- 定义同时初始化: int a = 10;
* 修改
# 可以修改变量的值,多次赋值。每次赋值都会覆盖原来的值。
i =10;
i = 20;
变量最后的值为20;
# 使用printf()输出一个\多个变量的值
int a = 10, c=11
printf ("a=%d,d=%d",a,c);
#double \float\char 的输出,格式符的一些小技巧
double height = 1.55;
char blood = 'A';
printf(“height = %2f,血型是%c",height,blood);
# 简单的加减操作
int a = 10 +20;
# 没有初始化时不要拿来使用(下面的写法是不建议的)
int score;
printf("score =%d",score);
* 变量之间值的传递
# 可以将一个变量的值赋值给另一个变量
int a = 10;
int b = a;
# 连续赋值
a = b = 10;
4.常见错误
* 变量名相同 int a = 10; int a = 12;
* 变量的作用域不对
# 变量的创建和释放的过程
# 代码块的作用域{int a = 10;}
iOS_04_数据类型、常量、变量的更多相关文章
- C 数据类型 常量 变量
一 数据类型 1. 什么是数据 生活中时时刻刻都在跟数据打交道 比如体重数据 血压数据 股价数据等 在我们使用计算机的过程中 会接触到各种各样的数据 有文档数据 图片数据 视频数据 还有聊QQ时产生的 ...
- 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 ...
随机推荐
- 【Henu ACM Round #13 E】Spy Syndrome 2
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 对m个串建立一棵字典树. 然后对主串. 尝试从第一个位置开始.在字典树中尝试匹配 如果匹配到了位置i 就再从位置i+1开始尝试匹配 ...
- Linux中配置网桥
使用kvm虚拟机时,有时候需要自己添加网桥供guest使用. 不使用libvirt来管理的话,可以使用以下方法创建网桥并绑定到物理网卡(RHEL6/Fedora已实验): 1.创建网桥配置文件ifcf ...
- Python学习笔记3:简单文件操作
# -*- coding: cp936 -*- # 1 打开文件 # open(fileName, mode) # 參数:fileName文件名称 # mode打开方式 # w 以写方式打开. ...
- PIM-DM协议内核触发机制及协议执行机制记录
PIM-DM和PIM-SM是组播路由ASM(随意信源组播)中的两种不同模式.相对PIM-SM的组播注冊机制.PIM-DM的扩散机制显得更加粗犷. 一.PIM-DM无需向内核注冊pimreg虚接口. 可 ...
- QTP校验数据库中数据后台项目
数据校验功能后台主要包含两个类:QTPCommonServlet.java和QTPCommonDao.java 当中QTPCommonServlet.java为: package com.runqia ...
- LuoguP2764 最小路径覆盖问题(最大流)
题目描述 «问题描述: 给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶点开 ...
- pgrep---以名称为依据从运行进程队列中查找进程
pgrep命令以名称为依据从运行进程队列中查找进程,并显示查找到的进程id.每一个进程ID以一个十进制数表示,通过一个分割字符串和下一个ID分开,默认的分割字符串是一个新行.对于每个属性选项,用户可以 ...
- 今日SGU 5.3
SGU 107 题意:输入一个N,表示N位数字里面有多少个的平方数的结尾9位是987654321 收获:打表,你发现相同位数的数相乘结果的最后几位,就和那两个相乘的数最后几位相乘一样,比如3416*8 ...
- 洛谷 P2782 友好城市
P2782 友好城市 题目描述 有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市.北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同.每对友好城市都向政府申 ...
- 用for和while循环求e的值[e=1+1/1!+1/2!+1/3!+1/4!+1/5!+...+1/n!]
/*编敲代码,依据下面公式求e的值. 要求用两种方法计算: 1)for循环.计算前50项 2)while循环,直至最后一项的值小于10-4 e=1+1/1!+1/2!+1/3!+1/4!+1/5!+. ...