程序设计基础第一章.pptx
陈文宇电子科技大学计算机科学与工程学院
cwy主楼B1-513
学时:24+24成绩构成:平时10,期中10分实验20分,期末60分考试:闭卷、笔试
教材:C语言程序设计黄迪明等电子科技大学出版社2008.70102
参考书BrianW.Kernighan,DemisRitchie01TheCProgrammingLanguage2ndEd(英文影印版)清华大学出版社2000谭浩强《C程序设计》(第3版)清华大学出版社200502
程序设计Programming给出解决特定问题程序的方法和过程,是软件构造活动的重要组成部分1专业的程序设计人员称为程序员2程序设计过程应当包括需求分析设计编码测试维护五个阶段,并生成各种文档资料。3
程序设计需要以某种程序设计语言为工具:编写出该语言的程序。
问题什么是程序设计语言?什么是程序?什么是软件?程序设计语言与程序的关系是什么?
语言:一组规则的组合自然语言中的英语:字母表的定义;词法规则:单词符号的形成规则一个单词对应一条形成规则,规定了该单词由哪些字母按照什么顺序进行排列
短语、从句、句子、段落、文章语法规则:语法单位的形成规则单词符号和语法单位的含义规则语义规则:
需要根据上下文进行明确03强调在一定的语境中使用单词和语法单位时体现出来的具体意义02语义规则的发展和延伸01语用规则:
英语和英语文章的关系?
程序设计语言:用于程序设计的人工语言
程序设计语言机器语言:第一代程序设计语言01字母表:{0,1}单词符号:操作码、地址语法单位:指令10011110程序指令的组合0602030405
机器语言STEP03STEP01STEP02编写程序十分繁琐和痛苦;程序不便于记忆、阅读和书写,容易出错(查错和改错,十分困难);每类计算机的指令系统各不相同,可移植性很差,造成了重复工作。
机器语言01指令针对特定型号的计算机(与机器有关,低级语言)02运算效率很高
汇编语言1字母表:主要增加了英文字母2单词符号:操作码、内存符号、寄存器、数据3语法单位:指令ADDA,R0程序指令的组合
汇编语言:第二代计算机语言03汇编语言仍然是面向机器的语言(低级语言),仍比较繁琐,通用性也差。02较容易理解程序,纠错及维护变得较方便01助记忆符:用与代码指令含义相近的英文缩写词、字母和数字等符号取代指令代码
汇编语言BAC需要将汇编语言指令翻译成机器语言的指令:汇编有着高级语言不可替代的用途汇编语言程序的目标程序占用内存空间少,运行速度快
高级程序设计语言字母表的定义;01词法规则:一般有五类单词符号02语法规则:语法单位包括:表达式、语句、模块、程序03
高级程序设计语言语义规则:语用规则:无二义的其他规则:如数据类型的定义、运算符优先级的定义、参数的传递方式、作用域的规定等
FORTRAN语言的一条语句:if(num0)thenabs:=numelseabs:=-num;
高级程序设计语言独立于计算机的硬件01对具体的算法进行描述(算法语言)02独立性,通用性和可移植性好03
高级程序设计语言01.一般包含有以下四种成分:02.数据成分:描述程序所涉及的数据03.运算成分:描述运算04.控制成分:表达程序的控制结构05.传输成分:表达数据的传输(输入输出、文件读写操作)
高级程序设计语言高级语言的程序主要是描述计算机的解题过程,即描述复杂的加工处理过程,所以也称高级语言为面向过程语言。计算机不能直接执行高级语言的程序(源程序);通常有解释方式和编译方式两种方法在计算机上执行程序(目标程序)。
大量的程序设计语言被发明、被取代、被修改或组合在一起;尽管多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的WHY?02思考01
高级语言的发展早期语言到结构化程序设计语言从面向过程到非过程化程序语言从
1FORTRAN=FORmulaTRANslation2主要用于科学计算3ALGOL60=ALGOrithmicLanguage60采用BNF形式描述语法4早期的高级语言(50年代)
早期的高级语言213COBOLCOmmonBusinessOrientedLanguage.广泛应用于各种事务处理领域4.引入了文件和数据描述
基于数学原则的语言LISP.其基础是函数和函数作用APL.支持函数式程序设计风格.应用于大量矩阵运算的科学计算早期的突破
SNOBOL4.主要用于字符串处理.与机器无关的宏功能,增加了程序的可移植性010203
PL/101.希望将所有语言概念集