什么是程序语言?

什么是程序语言?,第1张

电脑的语言程序设计

在电脑时代的早期,有一个有趣的现象,那就是没有人知道该如何撰写电脑程序,也没有人知道该如何训练他人撰写程序。数学家或其他科学家虽然具备解决这方面问题的能力,但是许多专业人员,好比从音乐到文学方面的专业,也同样具有相当重要的贡献。今天即使在处理许多先进的问题上,如人类学、哲学、艺术及心理学等观念,非技术方面的专业人员亦引领着电脑科技的发展方向。

理由很简单,无论有多少的硬件设备,电脑终究要被人类所使用,人类可能担任 *** 作者或程序设计人员的角色,不论是多媒体展示会的观众,或是受惠于电脑辅助设计教学的学生,在人机界面上,人类的智慧思维,与电子电路、物理及机械方面的知识,具有相同的重要性。

一旦有了程序语言,撰写程序便显得相当重要,我们再次强调,“语言”这种说法是非常恰当的,如同诗人、小说家或老师运用语言来写诗、小说或课本一般,程序设计师利用程序语言来撰写有用的或娱乐性的电脑程序。究竟现在有多少电脑程序存在呢?答案至少有数百万个。有数以百计的主程序包含数以千计的副程序,而且有许多标准程序可供用户修改成符合个别且特殊需求的程序。

在商场上被广为采用的,是数据库管理系统程序,或称DBMS。简单地说,数据库是一种事件的搜集,通常这些事件之间有某种程度的关联,如字典一般,电话簿就是一个数据库;又如银行建立的顾客的数据库,内容详列顾客的姓名、地址、账号,以及投资或储金的偏好,当一种新的存款方式上市,银行便会列出顾客名单,并寄上简介信给可能对此新产品有兴趣的客户。

对银行来说,一种更富挑战性的数据库,是所谓的“同步数据库”,这是一种随时将数据更新的数据库,对有提款机的银行来说,这样的程序是必须的,因为提款机必须立即进入用户的账户,减掉客户想要提取的金额,并更新该账户的记录,如此一来,该账户便无法以连续提领的方式溢领现金,但这对银行对客户服务的方便性,与银行提供该项服务的成本来说,具有相当大的影响。

不过,若我们以空中交通管制为例,这样的数据库可就不足为奇了。在这个例子中,飞机需确认其飞行于各大城市间的位置及其数据库,是否与实际状况同步,这是人命关天的事。空中交通管制人员便察觉到,拥有高速、同步更新的数据库有助于监控工作随时保持高度警戒。

数据库仅是众多有用的电脑程序中的一个,其他被广为采用的尚包括:文字处理、数值分析、绘图、图表或其他数值显示方式、教育或机械、建筑设计,而最令人兴奋的新程序种类,则是提供给程序设计的人员本身所使用的,这种新领域称为电脑辅助软件工程。

市场分析专家在近期的《电子工程师学会月刊》指出,电脑辅助软件工程在90年代中期,将有50亿美元的市场。简单地说,电脑辅助软件工程促进了软件撰写过程的自动化。尽管电脑语言的发展,在易于阅读与撰写方面已有长足的进步,但软件的开发仍是相当耗时与昂贵的工作,并且一旦软件开发完成,还必须经常更新与维护。换句话说,当一家公司购买一个庞大而昂贵的软件之后,还必须买进该项程序专家的时间,来确保软件的正常运作。

人们希望电脑辅助软件工程能够增进撰写软件的效率,使软件工程师有更多的时间去开发其他程序,或探索他们开发程序的新方法。通常软件工程师最常遇到的困难是,虽然他们对电脑技术所知甚多,但对其正在撰写的程序的应用方面,却没有特别深入的了解,因此,借由与程序使用者间的相处,对软件工程师是否能提供适当的软件给消费者,必定多有助益。

电脑辅助软件工程的重要关键,是一种称为物件导向程序设计的电脑语言模式,若没有相当的程序设计相关知识,很难去解释物件导向程序设计的意义,不过将其比喻成储藏着许多不同种类工具的五金行,倒是一个可行的方式。当一个木匠开始一项工作时,他们可能需要锤子、锯子、电动工具及其他零件材料;同样的,电脑程序设计师使用物件导向程序设计,便是利用各种物件——即程序中的工具,将他们组成一个所需的程序。

