C语言是什么

在这里插入图片描述



1. 什么是C语言

  C语言是一门计算机语言,是人与计算机进行交流的一种语言。通过计算机语言编写程序,下达指令给计算机,就可以让计算机工作。目前已经有上千种计算机语言,C语⾔只是众多计算机语言中的一种。


2. C语言的发展史

  从计算机语言诞生以来,总体可分为三个阶段:1.机器语言 2.汇编语言 3.高级语言。如下图所示。

在这里插入图片描述


2.1 机器语言

  最早的时候,人们是用机器语言与计算机进行交流的。所谓的机器语言就是二进制指令,也就0和1组成的序列。
  用二进制指令实现一个功能是非常复杂的代码,可想而知的难。因为编写代码的人将面对的是密密麻麻的0和1组成的序列,且还得记得每个功能对应的二进制序列,但凡出错一次,再想回过头去查找,是十分繁琐困难的。所以在当时只有专门研究计算机的科学家,才能有效的编写代码。
  由于机器语言更接近电计算机层逻辑,所以它是一门低级语言。缺点:指极其繁琐、可读性差、出错率高、调试困难、且可移植性差、重用性差。优点:执行效率比较快。


2.2 汇编语言

  随着计算机语言的出现和普及,很多人在应用中都觉得,使用二进制指令编写代码太过于复杂,而且费时费力。所以在这样的背景下,汇编语言应运而生。
  汇编语言,就是将具有相应功能的二进制序列,用一个方便记忆的符号代替,这样的符号被称为:助记符。举个例子:就譬如用标识符“ADD”代替数字逻辑上的加减的二进制序列,“MOV”代替数据传递等功能的二进制序列。汇编语言就是用助记符、符号地址等组成的符号指令的集合,所以其亦称符号语言
  值得注意,计算机在阅读汇编代码时可不认识这些助记符呀,它并不知道这些符号所对应的功能。这时就需要有一个专门的编译器给计算机翻译这些符号,即:把助记符转化成计算机能够识别的二进制指令。而这种把汇编语言翻译成机器语言的过程被称为汇编
  汇编语言只是在机器语言的基础上做了简单的文本替换,仍然没有在根本上改变机器语言的特性,所以汇编语言仍然是一门低级语言。虽然推广和移植性差,但还是保持了机器语言的优秀执行效率,又因其可阅读性和便捷性,汇编语言到现在仍然是常用的编程语言之一。


2.3 高级语言

  高级语言就是更接近人类思维逻辑的编程语言,更便于人类理解。而高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如:Java,C,C++,C#,Python等。值得注意:C语言可不是由汇编语言直接发展而来的,其是在B语言的基础上开发出来的。

在这里插入图片描述


2.4 C语言的国际标准

  C语言在刚被发明出来的时候,大家都觉得很新鲜,用起来也方便,所以很快就推广到全世界。但用了一段时间后,所有人都觉得C语言还是差那么点意思,并不完美。每个人在C语言上都有想要完善和新增的东西,每个人都对C语言修修改改,那么这时每个人手里的C语言都被改的不一样了。这就导致,自己编的程序只能在其自己的编译器上编译,无法相互传递使用。
  所以美国国家标准协会(ANSI)在1990年颁布了C语言的国际标准,即:ANSI C。正因为有了这样的标准来规定,C语言才能形成现在的国际化、普遍的发展。现在用的最多的还是C89和C90这两标准。


3. 底层和上层的区别

  本质上计算机只是硬件设备,是没法自己独立工作。只有在其上安装操作系统,让操作系统调用驱动,驱动再驱动计算机硬件,才能完成工作。大家熟知操作系统有:Windows、MacOS、Linux等。而像QQ、浏览器、抖音、英雄联盟,这些都是应用软件,是建立在操作系统之上的。
  都说C语言是一门底层开发语言,那所谓的底层到底是指什么?以操作系统为界限,操作系统以及之下的部分就是底层,操作系统之上安装的应用被就是上层。如下图所示。
在这里插入图片描述


4. 编译器

4.1 编译和链接

  C语言是一门编译型计算机语言,大家编写的C源代码其实是文本,计算机是无法识别并执行的。源代码必须经过编译和链接两个过程,最终生成可执行程序,计算机才能执行。如下图所示。
  编译过程:把所有C源文件(.c)都经过编译器的翻译操作,最后生产目标文件(.obj)。
  链接过程:把所有目标文件和链接库经过链接器处理,最终生成可执行文件(.exe)。

在这里插入图片描述


4.2 集成开发环境

  由于C语言是一门编译型计算机语言,需要依赖编译器将源代码转化成机器能够执行的二进制序列。所以编译器的选择尤为重要,常见的编译器:msvc、clang、gcc、VS、XCode、DevC++等。其中我使用的是VS编译器,是集成开发环境编译器。
  集成开发环境(IDE),是一种集成了编辑、编译、链接、调试功能等一体的程序开发环境。使得开发人员在同一个界面上就可以进行代码的编辑、编译、调试等操作,减少了很多不必要的操作,从而提高了代码的开发效率。


5. 标准库函数

  为了不再重复实现常见的代码,让程序员提高开发的效率,C语言标准规定了一些函数,这些函数就被称为标准库函数。就譬如:printf(标准输出函数)、scanf(标准输入函数)、strlen(计算字符串长度函数)等等。
  值得注意,C语言标准并没有规定函数怎么实现,而只是规定函数名、参数、返回类型、功能,库函数由不同编译器厂商根据便准进行实现。一个系列的库函数一般会声明在同一个头文件中,所有库函数的使用是需要包含头文件的。


6. C语言支持的三种结构

  C语言是结构化的程序设计语言,C语言支持3种结构:顺序结构、选择结构、循环结构,如下图所示。大家会发现生活中的所有事情都可以拆分成顺序、选择、循环或三种结构的组合,换个角度说,只要有这三种结构,就可以描述生活中的所有事情。这是站在多高角度上的抽象化理解,才能从生活中总结出这三种结构,只能说恐怖如斯。

在这里插入图片描述

  在C语言中,这3种结构由9种控制语句来表示:

  1. 条件判断语句(分支语句):if语句、switch语句。
  2. 循环执行语句:for语句、while语句、do while语句。
  3. 转向语句:break语句、goto语句、continue语句、return语句。

在这里插入图片描述

这份博客👍如果对你有帮助,给博主一个免费的点赞以示鼓励欢迎各位🔎点赞👍评论收藏⭐️,谢谢!!!
如果有什么疑问或不同的见解,欢迎评论区留言欧👀。

  • 29
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值