1. 数据

  1. 什么是数据

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

  1. 数据的分类

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

  1. 静态数据
  • 概念:静态数据是指一些永久性的数据,一般存储在硬盘中。硬盘的存储空间一般都比较大,现在普通计算机的硬盘都有500G左右,因此硬盘中可以存放一些比较大的文件。
  • 存储的时长:计算机关闭之后再开启,这些数据依旧还在,只要你不主动删掉或者硬盘没坏,这些数据永远都在。
  • 哪些是静态数据:静态数据一般是以文件的形式存储在硬盘上,比如文档、照片、视频等。

 

  1. 动态数据(临时数据)
  • 概念:动态数据指在程序运行过程中,动态产生的临时数据,一般存储在内存中。内存的存储空间一般都比较小,现在普通计算机的内存只有4G左右,因此要谨慎使用内存,不要占用太多的内存空间。
  • 存储的时长:计算机关闭之后,这些临时数据就会被清除。
  • 哪些是动态数据:当运行某个程序(软件)时,整个程序就会被加载到内存中,在程序运行过程中,会产生各种各样的临时数据,这些临时数据都是存储在内存中的。当程序停止运行或者计算机被强制关闭时,这个程序产生的所有临时数据都会被清除。

    你可能会问:既然硬盘的存储空间这么大,为何不把所有的应用程序加载到硬盘中去执行呢?有个主要原因是内存的访问速度比硬盘快N倍。

程序员最关心的是什么数据呢?

 

  1. 静态数据和动态数据的转换

静态 -> 动态

动态 -> 静态

 

  1. 数据的大小

  • 不管是静态还是动态数据,都是0和1组成的。0和1如何组成这么多的数据?
  • 数据都有大小,静态数据就会占用硬盘的空间,动态数据就占用内存的空间
  • 数据越大,包含的0和1就越多,比特位和字节
  • 1 KB = 1024 B,1 MB = 1024 KB,1 GB = 1024 MB,1 TB = 1024 GB

 

  1. app中的各种数据



  1. C语言中的数据类型

由于app中的数据种类繁多,为了方便操作数据,C语言数据进行了分类

 

  1. 常量

  1. 什么是常量

常量,表示一些固定的数据

 

  1. 常量的分类

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个字符,而且不能是中文字符,下面的写法是错误的:'abc'、'123456'、'男'

 
 

4> 字符串常量

  • 将一个或者多个字符用双引号("")括起来,这样构成的就是字符串常量。比如"6"、"男"、"哇哈哈"、"abcd"、"my_car4",其实printf("Hello World");语句中的"Hello World"就是字符串常量。

那究竟6、'6'、"6"在用法上有什么区别呢?这个先不作讨论,以后会介绍。

 

  1. 习题

下面的都是什么类型的常量?

10.6 19.0f 0.0 0 'A' "男" "mj" 294 '+'

 

  1. 变量

  1. 什么是变量

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

 

  1. 定义变量

  2. 目的
  • 任何变量在使用之前,必须先进行定义。
  • 定义变量的目的是:在内存中分配一块存储空间给变量,方便以后存储数据。
  • 如果定义了多个变量,就会为这多个变量分别分配不同的存储空间。
  1. 格式

变量类型 变量名;

比如int num;

  • 变量名属于标识符
  • 变量类型
  • 不同类型的变量占用不同大小的存储空间。内存极其有限,分配适当的存储空间
  • 约束变量所存放的数据类型(方便运算)
  1. 实例

int main()

{

int i;

char c;

int a, b;

return 0;

}

 

  1. 变量的使用

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

i = 10;

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

  • 第一次赋值,可以称为"初始化"
  • 初始化的两种形式
  • 先定义,后初始化:int a; a = 10;
  • 定义的同时进行初始化:int a = 10;
  1. 修改
  • 可以修改变量的值,多次赋值。每次赋值都会覆盖原来的值

i = 10;

i = 20;

变量i最后的值是20

  • 使用printf输出一个\多个变量的值

int a = 10, c = 11;

