北京合众思壮科技股份有限公司4月招聘面试题77道2020414

c语言中关键字static的作用是()。

A、在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。其他的函数不能引用它。

B、在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

C、在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内作用。

D、以上都不是


参考答案:ABC


lambda函数是指()。

A、在一个函数内部通过调用自己完成问题的求解

B、不使用def定义函数的形式

C、一个函数不断被其他函数调用完成问题的求解

D、把函数作为参数的一种函数


参考答案:B


下列叙述中不正确的是( )。

A.在C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B.在C的函数中,最好使用全局变量

C.外部变量可以在函数之间传递数据

D.自动变量实质上是一个函数内部的局部变量


正确答案:B
解析:编译时,编译系统不为局部变量分配内存单元,而是在程序运行中,当局部变量所在的函数被调用时,编译系统根据需要要临时分配内存,调用结束空间释放;全局变量一经定义,编译系统为其分配固定的内存单元,在程序运行的自始至终都占用固定的单元。在内存不确定的情况下,最好使用全局变量。


函数内部定义的局部变量当函数调用结束后被自动删除。

此题为判断题(对,错)。


正确答案:√


以下叙述中错误的是( )。

A.用Shell函数可以调用能够在Windows下运行的应用程序

B.用Shell函数可以调用可执行文件,也可以调用Visual Basic的内部函数

C.调用Shell函数的格式应为:〈变量名〉=Shell(……)

D.用Shell函数不能执行DOS命令


正确答案:B


北京合众思壮科技股份有限公司4月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:谈谈你对闭包的理解?可用的回答 : #闭包函数的实例 # outer是外部函数 a和b都是外函数的临时变量 def outer( a ): b = 10 # inner是内函数 def inner(): #在内函数中 用到了外函数的临时变量 print(a+b) # 外函数的返回值是内函数的引用 return inner if _name_ = _main_: # 在这里我们调用外函数传入参数5 #此时外函数两个临时变量 a是5 b是10 ,并创建了内函数,然后把内函数的引用返回存给了demo # 外函数结束的时候发现内部函数将会用到自己的临时变量,这两个临时变量就不会释放, 会绑定给 这个内部函数demo = outer(5) # 我们调用内部函数,看一看内部函数是不是能使用外部函数的临时变量 # demo存了外函数的返回值,也就是inner函数的引用,这里相当于执行inner函数 demo() # 15 demo2 = outer(7)问题 Q2:什么是Python?使用Python有什么好处?可用的回答 :Python是一种编程语言,包含对象,模块,线程,异常和自动内存管理。Python的好处在于它简单易用,可移植,可扩展,内置数据结构,并且它是一个开源的。问题 Q3:什么是Python?使用Python有什么好处?可用的回答 :Python是一种编程语言,包含对象,模块,线程,异常和自动内存管理。Python的好处在于它简单易用,可移植,可扩展,内置数据结构,并且它是一个开源的。问题 Q4:如何解释Python?可用的回答 :Python语言是一种解释语言。Python程序直接从源代码运行。它将程序员编写的源代码转换为中间语言,再次转换为必须执行的机器语言。问题 Q5:一行代码实现1-100之和?可用的回答 :使用sum函数。sum(range(1, 101)问题 Q6:django对数据查询结果排序怎么做,降序怎么做,查询大于某个字段怎么做?可用的回答 : 排序使用order_by() 降序需要在排序字段名前加- 查询字段大于某个值:使用filter(字段名_gt=值) 问题 Q7:谈谈你对面向对象的理解?可用的回答 : 在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。 在现实生活中的任何 物体都可以归为一类事物,而每一个个体都是一类事物的实例。 面向对象的编程是以对象为中心,以消息为驱 动,所以程序=对象+消息。 面向对象有三大特性,封装、继承和多态。 封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化, 提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。 继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子类是一个特殊的父类-有父类的行为和属性,也有自己特有的行为和属性。 这样做扩展了已存在的代码块,进一步提高了代码的复用性。 如果说封装和继承是为了使代码重用,那么多态则是为了实现接口重用。 多态的一大作用就是为了解耦-为了解除父子类继承的耦合度。 如果说继承中父子类的关系式IS-A的关系,那么接口和实现类之之间的关系式 HAS-A。 简单来说,多态就是允许父类引用(或接口)指向子类(或实现类)对象。很多的设计模式都是基于面向对象的多态性设计的。 总结一下,如果说封装和继承是面向对象的基础,那么多态则是面向对象最精髓的理论。掌握多态必先了解接口,只有充分理解接口才能更好的应用多态。 问题 Q8:单引号,双引号,三引号的区别?可用的回答 : 单引号和双引号是等效的,如果要换行,需要符号(),三引号则可以直接换行,并且可以包含注释 如果要表示Lets go 这个字符串 单引号:s4 = Lets go 双引号:s5 = “Lets go” s6 = I realy like“python”! 这就是单引号和双引号都可以表示字符串的原因了 问题 Q9:什么是C/S和B/S架构?可用的回答 : 1. C/S架构及其背景 C/S架构是一种比较早的软件架构,主要应用于局域网内。在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架构, 不过一直很流行也比较经典的是我们所要研究的两层C/S架构。 C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层: 第一层是在客户机系统上结合了表示与业务逻辑, 第二层是通过网络结合了数据库服务器。 简单的说就是第一层是用户表示层,第二层是数据库层。 客户端和服务器直接相连,这两个组成部分都承担着重要的角色。 2. C/S架构的优点 1. 客户端和服务器直接相连。点对点的连接方式更安全,可以直接操作本地文本,比较方便。 2. 客户端可以处理一些逻辑事务。可以进行数据处理和数据存储,提供一定的帮助。 3. 客户端直接操作界面。 3. C/S架构的缺点 1. C/S架构适用于局域网,对网速的要求比较高。 2. 客户端界面缺乏通用性,且当业务更改时就需要更改界面,重新编写。 3. 随着用户数量的增多,会出现通信拥堵、服务器响应速度慢等情况。 4. 系统的维护也比较麻烦。 4. C/S架构的应用 C/S架构的软件是在是数不胜数,从办公的OFFICE,WPS,WINRAR到杀毒软件如金山,瑞金再到我们的娱乐 软件,如播放器,QQ,微信等,无处不见C/S架构。 5. B/S架构及其背景 随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求, 于是就出现了B/S型模式,即浏览器/服务器结构。它是C/S架构的一种改进,可

