程序设计语言基础错题解析【软考】

目录

  • 前言
  • 1.编译与解释
  • 2.编译器工作过程
    • 2.1编译过程概述
    • 2.2对语句的处理
    • 2.3源程序数据类型目的
  • 3.中间代码
  • 4.正规式
  • 5.错误管理
  • 6.后缀表达式
  • 7.传值与传址
    • 7.1基础
    • 7.2实际计算
  • 8.多种程序语言特点

前言

本文专门用来记录本人在做软考中有关程序设计语言基础的错题,我始终认为教学相长是最快提高的方法,所以写下了这边文章,加深印象也为了帮助大家,最后希望大家都能软考上岸!!!
在这里插入图片描述

相关题目已按知识点分类,读者大大们可依目录观看:)


1.编译与解释

题目:编译器和解释器是程序语言翻译的两种基本形态,以下关于编译器工作方式及特点的叙述中,正确的是(D)

  • A.边翻译边执行,用户程序运行效率低且可移植性差
  • B.先翻译后执行,用户程序运行效率高且可移植性好
  • C.边翻译边执行,用户程序运行效率低且可移植性好
  • D.先翻译后执行,用户程序运行效率高且可移植性差

相关解析
编译与解释的不同点

编译型语言解释型语言
翻译程序为编译器翻译程序为解释器
生成目标代码不会生成目标代码
目标程序直接执行边解释边执行
编译器不参与执行解释器参与执行
执行效率高执行效率低
灵活性差,可移植性差灵活性好,可移植性强

2.编译器工作过程

2.1编译过程概述

题目:将编译器的工作过程划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成时,语法分析阶段的输入法是(A)。若程序中的括号不配对,则会再(B)阶段检查出该错误

问题一:

  • A.记号流
  • B.字符流
  • C.源程序
  • D.分析树

问题二:

  • A.词法分析
  • B.语法分析
  • C.语义分析
  • D.目标代码生成

相关解析

编译过程概述

编译过程说明
词法分析读入源程序,对其进行一定的切分,输出记号流
语法分析分析源程序是否存在语法上的错误,包括:语言结构错误、if…end if不匹配、缺少分号、括号不匹配、表达式缺少操作数等
语义分析进行类型分析和检查,主要检查源程序是否存在静态语义错误(动态语义错误检查不出来)

2.2对语句的处理

题目:编译过程中,对高级语言程序语名的翻译主要考虑声明语句和可执行语句。对声明语句,主要是将所需要的信息正确地填入合理组织的(A)中;对可执行语句,则是(C)

问题一:

  • A.符号表
  • B.栈
  • C.队列
  • D.树

问题二:

  • A.翻译成机器代码并加以执行
  • B.转换成语法树
  • C.翻译成中间代码或目标代码
  • D.转换成有限自动机

相关解析

对声明语句的处理

  • 将所需要的信息正确的填入合理组织的符号表中

对可执行语句的处理

  • 编译器会将其翻译成中间代码或目标代码

2.3源程序数据类型目的

题目:某程序设计语言规定再源程序中的数据都必须具有类型,然而,(B)并不是做出此规定的理由

  • A.为数据合理分配存储单元
  • B.可以定义和使用动态数据结构
  • C.可以规定数据对象的取值范围及能够进行的运算
  • D.对参与表达式求值的数据对象可以进行合法性检查

相关解析

要求源程序中的数据必须具有类型的目的有

  1. 方便数据合理分配存储单元
  2. 规定了数据类型,就知道了其占用的字节数,从而规定了数据对象的取值范围机能够进行的运算
  3. 对参数表达式求值的数据对象可以进行合法性检查

3.中间代码

题目:将高级语言源程序翻译成机器与语言程序的过程中,常引入中间代码。以下关于中间代码的叙述中,不正确的是(D)

  • A.中间代码不依赖于具体的机器
  • B.使用中间代码可提高编译程序的可移植性
  • C.中间代码可以用树或图来表示
  • D.中间代码可以用栈和队列表示

相关解析
中间代码说明:

  • 是根据语义分析输出生成中间代码
  • “中间代码”是一种简单且含义明确的记号系统,可以有若干种形式,它们的共同特征是与具体的机器无关
  • 由于中间代码实际上也起着编译器前端和后端分水岭的作用,所以使用中间代码也有助于提高编译程序的可移植性
  • 常用的中间代码有后缀式、三元式、四元式和树(图)形式

4.正规式

题目:以下关于原L={anbn|n>=1}的叙述中,正确的是(D)

  • A.可用正规式“aabb”描述,但不能通过有限自动机识别
  • B.可用正规式“ambn”描述,但可用有限自动机识别
  • C.不能用正规式表达,但可用有限自动机识别
  • D.即不可用正规式描述,也不能通过有限自动机识别

相关解析
与L语言最接近的正规式为:aabb
与L语言最接近的有限自动机为:
在这里插入图片描述
但无论如何无法造出完全等价的正规式,因为在L语言中,n的取值为多少,与a与b的数量都相等,而aabb无法保证这一点

