目录
一、什么是C语言?
C语言是一门通用计算机编程语言,广泛应用于底层开发。
那么,什么叫做计算机语言呢?我们都知道,平常的中文英文,是人与人之间交流的语言;而计算机语言,就是人和计算机之间交流的语言——人发给计算机指令,计算机接收指令后可以执行人让其执行的工作。常见的计算机语言有:C语言、C++、JAVA等等。
那么,什么叫做底层开发呢?首先,我们平常买了一个电脑(叫做硬件),想让电脑工作就需要安装一个操作系统(win 10等等),而操作系统和硬件又需要和驱动层相关联,我们就把硬件、驱动层、操作系统叫做底层,写一些关于这些的操作叫做底层开发。
计算机语言的发展过程又是怎样的呢?
编译器的作用
编译器具有编译代码的作用,毕竟,电脑只能识别二进制的指令,而编译器就可以将我们写的代 码转换成电脑可以识别的二进制。
二、第一个C语言程序
创建工程(以VS2019为例)
现在我们创建了一个新的C语言文件,接下来就可以写代码了。
首先我们需要写一个主函数
接下来我们的代码就可以很好地运行起来了,运行的结果是这样的:
说明:1. int表示整型,和后面的return 0呼应起来了 。
2. main()是主函数,有且只有一个,是程序的入口,代码会从主函数的第一行逐步执行 下去
三、数据类型
首先需要提出一个问题:我们为什么需要写代码?答案很明显:需要解决生活中的问题。我们可以写微信来方便沟通,写京东商城来方便沟通。在解决问题的过程中,我们会遇到不同类型的数字,比如年龄21岁,价格100.5元;有整数,也有小数,在C语言中,我们把整数称为整型,把小数称作浮点型......当然,还有其他的类型:
我们知道了有这么多的类型,那么我们如何知道一个类型所创的变量所占空间的大小呢?
——我们可以用一种单目操作符sizeof来解决这个问题,sizeof不是函数,所以不需要引用头文件
其实,C语言标准规定了:sizeof(long)>=sizeof(int)就可以了,所以sizeof(long)=4或者8;而当前编译器是4。
说明:为什么会出现这么多不同的类型呢?
这是因为不同的数据类型所占的内存空间是不一样的,我们合理地使用不同的类型,可以节省内存空间。
四、变量
在生活中有一些值是不变的,比如圆周率、性别、身份证、血型等等,而有一些值是发生改变的,比如年龄、体重、薪资、时间等等;在C语言中,我们把那些不变的量用常量表示,把那些发生改变的量用变量表示。
1.定义变量的方式
类型 变量名 = 初始值;
2.变量的类型:局部变量、全局变量
局部变量:在{}里面定义的变量;
全局变量:在{}外部定义的变量。
小细节:当局部变量与全局变量名称相同的时候,以局部变量优先(但是不建议这样做)
3.变量的使用
计算出两个数num1、num2的和,用键盘输入并且打印出来:
4.变量的作用域和生命周期
作用域:就可以简单的来说,变量可以在哪里使用哪里就是它的作用域。
局部变量的作用域就是局部变量自己所在的局部范围;
全局变量的作用域就是整个工程。
局部变量:
看上面的两段代码,基本上代码一样,可是第二段代码就是报错,这是为什么呢?原因就是a在红色框框的局部范围内定义的,就只能在局部内使用。
全局变量:
a. 在同一个.c源文件中:
b.不在同一个.c源文件(需要用extern来声明外部变量)
生命周期:变量的生命周期是从变量从创建到销毁的过程。
局部变量的生命周期:进入局部变量所在的范围生命周期开始,出局部范围生命周期结束。
全局变量的生命周期:程序的生命周期。
五、常量
常量是设置好以后不会改变的(比如圆周率等等),常量分为如下几种:字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量 。
1.字面常量
字面常量就是直接在代码中写出来的常量,比如:1、3.14、200等等。
2.const修饰的常变量
说明:a.const 可以让a不发生改变;
b.一个变量不能被我们改变就说具有常属性(不能被改变的属性);
c.const int a 中a不是常量,只是具有常属性,不能被修改而已(具有常属性的变量)。
3. #define定义的标识符常量
4. 枚举常量
说明:枚举是一一列举的意思,生活中我们可以用枚举常量表示可以列举出来的值;此时需要枚举 关键字enum。