搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
凡人多烦事01
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
首起针对国内金融企业的开源组件投毒攻击事件_组件投毒 数据库
2
项目体检(Health Check)升级上线
3
Mac系统安装及配置python_macbook如何安装python2
4
python读程序写结果-31.Python:文件读写
5
Git+TortoiseGit详细安装教程(HTTP方式)_tortoisegit http
6
Python的日志输出_python日志输出到文件
7
Springboot+Vue项目-基于Java+MySQL的图书馆管理系统(附源码+演示视频+LW)
8
阅读小车循迹论文笔记:灰度传感器、仿生处理器、路径跟踪机制()_灰度传感器原理图
9
SIDE:开启研发新的颠覆式的开发体验
10
Flask-SQLAlchemy的使用(详解)_flask sqlalchemy options
当前位置:
article
> 正文
软考中级设计师知识笔记整理--程序语言基础知识_程序语言基础知识软考
作者:凡人多烦事01 | 2024-04-30 21:23:21
赞
踩
程序语言基础知识软考
章节梳理
低级语言:通常称机器语言和汇编语言为低级语言。机器语言是指用0,1字符串组成的机器指令序列。
编译程序和解释程序:用某种高级语言或汇编语言编写的程序称为 源程序,它不能直接就在计算机上执行。如果源程序是使用汇编语言编写的,则需要一个称为汇编程序大的翻译程序将其翻译成目标程序后才能执行。如果源程序是使用某种高级语言编写的,则需要相应的解释程序或编译程序对其进行翻译,然后才能在机器上运行。
在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序不
再
参与目标程序的执行过程。
在解释方式下,解释程序和源程序
(
或其某种等价表示
)
要参与到程序的运行过程当中,运行程序的控制权在解释程序中。
程序设计语言的定义:一般涉及语法,语义,语用和语境等方面。
命令式程序设计语言:基于动作语言,开始于Fortran、Pascal、和C语言。
面向对象的程序设计语言:C++、java和Smalltalk(Simula提出对象和类的概念)
函数程序设计语言:LISP为代表,其中大量使用递归
逻辑型程序设计语言:形式以逻辑为基础的语言,该语言的代表是建立在关系理论和一阶谓词理论基础上的Prolog
变量具有左值和右值,在程序运行过程中其右值可以改变,常量只有右值,在程序运行中右值不能改变。
词法分析:对源程序从前到后(从左到右)逐个字符进行扫描,从中设别一个个“单词”符号。
语法分析:在词法分析的基础上,根据语言的规则将单词符号序列分解成各类语法单位,如“表达式”,“语句”和“程序”等。词法和语法分析本质上都是对源程序的结构进行分析。
语义分析:主要审查源程序是否存在语义错误,并收集类型信息供后面的代码使用,只有 语法和语义都正确的源程序才能翻译成正确的目标代码。(是编译过程的逻辑阶段)
中间代码生成阶段:中间代码起着编译器前端和后端分水岭的作用,使用中间代码有利于提高编译程序的可移植性。常用有 后缀式,三元式,四元式和树等形式。(可以考虑机器的特性,编写生成中间代码的编译程序相对容易)
代码优化:是对前一阶段产生的中间代码进行变换或进行改造,目的是使生成的代码更加高效。
目标代码生成阶段:是把中间的代码转化成特定机器上的绝对的指令代码,可重定位的指令代码或汇编指令代码。这是编译的最后阶段,它的工作与具体的机器密切相关。
符号表管理:在符号表记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。
出错处理:用户编写的源程序中的错误大致可分为静态错误和动态错误。
语法分析:自顶向下(是对给定的符号串试图自顶向下地为其构造一棵语法树,或者说从文法的开始符号出发,为其构造一个最左的推导)、自底向上(是对给定的符号串试图自底向上地为其构造一棵语法树,或者说从给定的符号串本身出发,试图将其归约为文法的开始符号)。
算符优先文法属于
自底向上
的分析法,它利用各个算符间的优先关系和结合规则来进行语法分析,特别使用于分析各种表达式。
传值调用:最显著的特征就是被调用的参数内部对形参的修改不影响实参的值
引用调用:是将实参的地址传递给形参,使得形参的地址就是实参的地址。
错题整合
上下文法无关文法是形式语言理论中一种重要的变换文法,用来描述上下文无关语言,在乔姆斯基分层中称为2型文法。由于程序设计语言的语法基本都是上下文无关文法,因此应用十分广泛。
解释程序并不产生目标程序,这是它和编译程序的主要区别。
移进-归约分析是一种自底向上的分析方法。
在解释器上运行程序比直接运行编译过的代码要慢,是因为解释器每次都必须去分析并转译它所运行的程序行,而编译过的程序直接运行即可。
逆波兰将运算符写在操作数之后,因此也叫后缀表达式,要利用栈进行求值。
死循环错误属于典型的语义错误
,但静态的语义错误可被编译器发现。
C程序中全局变量的存储空间在 静态数据区 分配
代码区:存放函数体的二进制代码、
栈区:由编译器自动分配释放,存放函数的参数值,局部变量的值等
堆区:一般由
程序员
分配释放,若程序员不释放,程序结束时可能由操作系统回收。
静态数据区:内存在程序启动的时候才被分配,而且可能直到程序开始执行的时候才被初始化,所分配的内存在程序的整个运行期间都存在,如全局变量,static变量等。
自顶向下的语法分析方法包括递归下降分析法和预测分析法。
语法分析的任务是根据语言的语法规则分析单词串是否构成短语和句子,即表达式,语句和程序等基本语言结构,同时检查和处理程序中的语法错误
---------------------------------------------不做架构的开发不是好厨师,我是Zeus宙斯---------------------------------------------------------
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/凡人多烦事01/article/detail/515263
推荐阅读
article
字节
面试
第二次
一面
挂
_
字节
算法
一面
挂...
进步很多了,问的深度比以前要难了。但是还是有点不会,所以继续加油吧1G的长度16的字符串,只能用1M,找出前100多的字...
赞
踩
article
SSH
远程
登录
协议
_
ssh
指定
协议
登录
...
SSH
是一种安全通道
协议
,主要用于字符界面的远程
登录
,控制等,
SSH
协议
会对双方通信数据进行加密,包括用户
登录
输入的口令...
赞
踩
article
MD5
算法
的
实现
、
安全性
和优化_
md5
的
实现
密码学
...
MD5
算法
是一种常见的摘要
算法
,用于将任意长度的消息转换为一个固定长度的哈希值。该
算法
由美国麻省理工学院的Ronald ...
赞
踩
article
二叉树
的
层序
遍历
(C++详解)_
c++
二叉树
的
层序
遍历
...
本篇文章使用C++实现了
二叉树
的
层序
遍历
。_
c++
二叉树
的
层序
遍历
c++
二叉树
的
层序
遍历
...
赞
踩
article
06
,
基础操作
:
转
parquet
,
查看
parquet
,
转
csv
,
查看
csv
,
总...
1
,
count
csv
:
命令
:
spark-submit --master yarn --num-executors...
赞
踩
article
第三章
、
汇编
2...
算术逻辑操作加载有效地址一元和二元操作移位操作特殊算术操作控制条件码访问条件码跳转指令跳转指令的编码用条件控制来实现条件...
赞
踩
article
uni
app
自定义
国际化
语言
uni
.
chooseImage
、
picker
组件文本错误问题...
uni
app
自定义
国际化
语言
uni
.
chooseImage
、
picker
组件文本错误问题
uni
app
自定义
国际化
语言un...
赞
踩
article
AI
视觉
检测
在
制造业
缺陷
检测
中的运用_ai大
模型
适用于工业
缺陷
检测
吗...
AI
,或人工智能,是指使计算机系统模拟人类智能的科技。其中,深度学习作为
AI
的一部分,基于复杂 的人工神经网络来模拟人类...
赞
踩
article
python
字典
dict
修改
、
新增
、删除键值
_
python
修改
dict
值...
python
_
python
修改
dict
值
python
修改
dict
值 1、
修改
dict
s[...
赞
踩
article
【大
模型
系列】图片生成(
DDPM
/
VAE
/StableDiffusion/
ControlNet
/Lo...
ControlNet
是一个任务相关的端到端方法,即对于每一种控制类型都要训练一个特定的
ControlNet
支持, ...
赞
踩
article
数仓
数据
分层
(
ODS
DWD
DWS
ADS)换个角度看...
数仓
数据
分层
简介1. 背景
数仓
是什么, 其实就是存储
数据
,体现历史变化的一个
数据
仓库. 因为互联网时代到来,基于
数据
量的...
赞
踩
article
Navicat
设置
时间
默认值
(当前最新
时间
)_
navicat
premium
设置
默认值
...
文章较短,但是体会很深!!!!_
navicat
premium
设置
默认值
navicat
premium
设置
默认值
...
赞
踩
article
Python
dict
字典
_
字典
下标...
dict
字典
_
字典
下标
字典
下标 Python
字典
(
dict
)是...
赞
踩
article
Mysql
中
索引
的最
左
前缀
原则图文剖析(全)_
mysql
索引
左
前缀
原理...
目录前言1. 定义2. 全
索引
顺序3. 部分
索引
顺序3.1 正序3.2 乱序4. 模糊
索引
5. 范围
索引
前言之所以有这个...
赞
踩
article
rabbitmq
-常见七种消息
队列
-
控制台
界面管理-
python
-
实现
简单访问_
rabbitmq
控制...
通过使用
rabbitmq
技术,可以
实现
生产者和消费者模式,并
实现
两者的解耦,生产者负责通过交换机将数据存入
队列
,而消费者...
赞
踩
article
C++
详解
二叉树
的层序
遍历
(
BFS
)_
c++
二叉树
bfs
...
上一节讲了
二叉树
的三种基本
遍历
方法:先序、中序、后续,
C++
详解
二叉树
的三种
遍历
方式,这三种方法都是利用栈,DFS(深...
赞
踩
article
数据
结构
导论【四】之
树
和
二叉
树
_指定反馈
树
中使用
的
额外
tnode
结构
字段
,
并允许从子顶点移动到
其
直...
当 n = 0 时,称为空
树
;当 n > 0 时,有且仅有一个特定
的
称为根
的
结点;
其
余
的
结点可分为m(m >= 0)个互...
赞
踩
article
个人
博客
-
首页
后台
开发
(一)_
博客
后台
首页
...
声明:本渣渣部分代码参考自TendCode其实有很多代码是不需要自己一行行码出来,生产力是第一位。只有研究型人才需要生产...
赞
踩
article
代码
随想录
算法
训练营
Day
5|
数组
、链表总结...
数组
下标从0开始
数组
内存空间地址连续
数组
的元素不能删除,只能覆盖2.
数组
经典题型:(1)二分法明确循环不变量规则,即在循...
赞
踩
article
Docker
|
发布
镜像
到
镜像
仓库_
docker
发布
到
镜像
仓库...
大家好,我是Leo哥
docker
发布
到
镜像
仓库 ✅作者简介:...
赞
踩
相关标签
ssh
运维
数据结构
安全
算法
java
c++
开发语言
汇编
uni-app
人工智能
视觉检测
计算机视觉
深度学习
python
stable diffusion
论文阅读
大模型
数据仓库
大数据
ods
dw
mysql
datetime