03.黑马程序员-数据类型、常量、变量

本文介绍了C语言中的数据分类、大小及类型,详细解释了常量与变量的概念,并演示了变量的定义、使用方法及注意事项。

一、     数据

1.     数据的分类

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

1>        静态数据

*   概念:静态数据是指一些永久性的数据,一般存储在硬盘中。硬盘的存储空间一般都比较大,现在普通计算机的硬盘都有500G左右,因此硬盘中可以存放一些比较大的文件。

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

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

 

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

×   概念:动态数据指在程序运行过程中,动态产生的临时数据,一般存储在内存中。内存的存储空间一般都比较小,现在普通计算机的内存只有4G左右,因此要谨慎使用内存,不要占用太多的内存空间。

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

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

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

程序员最关心的是什么数据呢?答:动态数据

 

3>        静态数据和动态数据的转换

静态 -> 动态      


动态 -> 静态    

 

2.     数据的大小

1)         不管是静态还是动态数据,都是0和1组成的。0和1如何组成这么多的数据?

2)         数据都有大小,静态数据就会占用硬盘的空间,动态数据就占用内存的空间

3)         数据越大,包含的0和1就越多,比特位和字节

比特位:1个二进制位为1bit,也就是1个0或1就为1bit,bit的中文翻译是“比特位”;

字节:8个二进制位为1byte,也就是8个0或1就为1byte,1byte=8bit,byte的中文翻译是“字节”。

平时我们所说的某个文件大小为64B,就是64字节的意思,内部包含了64x8个0和1。

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

 

3.     C语言中的数据类型

由于app中的数据种类繁多,为了方便操作数据,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个字符,而且不能是中文字符,下面的写法是错误的:'abc''123456'''

 

4> 字符串常量

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


三、     变量

1.     什么是变量

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

 

2.     定义变量

1>    目的

*   任何变量在使用之前,必须先进行定义。

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

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


2>    格式

变量类型  变量名;

比如int num;


*   变量名属于标识符


*   变量类型的作用

   1.不同类型的变量占用不同大小的存储空间。系统会根据变量类型来分配相应的存储空间。不同数据类型所占用的存储空间是不一样的,如果是字符型(char)变量,就分配1个字节的存储空间;如果是整型(int)变量,就分配4个字节的存储空间。

   2.约束变量所存放的数据类型(方便运算),一旦给变量指明了类型,那么这个变量就只能存储这种类型的数据,比如整型(int)变量只能存储整型数据,不能存储浮点型数据。


3>    实例

int main()

 {

    int i;

char c;

int a, b;

    return 0;   

 }

 

3.     变量的使用

1>    赋值

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

i = 10;

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


×   第一次赋值,可以称为“初始化”

×   初始化的两种形式

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

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


2>    修改

×   可以修改变量的值,多次赋值。每次赋值都会覆盖原来的值

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);


3>    变量之间值的传递

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

int a = 10;

int b = a;


×   连续赋值

a = b = 10;  



4> const关键字

刚才提到,默认情况下,变量的值是可以不断改变的。不过,有时候我们会希望变量的值只在定义的时候初始化一次,以后都不能再改变,这个时候我们就可以使用const关键字来修饰变量。

 int main()

{

const int i = 8;

i = 10;

return 0;

}

注意第2行,在int的前面加了个const关键字。表示变量i的值只会初始化一次,也就是说i的值永远都是一开始的8,以后都不能再改了。所以编译器会报第3行代码(i = 10;)的错误,不允许再次修改i的值。


4.     常见错误

1>    变量名相同(重复定义同一个变量)  int a =10int a =12;

2>    变量的作用域不对

*   变量的作用域:变量的作用范围(作用域)是从定义变量的那一行代码开始,一直到它所在的{}结束,一旦离开这个范围,变量就失效了。


*   代码块

代码块其实就是用大括号{}括住的一块代码。

c语言规定:在不同作用域中允许哟同名变量,系统会为他们分配不同的存储空间

同名变量的访问:采取的是“就近原则”




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值