二十天走进C语言的奇妙世界【1】


太原理工机器人团队二十天学习打卡


前言

经过上一年对C语言的学习,感触非常深,因此写下如下这些内容,希望能对后来者有所启迪。在接下来的二十天里,我将带领大家走进c语言的奇妙世界,一起去领略计算机编程的异域风采。本系列文章综合bilibili,AlphaCoding,等各大网站教授们的课程精华,以及我自己的个人理解,希望能够得到大家的认同。

第一章 程序设计和C语言

本章的内容致力于从最基础,最根本的角度带领大家走进程序设计的奠基石——C语言。

1.1 什么是计算机语言

机器语言 计算机工作基于二进制,从根本上来说,计算机只能识别和接受由0和1组成的指令。在计算机发展的初期,一般计算机的指令长度为16,即以16个二进制数(0或1)组成一条指令,16个0和1可以组成各种排列组合。

这种计算机能直接识别和接受的二进制代码称为 机器指令(machine instruction)。机器指令的集合就是该计算机的 机器语言(machine language)。在语言的规则中规定各种指令的表示形式以及他们的作用。

符号语言 为了克服机器语言与人们习惯用的语言差别过大的缺点,人们创造出 符号语言 (symbolic language),它用一些英文字母和数字表示一个指令,例如 ADD 代表“加”,SUB 代表“减”,LD 代表“传送”等。

ADD A,B  (执行A+B→A,将寄存器A与B中的数相加,放到寄存器A中)

显然,计算机无法直接识别和执行符号语言的指令,因此需要用一种称为 **汇编程序 **的软件把符号语言的指令转换成机器指令。一般,一条符号语言的指令对应转换为一条机器指令。转换的过程称为“代真”或“汇编”,因此,符号语言又称为 符号汇编语言(symbolic assembler language)或 汇编语言(assembler language)。

然而,不同型号的计算机的机器语言和汇编语言是互不通用的,此类语言称为计算机 低级语言 (low level language)。

与之不同的是,语言功能很强,且不依赖于具体机器,用它写出的程序对任何型号的计算机都适用(或只需做很少的修改),它与具体机器距离较“远”,此类语言称为计算机 高级语言(high level language)。

当然计算机也并不能直接识别高级语言程序,需要进行“翻译“。用一种称为 编译程序 的软件把高级语言写的程序(称为 源程序(source program))转换为机器指令的程序(称为 目标程序(object program)),然后让计算机执行机器指令程序,最后得到结果。

高级语言经历了如下的发展阶段:

(1)非结构化的语言

(2)结构化语言

(3)面向对象的语言

进行程序设计,必须用到计算机语言,人们根据任务的需要选择合适的语

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值