以下关于 Function函数对象的说法不正确的是()

A.函数可有可无返回值

B.调用函数时传递的参数是实参

C.函数调用时候,可以用一个变量来接收函数返回值

D.函数必须要有形式参数


答案:D


以下各项说法中,正确的是( )。

A.当通过引用传递参数时,函数创建一个变量以存储参数的值

B.当通过引用传递参数时,函数无法访问参数的值

C.当通过引用传递参数时,调用程序创建一个临时变量以容纳参数的值

D.当通过引用传递参数时,函数访问调用程序中参数的原始值


正确答案:D
解析:本题考核函数参数传递中的引用传递。先来理解引用的概念:①“引用”实际上是给一个已知变量起个别名,对引用的操作也就是对被它引用的变量的操作。②C++中的变量名对应着内存的存储位置,可以使用一个特定的内存地址访问到它,引用则引入变量的另一个名字,它和这个变量具有同一内存地址。③当通过引用传递参数时,只是把请求调用的程序中实参的引用传递给函数(实际上是实参的内存地址被传递了)。


当一次函数调用发生时,对其执行过程正确描述的是(28)。

A.复制实参变量的值→控制流转移到该函数的起始位置→分配一个栈帧→开始执行该函数→控制流返回到函数调用点

B.控制流转移到该函数的起始位置→复制实参变量的值→分配一个栈帧→开始执行该函数→控制流返回到函数调用点

C.控制流转移到该函数的起始位置→分配一个栈帧→复制实参变量的值→开始执行该函数→控制流返回到函数调用点

D.分配一个栈帧→复制实参变量的值→控制流转移到该函数的起始位置→开始执行该函数→控制流返回到函数调用点


正确答案:D
解析:当一次函数调用发生时,其执行过程可归纳为以下5个步骤:①在内存的栈空间中为其分配一个栈帧,用来存放该函数的形参变量和局部变量;②把实参变量的值复制到相应的形参变量中;③控制流转移到该函数的起始位置;④该函数开始执行;⑤当这个函数执行完以后,控制流和返回值返回到函数调用点。