5.错误管理

题目:若C程序的表达式中引用了为赋初值的变量,则(D)

  • A.编译时一定会报告错误信息,该程序不能与运行
  • B.可以通过编译并运行,但运行时一定会报告异常
  • C.可以通过编译,但链接时一定会报告错误信息而不能运行
  • D.可以通过编译并运行,但运行结果不一定是期望的结果

相关解析

在C语言中,若在某个表达式中引用了为赋初值的变量,那么程序是可以通过编译并运行的,因为程序中并没有语法方面的错误,只是运行结构可能与我们期望的结果不一致

6.后缀表达式

题目:算数表达式a+(b-c)*d的后缀式是(B)

  • A.bc-d*a+
  • B.abc-d*+
  • C.ab+c-d*
  • D.abcd-*+

相关解析
在这里插入图片描述

7.传值与传址

7.1基础

题目:当函数调用执行时,在栈顶创建且用来支持被调用函数执行的一段存储空间称为活动记录或栈帧,栈帧中不包括(B)

  • A.形参变量
  • B.全局变量
  • C.返回地址
  • D.局部变量

相关解析
战阵时虚拟机栈的一个单位,是运行时数据区。
包含局部变量、返回地址、形参变量、动态数据

全局变量存储在程序的静态数据区

7.2实际计算

题目:函数f、g的定义如下,执行表达式“y=f(2)”的运算时,函数调用g(la)分别采用引用调用方式和值调用方式,则该表达式结束后y的值分别为(20)、(6)
在这里插入图片描述
相关解析

引用调用计算步骤:

  1. 执行y=f(2),传参x=2至f(x)
  2. la=x+1=2+1=3
  3. g(la)采用引用调用,在g(la)中,x=x * x+1=3 * 3+1=10,由于是引用调用,会影响形参la的值,所以la=10
  4. 计算la * x=10 * 2=20

值调用计算步骤:

  1. 执行y=f(2),传参x=2至f(x)
  2. la=x+1=2+1=3
  3. g(la)采用值调用,在g(la)中,x=x * x+1=3 * 3+1=10,由于是值调用,不会影响形参la的值,所以la=3
  4. 计算la * x=3 * 2=6

8.多种程序语言特点

题目:以下关于脚本语言的叙述中,正确的是(C)

  • A.脚本语言是通用的程序设计语言
  • B.脚本语言更适合应用在系统级程序开发中
  • C.脚本语言主要采用解释方式实现
  • D.脚本语言中不能定义函数和调用函数

相关解析

程序语言特点
C语言语法简洁,可移植性高,高效
C++语言面向对象,高性能,支持扩展性
Java语言面向对象,可跨平台
python语言面向对象,解释型,代码简洁
C#语言面向对象,.Net
Ruby语言面向对象,可移植性高
PHP语言脚本语言,语法混合了C、Java、Perl的特点
Fortran语言科学计算,执行高效
Lisp语言函数式,常用于人工智能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1555844.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【C/C++】错题记录(四)

题目一 一个函数可以有很多个返回值(有很多个return语句),但是最终只能有一个return语句执行。 题目二 题目三 题目四 题目五 程序数据结构算法 题目六 题目七 题目八 题目九 D选项是语句……

【进程间通信(二)】【命名管道】

目录 1. 命名管道1.1 现象1.2 理解1.3 编码通信 2. 了解日志2.1 了解可变参数2.2 在通信中加入日志信息 【进程间通信(一)】【管道通信(上)】 【进程间通信(一)】【管道通信(下)】 这…

深入解析DPU:AI时代的芯片分工与超级网卡

