1、计算机的工作原理
首先,我们来了解下计算机的工作原理,大家有没有想过,当我们在打游戏或者看照片时,屏幕上显示的图像是怎么生成的呢?
显示屏实际是由许多像素点组成的,每一个像素点可以看作是一个灯泡,CPU通过向这些灯泡发送101010这样的数据来控制它的亮灭,从而来显示不同的图像。而这些101010的数据呢,我们可以将它理解为机器语言,是计算机唯一能够识别的语言,但是现实中,我们几乎不会直接编写开发机器语言,而需要借助其他语言工具来间接生成。
目前我们能够使用的编程语言有很多种,包括C、Python、Java、C++、C#等等。当我们选定好一种语言,在通过IDE工具编写并编译后,最终可以生成101010的机器语言。
2、机器语言是如何生成的
- 是由 **编程语言+IDE工具(编辑器&编译器)**生成的
上图中的就是用C语言编写的,有问可能会问,这么多编程语言,为什么要选择C语言呢?这是因为C语言是应用最为广泛,影响最为深远的编程语言。
3、C语言的历史
上图中演示了 C89 标准和 C99标准在定义变量时的区别
C89标准
在keil中取消勾选【C99 mode】即为C89标准
然后编写如下代码
int main(void)
{
int a = 0x12345678;
printf("&a is 0x%p \n", &a);
char *p; //该变量没有定义在函数最前面
p = (char *)&a;
printf("p is 0x%p, *p is 0x%x \n", p, *p);
p++;
printf("p is 0x%p, *p is 0x%x \n", p, *p);
p++;
printf("p is 0x%p, *p is 0x%x \n", p, *p);
p++;
printf("p is 0x%p, *p is 0x%x \n", p, *p);
return 0;
}
编译程序,会报错
C99标准
在keil中勾选【C99 mode】即为C99标准
同样编译上面的程序代码,就不会报错
4、C语言在日常生活中常见吗
C语言真是无处不在,家里面大到电冰箱,小到智能手表,这些智能硬件都有C语言的身影。
5、C语言的特点
- C语言开发的程序紧凑、高效;C语言的特点决定它有着不可取代的地位
从上图看,很多底层系统都依赖于C语言开发,C语言在软件系统的中的位置,是其他语言不可替代的,所以C语言永远不会过时。