问题一:编程语言的理解是什么? 人与人之间用的是语言 有汉语 英语。。。 那人和电脑硬件也要有语言来交流 那就是计算机编程语言 1、低级语言 - 机器语言、汇编语言和符号语言。 - 汇编语言源程序必须经过汇编,生成目标文件,然后执行。 2、高级语言 - BASIC(True basic、Qbasic、Virtual Basic)、C、PASCAL、FORTRAN、智能化语言(LISP、Prolog)等等。 - 高级语言源程序可以用解释、编译两种方式执行。通常用后一种。 我们使用的C语言就是使用的后者。 3、专用语言 CAD系统中的绘图语言和DBMS的数据库查询语言。 1.1.机器语言 机器语言是指一台计算机全部的指令 *** 电子计算机所使用的是由0和1组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由0和1组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。 因此程序就是一个个的二进制文件。一条机器语言成为一条指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。 1.2.汇编语言 为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用ADD代表加法,MOV代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。 汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。 1.3.高级语言 1.3.1.高级语言的发展 从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言--FORTRAN问世了,40 多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。 特别要提到的:在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接 *** 作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言――C语言。 高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。相应地,软件的开发也由......>>

问题二:c语言中?和:是什么意思 (表达式)? x : y

首先计算表达式的值,若为ture,则(表达式)? x : y 返回x;否则返回y.

问题三:最简单的程序语言是什么 没有最简单,只有更简单 个人认为Visual Basic巨简单 易语言是中文编程的,对英语不好的童鞋们来说应该是最简单的

求采纳

问题四:C语言中%d什么意思 %d:输入输出为整形 %ld 长整型 %hd短整型 %hu无符号整形 %u %lu

%s:输入输出为字符串 %c字符

%f:输入输出为浮点型 %lf双精度浮点型

问题五:C语言中“+=”是什么意思? +=的意思就是把左边的第一个符号移到右边,其实就是b = b+c的意思。直接到b+=c的b+移到右边。

问题六:% C语言中什么意思 1.模运算,即求余数。

表贰式 a % b 就是计算 a 除以 b 得出的余数。

例如: 4 % 3 的结果是 1

2.转义符,比如在scanf()和printf()中的输入参数常出现带有%的表示参数类型的变量,如%d,%f等。

问题七:C语言中 ==是什么意思? 这是一个逻辑符号,也就是说,结果是真或者假.

a==b:

当a与b相等时是真,

否则为假.

还有,回应一下klboy123:在C语言里没有===这个符号.

问题八:C语言中%=是什么意思 一楼回答的是正解,它和+=、-=的用法类似。

其实:

a=10

b=3

a%=b等价于a=a%b其实福在a就是1

问题九:在C语言中<<是什么意思? 先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用=类型长度.那么实际上i,j移动的就是1位,也就是33%32后的余数.在gcc下是这个规则,别的编译器是不是都一样现在还不清楚.

总之左移就是: 丢弃最高位,0补最低位

再说右移,明白了左移的道理,那么右移就比较好理解了.

右移的概念和左移相反,就是往右边挪动若干位,运算符是>>.

右移对符号位的处理和左移不同,对于有符号整数来说,比如int类型,右移会保持符号位不变,例如:

int i = 0x80000000

i = i >>1i的值不会变成0x40000000,而会变成0xc0000000

就是说,符号位向右移动后,正数的话补0,负数补1,也就是汇编语言中的算术右移.同样当移动的位数超过类型的长度时,会取余数,然后移动余数个位.

负数10100110 >>5(假设字长为8位),则得到的是 11111101

总之,在C中,左移是逻辑/算术左移(两者完全相同),右移是算术右移,会保持符号位不变.实际应用中可以根据情况用左/右移做快速的乘/除运算,这样会比循环效率高很多.

例:C语言中左移>表示除以2,这是由计算机工作原理导致的!但是要是7,二进制数为0111,右移一位得3.5,但是右移之后二进制数变成0011,是3。不一样啊,怎模解释呢??

答:移位 *** 作符的两个 *** 作数必须是整型的。整个移位表达式的值......>>

问题十:C语言中的/=是什么含义? “/=”属于复合赋值运算符中的一种,表示把左边的变量除于右边变量的值赋予右边的变量,例如:a/=b等价于a=a/b。同类的还有*=(例如:a*=b等价于a=a*b)、+=(例如:a+=b等价于a=耽+b)、-=(例如:a-=b等价于a=a-b)、%=(例如:a%=b等价于a=a%b(这里的%符号是求余运算符,a%b表示求a除于b的余数))。或许你还会问为什么a/=b为什么不直接用a=a/b来表示,这是因为这样的表示方法可以让程序更加简洁。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/10894522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存