首页 > 其他分享 >大一 大二学生如何在大学里面就拿到软考中级软件设计师(4)

大一 大二学生如何在大学里面就拿到软考中级软件设计师(4)

时间:2024-07-24 13:25:17浏览次数:17  
标签:运算 语言 中间代码 软考 大一 程序设计 实参 大二 函数

哈喽!大家好啊!!!我又来带着大家学习了,前面几次呢,我们把第一章的知识点学习完了。如果还有小伙伴没有学习到的呢,可以点击下面的连接去学习噢:

(1)https://blog.csdn.net/2303_79274306/article/details/140398388

(2)https://blog.csdn.net/2303_79274306/article/details/140415177

(3)https://blog.csdn.net/2303_79274306/article/details/140569724

 大家如果想看一下软考都考啥的话,可以点击下面链接去看看噢:

2023年上半年全国计算机技术与软件专业技术资格考试(软件设计师 上午试卷+下午试卷)

2022年下半年全国计算机技术与软件专业技术资格考试(软件设计师 上午试卷+下午试卷)

 那么,接下来我们废话不多说,就让我们开始第二章的学习吧!!!

第二章 程序设计语言基础知识

根据考试大纲,本节知识主要涉及软件设计师上午的单选题,本章大概考3分左右。

2.1程序设计语言概述

2.1.1程序设计语言的基本概念

该部分会考查大家一些相关语言的知识,这几年考察Python的试题比较多,大家如果不会的话可以提前去了解了解,我之后的时间呢也会出一些学习Python的文章!!!

  • 程序设计语言是为了书写计算机程序而人为设计的符号语言,用于对计算机进行描述、组织和推导。

低级语言:机器语言(由0、1序列构成)、汇编语言。

高级语言:功能更强,抽象级别更高,与人们使用的自然语言比较接近。

  • 各程序设计语言特点:

1.Fortran语言:科学计算,执行效率高;

2.Pascal语言:为教学而开发,表达能力强;

3.C语言:面向过程,指针操作能力强,且高效;

4.C++语言:面向对象,且高效;

5.Java语言:面向对象,中间代码,跨平台;

6.C#语言:面向对象,中间代码,.NET;

7.Python语言:面向对象,脚本语言,解释型语言;

8.JavaScript语言:脚本语言,广泛用于Web开发。 

2.1.2程序设计语言的基本成分

 (1)数据成分

指一种程序设计语言的数据和数据类型。数据分为常量(程序运行时不可改变)、变量(程序运行时可以改变)、全局量(存储空间在静态数据区分配)、局部量(存储空间在堆栈区分配)。数据类型有整型、字符型、单精度浮点型、双精度浮点型、布尔型、枚举型等。 

(2)运算成分

指明允许使用的运算符及运算规则。包括算术运算、逻辑运算、关系运算、位运算等。

 (3)控制成分

指明语言允许的数据传输方式。包括顺序结构、选择结构、循环结构(初始化+循环体+循环终止条件)

(4)传输成分

指明语言允许的数据传输方式。如赋值处理、数据的输入输出等。

(5)函数

它是一段具有处理独立功能的代码块。函数使用涉及三各概念:

  • 函数定义

返回值类型 函数名(形参....)//函数首部

{

        函数体:

}

  • 函数声明

返回值类型 函数名(参数类型...)//函数声明

  • 函数调用

函数名(实参...)://函数调用

  • 函数调用的两种方式 

传值调用:将实参的值传递给形参,形参的改变不会导致实参的改变。实参可以是合法的变量、常量或表达式。

引用调用:即传地址调用,将实参的地址传递给形参,即相当于实参存储单元的地址引用,因此形参的值改变的同时,实参的值也跟着改变。实参不能为常量,只能是合法的变量和表达式。

例题: 

 

 根据题意可以知道:x=a=8;m=b=5;

把值代入到hoo函数里可以得到:m=40;x=39;

 我们又根据题意可以知道:

x为引用调用;m为传值调用;

所以,x=39;m=5

2.2语言处理程序基础

2.2.1汇编程序基本原理 

  • 汇编语言是为特定的计算机系统设计的面向机器的符号化的程序设计语言。
  • 汇编程序将汇编语言所编写的源程序翻译成机器指令程序。汇编程序一般需要两次扫描源程序才能完成翻译过程。

第一次:检查语法错误,确定符号名字;建立符号表;

第二次:产生目标程序。

 2.2.2编译程序基本原理

  • 编译程序的功能是把某高级语言书写的源程序翻译成与之等价的目标程序(汇编语言或机器语言)。编程程序工作过程分为6个阶段:

1.词法分析:这个阶段的任务是从左到右一个字符一个字符地扫描源程序,从而识别出一个个”单词“符号。

2.语法分析:语法分析的任务是在词法分析的基础上将单词序列组合成各类语法短语,如“程序”,“语句”,“表达式”等等。语法分析程序判断源程序在结构上是否正确。

3.语义分析:它的任务是对结构上的正确的源程序进行上下文有关性质的审查和类型审查。如类型匹配、除数不为0等。又分为静态语义错误(在编译阶段能找出来)和动态语义错误(只能在运行时找出来)。

4.中间代码(非必须):中间代码时根据语义分析产生的,需要经过优化连接,最终生成可执行的目标代码。引入中间代码的目的时进行与机器无关的代码优化处理,有助于提高可移植性。常用的中间代码有后缀式(逆波兰式)、三元式(三地址码)、四元式、树和图等形式。

5.代码优化(非必须):当需要生成高效的目标代码时,就进行优化。所依据的原则是程序的等价变换原则。

