A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#pragma mark 11 在内存中如何存储数据  [掌握]

此知识点的复习时见第2天视频笔记/11 在内存中如何存储数据.pdf


"强调

1.坑是什么

"0" --> 1bit

"1" --> 1bit

01010101 -->每8位就是一个字节,Byte


坑 == 内存中的若干个字节(byte)


2.

坑中存储 == 数据 (整数、小数、字符 ...)


3.如果要找到坑,可以根据他的地址来寻找。16进制,0x开头


4.挖坑的时候为什么要给坑起一个别名?虽然坑(内存中若干字节)有地址,但是不好记。


坑的别名 ---> 可以找到坑 ---> 可以找到坑中存储的数据


挖坑的同时,做了两个事情

    * 地址自动有了,系统自动分配

    * 要有自己的别名


4.坑的类型 == 若干个字节里能保存什么样的数据 (int float doublechar)

为什么挖坑的时候要确定坑是什么类型的?

    因为每个中数据类型占的字节不一样,如果不确定,就不知道向该坑分配多少字节


5.C 语言常见的数据类型

int 整数  -2147483648 ---- 2147483647


float 单精度小数(单精度浮点数) 有效位数不超过7位的小数,超过7位的部分就不能精确保存(随机)


有效位数:从左边开始第一个不为0的数开始数,数相应的位数

int main()

{

    printf("%f", 12.3445654);

    return 0;

}


double 双精度小数 有效位数不超过16位的小数,超过16位的部分不能精确保存

printf("%lf",12345678912345.127);

// 小数123.33  在内存中不是精确的保存,而是以一个无限接近的小数



char 字符  'A' 'B'



#pragma mark 12 变量的声明  [掌握]

此知识点的复习时见第2天视频笔记/12 变量的声明.pdf


"强调

1.变量的概念

变量 == 空间 == 坑 == 内存中若干个字节 == 用来存储数据

变量的值  == 坑中保存的数据

变量名 == 坑的别名 == 可以方便找到坑 == 可以找到坑中的数据

变量的类型 == 坑的类型 == 内存中存储的数据类型

"变量的本质 == 内存中开辟的空间


2.数据要保存在内存中的步骤

1>在内存中开辟一块空间

2> 开辟空间的同时指定空间的别名和类型

3> 这个空间的类型就决定了你能往这个空间保存的数据类型


3.声明变量的实现开辟空间,并且指定别名和类型

int num; // 这句代码一旦运行,CPU就在内存中开辟了一块空间,这块空间是int类型,这块空间只能保存int类型的数据


float num_f;

....



#pragma mark 13 为变量赋值  [掌握]

此知识点的复习时见第2天视频笔记/13 为变量赋值.pdf


"强调

1.

= 含义就是赋值,把等号右边的数据赋值到左边的变量中


2.等号右边的数据一定要是左边变量类型能表示的范围,否则数据出错。

int num;

num = 1.9;


3.等号右边的内容一定要和等号左边变量类型一样,否则也会出问题。

1)int

int num;

num = 1.9;


2) float

C语言中,写一个小数,默认是double类型

// 这是错的,不报警告的原因是xcode编译器进行处理,因为float 和 double都是小数

float num_f;

num_f = 23.44;


// 正确写法

num_f = 23.44f;

// 可以是f/F


3)double

double num_d;

num_d = 12.34;


4)char

char a;

a = 'fa';

1)char类型的变量只能存储单个字符,并且要用单引号括起来

2)只能保存一个字符,只保存最后一个字符

3)不能保存中文

不能保存中文的原因

    一个中文字符要占3个字节,一个char类型的变量只能保存1个字节。



#pragma mark 14 使用printf函数输出变量的值  [掌握]

此知识点的复习时见第2天视频笔记/14 使用printf函数输出变量的值.pdf


"强调

1.为什么要C语言要有变量的存在?

1>变量的作用就是用来存储数据.

2>我们只有把数据存储起来才能使用它.

3>所以变量存在的意义就是让程序员能够使用数据.


2.printf函数的使用

1)方式一

printf("需要输出的内容");

printf("需要输出的内容\n");


2)方式二:使用占位符输出变量的值

printf("整形%d", 常量/变量);

printf("单精度小数%f", 常量/变量);

printf("双精度小数%lf", 常量/变量);

printf("字符型%c", 常量/变量);


// 也能直接打印常量

printf("%d", 12);


#pragma mark 15 使用printf函数一次输出多个变量的值  [掌握]



"强调

1. 如果输出的数据和前面要求输出的个数不一样,那么不匹配的那一项输出的是随机数


int main()

{

    int num1;

    num1 = 1;

   

    float num2;

    num2= 2.222f;

    printf("第一个数 = %d  第二个数 = %f\n", num1);

    return 0;

}


2. 双引号中的%后面占位符一定要和后面输出的数据类型一一对应,否则结果是错误的。

int main()

{

    int num1;

    num1 = 1;

   

    float num2;

    num2= 2.222f;

    printf("第一个数 = %d  第二个数 = %f\n", num1, 'a');


    return 0;

}



#pragma mark 16 使用变量需要注意的细节 [掌握]


"强调

1.变量这个概念十分重要,注意:

变量:就是内存中开辟的空间,用来存储数据


2.为什么有了double 还有 float ?

一个double类型的数据占用8个字节

一个float类型的数据占用4个字节


因为double类型变量代表的内存空间要比float变量占据的空间大,使用float节约内存空间。


3. 可以在定义变量的同时给他赋值

int num = 30;


4.可以批量定义多个类型相同的变量

// 只定义,不赋值

int num1, num2;

// 定义的同时,赋值

int num1 = 10, num2 = 29;


注意:不能批量定义类型不同的变量



5.注意赋值符号 = 两边留空格


6.如果定义一个变量,没有给他赋值,那么里面的数据是随机数

1)

int num;

printf("%d", num);


2)例子

int main()

{

    int num;

    printf("%d", num + 10);

    return 0;

}



3)为了保证程序不出问题,定义变量的时候,就给他赋值



7.变量的值是可以改变的,注意,新的值直接覆盖原来的值,不是叠加。


8.可以把一个变量A的赋值给另一个变量B ,此时A 的值没有改变


9 变量使用之前一定要定义


10.不要在同一个大括号里定义同名变量。




您需要登录后才可以回帖 登录 | 加入黑马