程序语言基础知识(中级软件评测师备考笔记)

 各种程序语言特点:

Fortran语言(科学计算,执行效率高)

Pascal语言(为教学而开发的,表达能力强,Delphi )

C语言  (指针操作能力强,高效)

Lisp语言  (函数式程序语言,符号处理,人工智能)

C++语言 (面向对象,高效)

Java语言 (面向对象,中间代码,跨平台)

C#语言 (面向对象,中间代码,. Net )

Smalltalk (面向对象,程序设计语言、程序设计环境、应用开发环境)

Prolog语言(逻辑推理,简洁性,表达能力,数据库和专家系统)

Python语言 (一种脚本语言)

高级程序设计语言

生产独立目标程序的一定是编译器

静态类型语言

    java、C/C++、C#、DELPHI、VB等

动态类型语言

    asp、php、cgi、 lisp、Perl、python,Smalltalk、Ruby , vbscript,javascript等

编译器的工作阶段

 (语义分析只检查静态语义)

词法错误:非法字符,关键字或标识符拼写错误

语法错误:语法结构出错,if...end if不匹配,缺分号

语义错误:死循环,零除数,其它逻辑错误

正规表达式和正规集

.表示连接,可以省略;*表示闭包;|表示或;运算优先级:“*” “.” “|”(高到低)

 确定的有限自动机

f(A,a)=Q表示当前状态为A,输入为a时,将转换到下一个状态Q。例:

非确定的有限自动机

当前状态的后继状态不一定是唯一的。例:

 程序控制结构

顺序结构

循环结构

选择结构

程序语言的数据部分

数据类型:说明数据占用内存的大小和存放形式

存储类别:说明数据在内存中的位置和生存期

生存期:说明数据占用内存的时间范围

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

表达式

前缀表达式、中缀表达式、后缀表达式

例:表达式(a-b)*(c+5)的后缀式是__。(ab-c5+*)

解法①:

先构造二叉树,再后序遍历

解法②:

加括号再移动运算符到括号外,最后将括号去掉

 ((a-b)*(c+5))→((a-b)(c+5))*→((ab)-(c5)+)*→ab-c5+*

传值/传址

传值调用:实际上重新复制了一个副本给形参

                  不改变调用函数实参变量的内容

传址调用:将实参地址给形参

                  将改变调用函数实参变量的内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值