还有不到一周就考二级C语言了,借用scdn作为自己备考的回忆备用
-------------------------------------------------------------------------------所有内容都是基于B站阿辉不会敲代码
总统4小时17分钟
1.1计算机的内存
1TB=1024GB
1GB=1024MB
1MB=1024KB
1KB=1024B(Byte字节)
1B=8bit(比特)
1.2内存地址
地址的定义:为了有效的管理和使用计算机的内存,我们就把内存空间划分成了一个个小的内存单元, 每个内存单元的大小是1字节,为了能够方便访问到内存的每个单元,我们就给内存单元进行了编号, 这些编号也就是内存单元的地址。(要明白,比特是最小的数据单位,字节是最小的存储单位,故字节跳动的公司名字的由来)
2.1变量和常量
对应的数据类型
2.2数据类型
Tips:加粗内容需重点掌握,其余内容只需了解即可。
2.3变量的定义
变量的定义:变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,从而通过变量名可以访问到变量值。(通过这种方式,后面讲到指针会尤为的清晰)
2.4变量的命名规则
变量命名的硬性规定:
- 变量名只能由字母(A~Z和a~z)、数字(0~9)和下划线( _ )组成。但是,变量名必须以字母 或下划线开头,不能以数字开头。
- 变量名区分大小写。例如:age和Age是两个不同的变量名。
- 变量名不能是C语言的关键字。例如:int、float、char等。
变量命名的阿辉建议:
1.听名知意。可以使用有意义的单词或单词缩写来进行命名,比如需要创建变量存储年龄 时,可以直接命名为age。
2.尽量不要用拼音命名。比如需要创建变量存储年龄时,不要直接命名为nianling。
后面数据结构写代码的时候(命令写是,最好记几个常用的英文单词)
变量的定义及初始化
分号与注释
注释的作用:通俗的讲,注释是我们能看到,而计算机 看不到的部分。注释常用于对代码进行解释、说明或者 标记。写注释可。
注释可以多行表示,如果遇到说只能单行表示的,就一定是错误的。
2.5变量的作用域和生命周期
- 变量的作用域:在程序中可以访问该变量的范围。
- 如果变量在一个代码块(由一对花括号 {} 包围的代码区域)内声明,则其只能在该代码块内部使用。例如: 在if选择语句或者for循环中声明的变量具有块作用域。
- 如果变量在函数内部声明,则只能在该函数内部使用。函数参数和在函数内部使用的变量通常具有函数 作用域。
- 全局变量在整个程序中声明,可以被程序中的任何函数访问。全局变量具有全局作用域。
与后面的函数调用,联系紧密,主函数和所调用的功能所在变量可以不一致的。
变量的生命周期:变量存在于内存中的时间范围。
- 局部变量的生命周期从它们所在的代码块执行开始,直到该代码块执行结束。
- 全局变量的生命周期从程序开始执行到程序结束,它们在整个程序中都是可访问的。
2.6常量
常量的定义:常量是指在程序执行过程中其值不会改变的标识符或者数值。
define:用于定义标识符常量。
#define PI 3.14 //define定义标识符常量,注意,这里不用加分号
double circle_area(){ double r=3.0;//定义浮点型变量r存储圆的半径
double S=PI*r*r;//定义浮点型变量S存储圆的面积
return S;//上行代码的PI*r*r就相当于3.14*r*r }
注意,定义常量时,不能将变量引入概念。
3.1输入和输出
输入:读取键盘的输入数据,并将输入数据存储到指定的变量中。
输出:将数据输出到屏幕上。
我觉得与这题有关联,函数的返回值,允许有多个return语句,但每次调用只能有一个return语句被执行,所以只能返回一个函数值。
3.2 scanf函数输入
主要理解&取地址符的含义,后面和“与”运算符号是不一样的含义。
3.3 printf函数输出
说到占位符,就与下面的知识点相联系起来
2d表示所占的宽度
4.1算术运算符
- 运算符也叫操作符,表格中的a和b叫做操作数。
- 当两个操作数都是整型时,其运算结果也为整型,如果结果为小数,则直接舍去小数部分,而不是四舍五入。 例如:整型变量a为3,整型变量b为2,3/2的数学运算结果为1.5,但计算机a/b运算结果为整型1。
- 当操作数中有一个为浮点型时,则运算结果为浮点型。例如:整型变量a为3,a*2.0的运算结果为浮点型6.0。
- 取余运算符的操作数只能是整型,因为浮点型没有余数,而加减乘除的操作数整型和浮点型均可。
4.2赋值运算符
- C语言中的=是赋值符号,其具有方向性,是把=右边的值赋给=左边。
- 不允许连续赋值。错误方式:int x=y=1; 正确方式:int x=1,y=1;
- 假设整型变量a为3,整型变量b为2,那执行a=b+3; 后a的值更新为5,b的值没有改变。
与这个题加上,作为相互补充。