引言 在当今AI时代,计算需求的爆炸性增长使得传统数据中心的架构面临着巨大的挑战。数据处理任务越来越复杂,尤其是在大型AI模型如GPT和BERT的应用中,如何提高数据中心的计算和传输效率成为关键问题。传统的CPU(中央处理器&#…

希捷8T硬盘exfat变0字节的恢复方法

最近流行的3.5寸大容量台式硬盘移动盒子是一种性价比较高的组合,为了方便如涉及到跨平台(win和mac),大多数此类组合选择了exfat文件系统。下边这个案例就是我们经常遇到的exfat变0字节。 故障存储: ST8000HKVS002 8T/exfat 文件…

第十三章 Redis短信登录实战(基于Redis)

目录 一、概述 1.1. Session复制 1.2. 使用Redis 二、基于Redis实现共享Session登录 2.1. 实现思路 2.2. 功能实现的主要代码 2.2.1. 用户业务接口 2.2.2. 用户业务接口实现类 2.2.3. 用户控制层 2.2.4. 登录拦截器 2.2.5. 拦截器配置类 2.3. 优化登录拦截器 完…

Git基本操作与分支

一、操作入门 先看大屏幕:先背过 再来操作 初始化 刚入门的小朋友可能出现这种问题: 原因是:需要自己创建一个记事本文件 add的作用是添加指定文件到暂存区。 commit是提交暂存区到仓库区,此处的仓库是本地仓库,本…

选择最佳HR系统_6款产品评测与推荐

本文盘点了ZohoPeople、SAPSuccessFactors等六款主流HRMS,各系统各具特色,如ZohoPeople的全球化云管理、SAP的高定制化、Workday的实时数据分析等,适合不同规模企业需求,建议企业试用后决策。 一、Zoho People Zoho People 是一个…

如何使用ssm实现基于bootstrap的课程辅助教学网站的设计与实现+vue

TOC ssm782基于bootstrap的课程辅助教学网站的设计与实现vue 第1章 绪论 1.1研究背景与意义 在科学技术水平还比较低下的时期,学校通常采用人工登记的方式对相关的课程信息进行记录,而后对这些信息记录进行管理和控制。这种采用纸质存储信息的管理模…

第十五周周报

目录 摘要Abstract1 LSTM模型实战1.1 数据处理1.2 LSTM模型的搭建1.3 数据的预测和可视化 2 transformer(上)2.1 Transformer 结构2.2 Transformer 编码器 总结 摘要 本周的工作内容主要分为两个部分,第一部分是使用LSTM模型预测股票市场数据…

固态硬盘数据丢失?别急,这4款恢复神器帮你找回“丢失的记忆”!

数据啊,对咱工作和生活那可老重要了。不过呢,固态硬盘里的数据说不定啥时候就因为不小心误操作啦,或者被病毒攻击啦,再或者硬件出毛病就丢了,这可真让人上火。还好哈,市场上有不少专门的数据恢复软件呢&…

AI少女/HS2甜心选择2 仿逆水寒人物卡全合集打包

内含AI少女/甜心选择2 仿逆水寒角色卡全合集打包共6张 内含:白灵雪魅落霞飞雁君临华歌白君临华歌黑平野星罗晚香幽韵 下载地址: https://www.51888w.com/436.html 部分演示图:

【Android】Handler消息机制

文章目录 前言概述核心组件概述Android消息机制概述 Android消息机制分析ThreadLocal的工作原理ThreadLocal基础ThreadLocal实现原理 MessageQueueLooperHandler的工作原理总结 前言 本文用于记录Android的消息机制,主要是指Handler的运行机制。部分内容参考自《An…

comfyui服装设计,一个工作流搞定!

前言 ComfyUI:为你的图像创作赋能的强大工具 所有的AI设计工具,安装包、模型和插件,都已经整理好了,👇获取~ 在AI技术迅猛发展的今天,Stable Diffusion成为了图像生成领域中的一颗明星,而基于…

红米Turbo 3工程固件预览 修复底层 体验原生态系统 默认开启diag端口

红米Turbo 3机型代码:peridot 国外版本:POCO F6 用于以下型号的小米机型:24069RA21C, 24069PC21G, 24069PC21I。搭载1.5K OLED屏、骁龙8s处理器、5000mAh电池+90W快充、5000万像素主摄。 通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝�…

SpringBoot实战:设计与实现明星周边电子商务平台

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

java发起POST方法请求第三方接口(编码处理)

文章目录 引言I 案例查询船舶轨迹配置JVM编码参数请求提供方常见问题II 工具类III 知识扩展:程序运行源代码各个阶段对编码的处理Java源码--->字节码Java字节码--->虚拟机--->操作系统操作系统-->显示设备引言 使用场景: 调用第三方平台接口 I 案例 查询船舶…

基于epoll的Reactor模型

一、代码展示 1、主函数 main.cc(第一级别) 先控制台获取服务器的端口号,绑定端口号IP地址。PackageParse作为报文解析并发送接收报文的中间类,Listener是服务器的监听套接字,HandlerConnection是连接套接字&#xff…

案例-博客页面简单实现

文章目录 本文内容只涉及前端1. 内容要求2. 画面展示初始化面演示视频 3. 注意事项4. 代码区js文件夹下的jquery.min.js内容登录代码列表页面创作页面 本文内容只涉及前端 1. 内容要求 登录页面实现博客列表页面实现博客创作页面实现 链接: 开源在线 Markdown 编辑器文本框可…

【黑马点评】 使用RabbitMQ实现消息队列——2.使用RabbitMQ监听秒杀下单

2 使用RabbitMQ实现消息队列 2.1 修改\hm-dianping\pom.xmlpom.xml文件 添加RabbitMQ的环境 <!-- RabbitMQ--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </depe…

国外电商系统开发-运维系统资产属性-命令执行功能

当前开发中&#xff0c;还不支持点击拓扑图标打开资产的功能&#xff0c;后期有时间补全对应的开发。 该功能如同Xshell、SecureCRT、Putty一样&#xff0c;可以批量的发送系统命令&#xff0c;让Linux服务器执行。 默认情况下&#xff0c;系统已经选择全部主机&#xff0c;如果…