6.目标代码生成:把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码,这个阶段的工作与具体的机器密切相关。需要考虑三个问题(一是如何生成较短的目标代码;二是如何充分利用计算机中的寄存器,减少目标代码的访问存储单元的次数;三是如何充分利用计算机指令系统的特点,以提高目标代码的质量)。

这上面一大堆的字,大家可千万不要死记硬背啊。我对这一大段话的理解就是,你要去造一个3D的物体,你就要先从点(词法分析)开始;到线(语法分析);再到面(语义分析);最后就是把它组合起来(目标代码生成),就成了一个3D的物体。当然这只是帮助你去理解它,每个步骤是如和操作的你也要知道,考试也经常会考的!!!

  • 中间代码生成的后缀式

前缀式:+ab

中缀式:a+b

后缀式:ab+

  •  掌握以上三种表达式即可,其实就是树的三种遍历(第三章会讲),一般正常的表达式是中序遍历,即中缀式,根据其构造出一棵树,再按照题目要求求出前缀式和后缀式。
  • 后缀式即逆波兰式,式逻辑学家卢卡西维奇发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如:把a+b写成ab+。这种表示法的优点是根据运算对象和运算符的出现次序进行计算,不需要使用括号。
  • 后缀式简单求法:按照运算的优先顺序依次将运算符写在运算对象的后面,例如:把a+b写成ab+。

标签:运算,语言,中间代码,软考,大一,程序设计,实参,大二,函数
From: https://blog.csdn.net/2303_79274306/article/details/140656985

相关文章

  • 软考如何评职称
    首先,在中国的职称体系中实行的是评审与聘用相分离的原则,即先通过专业评审获得相应级别的职称(如初级、中级、高级),这标志着个人已达到该技术职称的要求。然而,要真正享有职称所带来的待遇,还需经过“聘用”这一环节,这就是所谓的评聘分离制度。其次,计算机软件水平考试(简称软考)提供......
  • 软考高级第四版备考--第23天(合同管理)Project Contract Management 非49个过程组
    合同的类型:按项目范围划分-项目总承包合同:买方将项目的全过程作为一个发包给同一个卖方的合同按项目范围划分-项目单项承包合同:一个卖方只承包项目中的某一项或某几项内容,买方分别与不同的卖方订立项目单项承包合同按项目范围划分-项目分包合同:分包合同条件:经过卖方认可......
  • 【软考】数据结构与算法基础 - 数组和链表
    一、数组和链表的区别(很简单,但是很常考,记得要回答全面)什么是数组:C++语言中,可以用数组,处理一组数据类型相同的数据,不可以动态定义数组的大小(使用前,必须指定大小。)在实际应用中,用户使用数组之前,无法确定数组的大小只能够将数组定义成足够大小,多余出来空间可能不被使用,......
  • 大一 大二学生如何在大学里面就拿到软考中级软件设计师(3)
    哈喽啊!!!大家好!!!我们上一次呢学习了计算机体系结构的发展和存储系统,我们上次虽然学习了很多知识,但因为知识太多,我怕一次给大家讲完,怕大家吃不消。所以我就分成了两次给大家讲。往期的内容请点击这几个链接噢:(1)https://blog.csdn.net/2303_79274306/article/details/140398388(2)ht......
  • 大一升大二暑假 NJU暑期课程 Linux系统基础(1) 20240720
    一.操作系统操作系统OperatingSystem简称OS,是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁。操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序。Q1:什么是文件......
  • 【笔记-软考】系统架构评估
    Author:赵志乾Date:2024-07-20Declaration:AllRightReserved!!!1.概念        架构评估是在架构分析与评估的基础上,对架构策略的选取进行决策,其利用数学、逻辑分析等技术,针对系统的一致性、正确性、质量属性、规划结果等不同方面,提供描述性、预测性和指令性的分析结果......
  • 大一菜鸡QT大作业之五子棋
    作者本人为大一即将结束的菜鸡一枚,刚刚完成了暑期课程,上交了自己的QT编程项目----五子棋游戏,较为简陋,由于不打算投入大量时间(只投入了不到一个星期),且不会五子棋人机对战的算法,所以本人的项目是由自己在开源网站上搜索到的两个五子棋项目修改而成,该五子棋具有人人对战,人机对战,联......
  • 算法力扣刷题记录 五十一【654.最大二叉树】
    前言二叉树篇,继续。记录五十一【654.最大二叉树】一、题目阅读给定一个不重复的整数数组nums。最大二叉树可以用下面的算法从nums递归地构建:创建一个根节点,其值为nums中的最大值。递归地在最大值左边的子数组前缀上构建左子树。递归地在最大值右边的......
  • “论软件维护方法及其应用”精选范文,软考高级论文,系统架构设计师论文
    论文真题软件维护是指在软件交付使用后,直至软件被淘汰的整个时间范围内,为了改正错误或满足新的需求而修改软件的活动。在软件系统运行过程中,软件需要维护的原因是多种多样的,根据维护的原因不同,可以将软件维护分为改正性维护、适应性维护、完善性维护和预防性维护。在维......
  • 软考高级第四版备考--第21天(规划采购管理)Plan Procurement Management
    定义:记录项目采购决策、明确采购方法及识别潜在卖方的过程。作用:确定是从项目外部获取货物或服务,如果是,则还要确定时间、以什么方式获取什么货物和服务。说明:步骤:1、准备采购工作说明书或工作大纲(TOR)2、准备高层级成本估算,制定预算;3、发布招标广告;4、确定并发布招标文......