《Python语言程序设计》——1.3 程序设计语言

1.3 程序设计语言

关键点:计算机程序,又称为软件,是告诉计算机要做什么的指令集。

计算机并不理解人类的语言,所以程序必须用计算机使用的语言来书写。现在有几百种程序设计语言,开发它们对人们来说可以让程序设计过程更加简单。但是,所有的程序必须被转换成计算机能够理解的语言。
1.3.1 机器语言
计算机自己的语言(会因计算机的种类不同而有所不同)是它的机器语言——一套内嵌在计算机内的原始指令集。这些指令以二进制代码的形式存在,所以如果给计算机一条用它自己的语言编写的程序,必须输入二进制码的指令。例如:要对两个数字做加法,就必须编写一条二进制码的指令,如下所示:

1.3.2 汇编语言
用机器语言进行程序设计是一个繁琐的过程。而且,用机器语言编写的程序非常难以读懂,也很难修改。因此,在计算机发展的早期人们就发明了汇编语言作为机器语言的一个替代品。汇编语言使用一种简短的描述性单词(称为助记符)来表示每个机器语言指令。例如:助记符add表示数字的加法而sub表示数字的减法。要将数字2和3进行相加并得到结果,可能要编写一条如下所示的汇编代码的指令:

开发汇编语言是为了让程序设计更加容易。但是,因为计算机不能理解汇编语言,所以要使用另一种程序——称为汇编器——将汇编语言程序翻译成机器代码,如图1-8所示。

用汇编语言编写代码比用机器语言编写代码更加容易。但是,用汇编语言编写代码仍旧是很繁琐的。用汇编语言编写的每条指令本质上讲都对应到机器代码编写的一条指令。用汇编语言编写代码需要知道CPU是如何工作的。汇编语言被称为低级语言,因为汇编语言在本质上是接近机器语言的,而且它是不独立于机器的。
1.3.3 高级语言
20世纪50年代,出现了被称为高级语言的新一代的程序设计语言。它们是独立于平台的,也就是说,可以用高级语言编写程序并让它在不同类型的机器上运行。高级语言很像英语,并且易于学习和使用。高级程序设计语言编写的指令称为语句。例如:这里是一条用于计算半径为5的圆的面积的高级语言语句:

现在有很多种高级程序设计语言,而且每一种语言都是为了特定目的而设计的。表1-1罗列出一些流行的高级语言。

使用高级语言编写的程序称为源程序或源代码。因为计算机不能理解源程序,所以源程序必须被翻译成可执行的机器代码。使用另一个称为解释器或编译器的程序设计工具来完成这个翻译过程。

  • 解释器从源代码中读取一条语句,将它翻译成为机器代码或者虚拟机代码,然后立即执行它,如图1-9a所示。注意:源代码中的一条语句可以被翻译成几条机器指令。
  • 编译器将整个源代码翻译成一个机器代码文件,然后执行这个机器代码文件,如图1-9b所示。

a)解释器翻译和执行程序时,一次一句

b)编译器将整个源程序翻译成机器语言文件来执行

使用解释器运行Python代码。大多数其他程序设计语言使用编译器进行处理。
检查点
1.10 CPU能够理解的是什么语言?
1.11 什么是汇编语言?
1.12 什么是汇编器?
1.13 什么是高级程序设计语言?
1.14 什么是源程序?
1.15 什么是解释器?
1.16 什么是编译器?
1.17 解释语言和编译语言之间的区别是什么?

时间: 2025-01-01 07:55:55

《Python语言程序设计》——1.3 程序设计语言的相关文章

用C语言技术进行CGI程序设计

一.CGI概述 CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程 序)的接口协议标准.Web服务器通过调用CGI程序实现和Web浏览器的交互 ,也就是CGI程序接受Web浏览器发送给Web服务器的信息,进行处理,将响应结果再回送给Web服务器及Web浏览器.CGI程序一般完成Web网页中表单(Form)数据的处理.数据库查询和实现与传统应用系统的集成等工作.CGI程序可以用任何程序设计语言编写,如Shell脚本语言.Perl.Fortran.Pascal.C语言等.但是用C语

c语言-一道简单的C语言程序设计题

