前言
人与人之间交流可以用汉语、英语、日语等,那么人与计算机之间呢?我想这时候就不得不提计算机语言了,计算机语言涵盖上千种,而我们即将要谈到的C语言就是其中一种。(ps:以下所有程序的编写都是基于VS2019编译器,不同编译器之间可能会有些许差别)
一、计算机语言
计算机语言的发展
二、什么是编译?
C是编译型语言
编译就是利用编译程序从源语言编写的源程序产生目标程序的过程。
三、 第一个C语言程序
接下来让我们来看一段代码
#include <stdio.h>
int main()
{
printf("Hello world");
return 0;
}
以上,我们就写好了我们的第一个标准C语言程序
stdio.h是这个程序的头文件,其中std - standard 标准,i - input 输入,o - output 输出,意思就是标准的输入输出
main是这个程序的主函数,是程序的入口,在一个程序中main函数有且仅有一个。试想main函数如果多了,程序就不知道要从哪里进入了
printf是C语言自带的格式化输出函数,它的头文件就是stdio.h
更加具体的我们在这里不细说,因为我们现在只是初识C语言
四、数据类型
C语言的数据类型包括以下几类
char //字符数据类型
short //短整型
int //整型
long //长整型
long long //更长的整型
float //单精度浮点数
double //双精度浮点数
那么每种数据类型的大小是多少呢?我们可以写一段代码计算一下
#include <stdio.h>;
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
return 0;
}
以上代码的运行结果为
如图所示我们可以看见各种数据类型在内存中的大小,单位:字节
如果打印过程报错或者警告,我们可以把%d换成%zu(打印一个sizeof返回的无符号整形)
计算机当中的单位
至此,你应该大概清楚各单位的大小了
五、变量、常量
生活中有些值是不变的,比如圆周率、血型等
有些值是可变的,比如年龄、体重等
不变的值,C语言中用常量的概念来表示,变的值C语言中用变量来表示
1.定义变量的方法
让我们来看下面这段代码
#include <stdio.h>
int main()
{
short age = 20;//年龄 我们定义了年龄这个变量的值为20,依此类推
int high = 180;//身高
float weight = 88.5;//体重
}
2.变量的分类
C语言中的变量又分为局部变量和全局变量
局部变量 - { }内部定义的变量
全局常量 - { }外部定义的变量
具体见如下代码
#include <stdio.h>
int b = 0;//全局变量
int main()
{
int a = 0;//局部变量
return 0;
}
常见错误
在同一个范围内变量只能定义一次,切勿重复定义
让我们再来看一段代码
这一次代码却运行起来了,且运行的结果为a=10,它说明全局变量和局部变量的名字是可以相同的,且局部变量的优先级高于全局变量,所以我们打印的值为a=10,当只有全局变量时,我们打印全局变量的值
建议不要将局部变量和全局变量的名字写成一样的
3.变量的使用
简单的代码示例:计算两个整数的和
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;//初始化
//输入两个整数
scanf("%d%d", &a, &b);
//求和
int sum = a + b;
//输出
printf("%d", sum);
return 0;
}
通过这个实例,我们可以对变量的使用有一个大体上的认知
4.变量的作用域和生命周期
变量的作用域
1.局部变量
局部变量的作用域是变量所在的局部范围
2.全局变量
全局变量的作用域是整个工程
所以如图所示的代码是会报错的,因为第二个printf要打印的a在变量a的作用域之外
而全局变量的作用域甚至是整个工程,如下面这段代码就成功运行了,只需要注意声明一下来自外部的符号就OK了
变量的生命周期
1.局部变量的生命周期
进入作用域生命周期开始,出作用域生命周期结束
2.全局变量的生命周期
整个程序的作用周期,程序开始,生命周期开始,程序结束,生命周期结束
变量的作用域约等于生命周期
最后,我想对看到这的小伙伴点个赞,你们真的很棒!
最后,立志欲坚不欲锐,成功在久不在速,让我们怀揣着这份热情继续坚持下去吧
我们下次再见!
(ps:文章若有什么不对的地方,还请大佬指正)