当一次函数调用发生时,对它的执行过程正确的描述是(28)。

A.分配一个栈帧→复制实参变量的值→控制流转移到该函数的起始位置→开始执行该函数→控制流返回到函数调用点

B.控制流转移到该函数的起始位置→复制实参变量的值→分配一个栈帧→开始执行该函数→控制流返回到函数调用点

C.控制流转移到该函数的起始位置→分配一个栈帧→复制实参变量的值→开始执行该函数→控制流返回到函数调用点

D.复制实参变量的值→控制流转移到该函数的起始位置→分配一个栈帧→开始执行该函数→控制流返回到函数调用点


正确答案:A
解析:当一次函数调用发生时,其执行过程的先后顺序如下。1)在内存的栈空间中为其分配一个栈帧,用来存放该函数的形参变量和局部变量:2)把实参变量的值复制到相应的形参变量中;3)控制流转移到该函数的起始位置;4)该函数开始执行;5)当这个函数执行完以后,控制流和返回值返回到函数调用点。


以下叙述中错误的是

A.在函数外部定义的变量在所有函数中都有效

B.在函数内部定义的变量只能在本函数范围内使用

C.函数中的形参属于局部变量

D.在不同的函数中可以使用相同名字的变量


正确答案:A
全局变量有效范围是从定义的位置开始到所在源文件的结束,在这区域内的函数才可以调用,如果在定义函数之后,定义的变量,该变量不能被之前的函数访问所以A选项说法错误,答案为A选项。

更多 “北京合众思壮科技股份有限公司4月招聘面试题77道2020414” 相关考题
考题 单选题若有函数声明:void fun(float array[],int*ptr);以下叙述正确的是(  )。A 函数参数array,ptr都是指针变量B 函数参数array不是指针变量,ptr是指针变量C 调用函数时,实参数组的值将一一复制给array数组D 调用函数时,array是按值传送,ptr是按地址传送正确答案:D解析:数组名为数组的首地址,也是指向数组的指针,所以array和ptr都是指针,A项正确,B项错误。调用函数时,将实参数组首地址赋给指针array,而不是传递整个数组元素,C项错误。调用函数时,array与ptr都是按地址传送的,D项错误。答案选择A选项。

考题 判断题在函数内部没有任何声明的情况下直接为某个变量赋值,这个变量一定是函数内部的局部变量。A 对B 错正确答案:对解析:暂无解析

考题 多选题python中,闭包的三个特点是()A函数嵌套函数B内部函数用到外层函数的参数C最后返回内层函数的引用D函数必须有参数正确答案:C,D解析:暂无解析

考题 在函数内部没有任何声明的情况下直接为某个变量赋值,这个变量一定是函数内部的局部变量。正确答案:正确

考题 全局变量是在某一函数中存在的变量,它只在该函数内部有效。正确答案:错误

考题 如何理解引用作为函数参数时,值可以发生变化() A、引用变量在传递到函数内部时,首先复制一份对象,之后再传递B、引用变量将它本身传递给函数内部C、引用变量不是值传递的D、如果函数的参数是引用变量,在传递参数的时候,系统将引用变量中存储的值,也就是地址复制给函数的自变量,这两个地址指向的是同一个对象。因此,在函数中改变对象的值,也会同样影响原变量。正确答案:D

考题 下面关于函数的说法,错误的是()。A、函数可以减少代码的重复,使得程序更加模块化B、在不同的函数中可以使用相同名字的变量C、调用函数时,传入参数的顺序和函数定义时的顺序可以不同D、函数体中如果没有return语句,也会返回一个None值正确答案:C

考题 以下叙述中不正确的是()。A、一个变量的作用域完全取决于变量说明语句的位置B、外部变量可以在函数以外的任何位置定义C、内部变量的生存期只限于本次函数调用,无法将内部变量的值保存至函数下一次调用D、用static说明—个外部变量是为了限制其它编译单位的引用正确答案:C

考题 单选题已定义好有参函数f(m),其中形参m是整形量。下面调用该函数,传递参数为5,将返回的函数值赋给变量t。以下正确的是()。A t=f(m)B t=Callf(m)C t=f(5)D t=Callf(5)正确答案:B解析:暂无解析

考题 闭包可以实现内部函数对外部函数变量的引用。正确答案:正确