问题描述 一道简单的C语言程序设计题 产生30个[10,100]之间的随机整数到5行6列的数组中,求其中最大值和最小值,并把最大值元素和右上角元素对调,把最小值元素和左上角元素对调.按行.列格式输出重排前.后的情况.(提示:随机函数rand( )的函数值产生一个0~32767之间的随机数, rand( )和 srand(seed)定义在stdlib.h头文件中.先利用以下两条语句:scanf("%u", &seed); srand(seed); 来初始化rand( )的起始值.

C语言线程控制的程序设计

问题描述 C语言线程控制的程序设计 编写一个程开启3个线程,的ID分别为A.B.C每个线程将自己的ID在线程上打印出来10遍,要求输出结果按照ABC的顺序显示: 如:ABCABC....依次递推 解决方案 用一个互斥锁加三条件变量就好了啊,首先初始化时设置A条件,A执行打印后设置B条件,B执行打印后设置C条件,C执行打印后设置A条件这样循环......... 解决方案二: 这个题目的考察点是如何保护共用数据吧,给数据加好锁就OK了 解决方案三: 用3个互斥,在线程里等待条件成立,然后执行动作 解

C语言泛型编程实例教程_C 语言

本文实例讲述了C语言泛型编程的方法,分享给大家供大家参考之用.具体分析如下: 首先,泛型编程让你编写完全一般化并可重复使用的算法,其效率与针对某特定数据类型而设计的算法相同.在C语言中,可以通过一些手段实现这样的泛型编程.这里介绍一种方法--通过无类型指针void* 看下面的一个实现交换两个元素内容的函数swap,以整型int为例: void swap(int* i1,int* i2){ int temp; temp = *i1; *i1 = *i2; *i2 = temp; } 当你想交换两个

12个关于C语言的有趣问答_C 语言

本文汇总了12个关于C语言的问答,对于加深对C语言程序设计的难点理解很有帮助,读者可参考一下: 1.gets() 方法 问:以下代码有个被隐藏住的问题,你能找到它吗? 答:这个不显眼的问题就是使用了 gets() 方法.此方法接受一个string类型参数,但是却没有检测此数值是否 有足够的空间来拷贝数据.所以这里我们一般用 fgets() 方法将来的更好. #include<stdio.h> int main(void) { char buff[10]; memset(buff,0,sizeo

分析C语言一个简单程序_C 语言

首先给大家一个简单的例子,让读者有个整体的认识,代码如下: #include <stdio.h> int main() { puts(""); return 0; } 函数的概念 先来看第4行代码,这行代码会在显示器上输出"".前面我们已经讲过,puts 后面要带( ),字符串也要放在( )中. 在C语言中,有的语句使用时不能带括号,有的语句必须带括号.带括号的称为函数(Function) . C语言提供了很多功能,例如输入输出.获得日期时间.文件操作等

Android编程实现获取当前系统语言及地区并更改语言的方法

本文实例讲述了Android编程实现获取当前系统语言及地区并更改语言的方法.分享给大家供大家参考,具体如下: 如果想获取手机的当前系统语言,可以通过Locale类获取,主要方法: Locale.getDefault().getLanguage() 返回的是es或者zh:通过 Locale.getDefault().getCountry() 获取当前国家或地区,返回为CN或US: 如果当前手机设置为中文-中国,则使用此方法返回zh-CN,同理可得到其他语言与地区的信息. 1.首先,如果要程序自动适

c语言-语言重视概念?C语言中什么是表达是表达式

问题描述 语言重视概念?C语言中什么是表达是表达式 请教大神,麻烦详细回答,请全面点. 还有学习C等计算机语言要特别重视概念的东西吗?比如什么是常量,什么是变量等 老师平时i老是提问同学概念问题. 我平时都没怎么重视概念.以为看懂了程序就OK了. 来个大神分享心得.. 解决方案 基本概念当然非常重要,但是重要不等于难以理解,相反,如果你具有非常丰富的编程经验,不用刻意地学,也能领悟. 解决方案二: 多看书,就能掌握基础知识了,然后使用的时候多查查,温习 解决方案三: 在学生期,是一定要重视概念的

密码锁 vhdl语言-密码锁,关于eda语言的vhdl

问题描述 密码锁,关于eda语言的vhdl 用vhdl语言设计数字密码锁,有创新需要源代码及编译后有原理图,,,,,

应届生应聘时选哪个语言作为自己的主要语言。。

问题描述 应届生应聘时选哪个语言作为自己的主要语言.. 九月就要加入找工作大军了..在学校c/c++,java都学过了. 现在想开始认真复习一门语言作为笔试面试的主要语言. 感觉c++和java学的差不多(还是java略好一点),平时用java也多一点(写算法和数据结构也爱用java)..本来打算用java的,但是结合学长的传授和最近看的指导书,他们更偏向c++..所以我也有点犹豫. 虽然我知道现在一般企业都有c++和java两套卷子可选,还是想求助一下万能的前辈们,来帮我分析一下..致谢啦..