printf("a=%d, c=%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);

  1. 变量之间值的传递
  • 可以将一个变量的值赋值给另一个变量

int a = 10;

int b = a;

  • 连续赋值

a = b = 10;

 

  1. 常见错误

  2. 变量名相同 int a = 10; int a = 12;
  3. 变量的作用域不对
  • 变量的创建和释放过程
  • 代码块作用域 { int a = 10; }

 

  1. 习题

    1. 交换整型变量a、b的值。比如a=10、b=11;交换之后a的值是11,b的值是10。用两种方式实现:
  • 使用第三方变量

int temp;

temp = a;

a = b;

b = temp;

  • 不使用第三方变量

a = b - a;

b = b - a;

a = b + a;

  1. 观察下图的游戏界面,思考需要定义多少个变量?

 

内容来源:传智播客李明杰老师授课内容

C语言第四节数据类型、常量、变量的更多相关文章

  1. C 数据类型 常量 变量

    一 数据类型 1. 什么是数据 生活中时时刻刻都在跟数据打交道 比如体重数据 血压数据 股价数据等 在我们使用计算机的过程中 会接触到各种各样的数据 有文档数据 图片数据 视频数据 还有聊QQ时产生的 ...

  2. C语言---程序的一般形式、数据类型、常量变量、运算符、表达式、格式化输入输出

    1. 程序的一般形式 (1)注释 ① 分类:单行注释( // ): 注释一行.多行注释( /**/ ): 在这个区间内,都属于多行注释,可以换行. ② 作用:提示代码的作用,提示思路   不写注释的后 ...

  3. C语言基础学习基本数据类型-变量和常量

    变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...

  4. Swift学习(四)常量&变量&基础数据类型

    常量和变量 常量: 使用let关键词来声明一个常量 所指向的是一个特定类型的值,如数字10或者字符”hello”,常量的值是不能够被二次修改的 编程时使用常量能够让代码看起来更加安全和简洁! let ...

  5. 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出

    第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...

  6. java学习笔记----数据类型,变量,常量

    一.数据类型 1.基本类型(8种,又称内置数据类型).6种数字类型(byte,short,int,long,float,double),一种字符型(char),一种布尔类型(boolean). byt ...

  7. 2.1JAVA基础复习——JAVA语言的基础组成注释和常量变量

    JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...

  8. C语言中数据类型和变量

    C语言中的数据类型 数据类型的本质,固定大小内存块的别名. 数组名代表数组首元素的地址. 数组首元素的地址,&代表整个数组的地址. 数组数据类型,怎么定义数据数组类型,定义数组类型指针,数组类 ...

  9. iOS开发环境C语言基础 变量 、 数据类型和变量赋值 、 其他 、 运算符

    1 变量使用常用错误汇总 1.1 问题 在我们使用变量的过程中,会遇到一些问题,在此将这些问题进行汇总,在今后使用的过程中,不出错.即使出现错误也可以很快地找到问题所在. 1.2 方案 变量在使用的过 ...

随机推荐

  1. 数往知来C#面向对象准备〈二〉

    面向对象(OOP→Object-Oriented Programming) 1.什么是面向对象? 一种分析问题的方式. 2.面向对象三大特征: 封装(隐蔽代码实现/复用/修改方便).继承.多态. 3. ...

  2. 题目1434:今年暑假不AC (项目安排类:结束时间快排,判断开始时间)

    题目描述: “今年暑假不AC?”“是的.”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...”确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视作为 ...

  3. 优雅地对泛型List 进行深拷贝

    public class People { public string Name; public int Age; public People(string name, int age) { this ...

  4. angularJS笔记

    1.MVC ng-app: html表头处,每个htnl文件只能有一个ng-app ng-controller :js文件中定义 ng-model:只要引用了angularJS就可以使用 js文件代码 ...

  5. AHOI2013 Round2 Day1 简要题解

    第一题,好吧这是个dp.(搜素也能在BZOJ上卡过). 第二题,BFS搜索碰到的立方体面数,智硬没有想到... 第三题,其实一看就有思路,但关键是求x坐标不交的矩形对数+y坐标不交的矩形对数 - x, ...

  6. Web Service学习之二:Web Service(for JAVA)的几种框架

    在讲Web Service开发服务时,需要介绍一个目前开发Web Service的几个框架,分别为Axis,axis2,Xfire,CXF以及JWS(也就是前面所述的JAX-WS,这是Java6发布所 ...

  7. 扩展KMP--求字符串S的所有后缀和字符串T的最长公共前缀

    在解上面这个问题前我们要先解决一个类似的问题:求字符串s的所有后缀和s本身的最长公共前缀: 我们用next[]数组保存这些值: 现在我们假设要求next[ x ],并且next[ i ] 0<i ...

  8. C语言break语句

    break语句不能用于循环语句和switch语句之外的任何其他语句中: breakh中断switch break如果用于循环,是用来终止循环:break如果用于switch,则是用于终止switch. ...

  9. Linux命令之env:显示当前用户的环境变量

    Linux系统里的env命令可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令.下面来比较一下set,env和export命令的异同:set命令显示当前shell的变量,包括当前用户的 ...

  10. SOURCES的文件格式

    SOURCES的文件格式: TARGETNAME=drivername , -本参数用于指定生成的设备驱动程序名称(不需后缀名),所产生的文件 -为drivername.sys. TARGETPATH ...