程序语言基础

导航

一、程序设计语言

程序设计语言

  • 高级语言
  • 低级语言
    • 机器语言
    • 汇编语言
      • 指令语句
      • 伪指令语句
      • 宏指令语句

二、各种程序语言特点

  1. Fortran语言(科学计算,执行效率高)
  2. Pascal语言(为教学而开发的,表达能力强,Delphi)
  3. C语言(指针操作能力强,高效)Lisp语言(函数式程序语言,符号处理,人工智能)
  4. C++语言(面向对象,高效)
  5. Java语言(面向对象,中间代码,跨平台)C#语言(面向对象,中间代码,.Net)
  6. Prolog语言(逻辑推理,简洁性,表达能力,数据库和专家系统)
  7. Python语言(一种脚本语言)

三、高级程序设计语言

  • 解释程序/编译程序
    • 解释程序 也称解释器 源程序,或者中间代码
    • 编译程序 也称编译器 目标语言程序
    • 区别 是否生产独立的目标程序?(解释程序不会产生),编译程序速度比解释程序快
  • 基本概念
    • 语句
    • 语法
    • 语义
    • 语用

四、编译器的工作阶段

image-20240503222239298

  • 词法错误:非法字符,关键字或标识符拼写错误
  • 语法错误:语法结构出错,if··endif不匹酡,缺分号
  • 语义错误(静态错误:程序编译时候的出错;动态错误:程序执行过程中出错):死循环,零除数,其他逻辑错误

五、程序语言的数据成分

程序设计语言的基本成分包括:数据,运算、控制和传输。

数据是程序操作的对象,具有以下属性:

  • 数据名称:由用户通过标识符命名
  • 数据类型:说明数据占用内存的大小和存放形式存储类别:说明数据在内存中的位置和生存期
  • 作用域:说明可以使用数据的代码范围
  • 生存期:说明数据占用内存的时间范围
数据类型 基本类型:整型、字符型、实型、布尔类型
特殊类型:空类型(void)
用户定义类型:枚举类型
构造类型:数组、结构、联合
指针类型:type*
抽象类型:类类型

数据类型转换规则:char,short→int→unsigned→long,float→double

六、程序控制结构

三种基本逻辑结构

  1. 顺序结构:是一种线性有序的结构,由一系列依次执行的语句或模块构成
  2. 循环结构:是由一个或几个模块构成,程序运行时重复执行,直到满足某一条件为止
  3. 选择结构:是根据条件成立与否选择执行路径的结构

七、表达式的例题

  1. 前缀表达式(+ab)
  2. 中缀表达式(a+b)
  3. 后缀表达式(ab-) 逆波兰式

解题方法

  • 先构造二叉树,再后序遍历加括号,再移动运算符
  • 每个小运算用括号包起来,然后提取符号到括号右边,最后按照数学运算顺序去掉所有括号
    • a+b*c+d
      • =((a+(b*c))+d)
      • =((a+bc*)+d)
      • =(abc*++d)
      • =abc*+d+
    • (a-b)*(c+5)
      • =((a-b)*(c+5))
      • =(a-b)(c+5)*
      • ab-c5+*

八、传值、传址

传值调用:实际上重新复制了一个副本给形参,不改变调用函数实参变量的内容(有去无回)

传址调用:将实参地址给形参,将改变调用函数实参变量的内容(有去有回)