软考中级 您所在的位置:网站首页 M2表示第二种类型的门 软考中级

软考中级

2024-07-04 18:01| 来源: 网络整理| 查看: 265

程序语言 程序设计语言基本概念 函数调用时,传值方式:

(1)传值(函数调用方式为值调用或传值调用):a.将实参的值传递给形参;b.实参可以是表达式、常量、变量或数组元素;c.传递是单方向。

(2)传地址(函数调用方式为引用调用):a.将实参的地址传递给形参;b.实参必须是变量数组名或数组元素,不能是表达式或常量;c.对形式参数的修改实际上就是对实际参数的修改,可以实现数据的双向传递。

例题1:函数main()、f()的定义如下所示,调用函数f()时,第一个参数采用传值方式,第二个参数采用传引用方式,main()函数中print(x)执行后输出的值为(B)。 在这里插入图片描述在这里插入图片描述 A.11 B.40 C.45 D.70

解析:x=5,f(6,5),调用f(int x,int &a),即f()函数中的x=6,main()函数中x的地址赋给a,a和main()函数中的x双向传递,f()函数中 x = xx-1 = 66-1 = 35;a=x+a = 35+5 = 40,即main()函数中的x值为40。

例题2:函数t、f的定义如下所示,其中,a是整型全局变量。设调用函数t前a的值为5,则在函数t中以传值方式调用函数f时,输出为(B);在函数t中以引用方式调用函数f时,输出为(D)。 在这里插入图片描述在这里插入图片描述 A.12 B.16 C.20 D.24

解析:

值传递:a=5,int x = f(5),r = 5,a = r+1 = 5+1 = 6,r = r2 = 52 = 10,x = f(a)= 10,a+x = 6+10 = 16;

引用传递:形参r指向实参a的存储空间,即r与a指向同一个存储单元,a = r = 5,a = r+1 = 6,a和r的值变为6,r = r*2 = 12,a和r的值变为12,x为f(a)的返回值为12,a+x = 12+12 = 24。

C/C++:

(1)是否对变量赋初值:在编写C/C++程序时,为所定义的变量赋初值时良好的编程习惯,而赋初值不是强制要求,因此编译程序时不会检查变量是否赋初值。如果未赋值,则该变量表现为一个随机数,最终表达式的结果是不确定的。即未赋初值,可以通过编译并运行,但运行结果不一定是期望的结果。

(2)更适合用来开发操作系统。C/C++是编译型程序设计语言,常用于进行系统级软件开发,java、Python、JavaScript都是解释型程序设计语言,其中Python、JavaScript是脚本语言。

(3)指针变量:变量是内存单元的抽象,用于在程序中表示数据。当变量存储的是内存单元地址时,称为指针变量,或者说指针变量指向了另一个变量。

a. 指针变量可以是全局变量,也可以是局部变量;

b. 无论指针变量指向何种变量,其存储空间大小都是一样的(与指针所指向的变量大小无关);

c. 当指针变量指向数组中的一个元素时,对指针变量进行算术运算可以使其指向同一个数组中的其他元素,即对指针变量进行算数运算是有意义的。

程序设计语言:

(1)基本成分包括:数据、运算、控制、传输。

(2)控制成分包括:顺序、选择、循环。

(3)高级程序设计语言不依赖于具体的机器硬件。

(4)局部变量:在函数内部定义的变量都是局部变量,也称作内部变量,作用域是从定义位置起至函数体或复合语句体结束为止。局部变量的值通常在其生存期内是变化的。

(5)常量:程序中常量的值在运行时不能改变。

(6)动态语言:在程序运行时可以改变其结构。动态语言都是解释型语言。优点是方便阅读;缺点是不方便调试、不利于理解等。

(7)脚本语言:脚本语言都是动态语言。常用于描述格式化和链接,采用解释方式实现,编程效率低于编译型语言。例如:javascript(浏览器脚本);php(服务器脚本);Python。

(8)一个程序语言提供链表的定义和运算,由于链表的节点空间需要程序员根据需要申请和释放,因此,程序运行时,数据空间应采用堆存储分配策略。

程序设计语言的语义分类:

(1)静态语义:静态语义分析方法是语法制导翻译;

(2)动态语义:

可视化程序设计:

(1)设计原则是“所见即所得”,即随时可以看到结果,程序与结果的调整同步;

(2)特点:

a. 基于面向对象的思想,引入了控件的概念和事件驱动;

b. 程序开发步骤:先进行界面的绘制工作,再基于事件编写程序代码,以响应鼠标、键盘的各种动作。

例题1:以下关于可视化程序设计的叙述中,错误的是(A)。

A. 可视化程序设计使开发应用程序无需编写程序代码

B. 可视化程序设计基于面向对象的思想,引入了控件和事件驱动

C. 在可视化程序设计中,构造应用程序界面就像搭积木

D. 在可视化程序设计中,采用解释方式可随时查看程序的运行效果

在源程序中,可由用户(程序员)为变量、函数、数据类型等命名。

Lisp:

LISP是一种通用高级计算机程序语言,是因人工智能而设计的语言,长期以来垄断人工智能,是一种声明式系内函数式程序设计语言,有别于命令式系内过程式的C、Fortran和面向对象的Java、C#等结构化程序设计语言。

一种程序设计语言规定其程序中的数据必须具有类型,其好处是:

(1)有利于在翻译过程中合理分配存储单元;

(2)有利于对参与计算的数据对象进行检查;

(3)有利于规定数据对象的取值范围并进行计算。

程序运行的内存空间:

(1)代码区:

(2)静态数据区:存储全局变量;

(3)栈区和堆区:也称为动态数据区。

运行时结合是动态绑定,编译时结合是静态绑定。

标记语言:

(1)HTML:超文本标记语言;

(2)XML:可扩展的标记语言;

(3)WML:是XML的子集,语法和XML一样;

KMP模式匹配算法:

KMP模式匹配算法通俗点说就是一种在一个字符串定位另一个串的高效算法。

例题1:在KMP模式匹配算法中,需要求解模式串p的next函数值,其定义如下(其中,j是字符在模式串中的序号)。对于模式串”abaabaca“,其next函数值序列为(B)。在这里插入图片描述 A.0111111 B.01122341 C.01234567 D.01122334

解析:max{ k | 1



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有