深圳市远望谷信息技术股份有限公司3月招聘面试题116道202031

下面叙述中正确的是( )。

A.全局变量的作用域一定比局部变量的作用域范围大

B.静态类型变量的生存期贯穿于整个程序的运行期间

C.函数的形参都属于全局变量

D.未在定义语句中赋值的auto变量和static变量的初值都是随机值


正确答案:B


在下列关于C语言的局部变量和全局变量所采取的存储类别的叙述中,错误的一条是 ( )

A.对于动态局部变量来说,一旦离开函数,其值就消失

B.对于静态局部变量来说,离开函数,其值仍保留

C.对于寄存器变量来说,一旦离开函数,其值就消失

D.静态外部变量既可在本文件中引用,又可在其他文件中引用


正确答案:B


下列叙述中,错误的是( )。

A.在同一C程序文件中,不同函数中可以使用名字相同的变量

B.在main()函数体内定义的变量是全局变量

C.形参是局部变量,函数调用完成即失去意义

D.若同一文件中全局和局部变量同名,则全局变量在局部变量作用范围内不起作用


正确答案:B
解析:本题考查函数调用时变量的作用域。形参是局部变量,函数调用完就失去意义了,所以在同一个C程序文件中,不同的函数体中可以使用名字相同的局部变量。


以下关于局部变量和全局变量的叙述正确的是()

A.main函数中定义的变量是局部变量

B.局部变量可以与全局变量重名

C.在所有函数外定义的变量是全局变量

D.形式参数不是局部变量


正确答案:ABC


默认形参值不可以是()。

A.静态全局变量

B.局部变量

C.函数调用

D.全局变量


正确答案B


深圳市远望谷信息技术股份有限公司3月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:什么是_init_?可用的回答 :_init_是Python中的方法或者结构。在创建类的新对象/实例时,将自动调用此方法来分配内存。所有类都有_init_方法。问题 Q2:如何在python中使用三元运算符?可用的回答 :三元运算符是用于显示条件语句的运算符。这包含true或false值,并且必须为其评估语句。其基本语法为:三元运算符是用于显示条件语句的运算符。这包含true或false值,并且必须为其评估语句。其基本语法为:on_true if expression else on_false问题 Q3:提到Python中局部变量和全局变量的规则是什么?可用的回答 :局部变量:如果在函数体内的任何位置为变量赋值,则假定它是本地的。全局变量:仅在函数内引用的那些变量是隐式全局变量。问题 Q4:如何将数字转换为字符串?可用的回答 :要将数字转换为字符串,请使用内置函数str()。如果需要八进制或十六进制表示,请使用内置函数oct()或hex()问题 Q5:生成器?可用的回答 :生成器的本质就是一个逐个返回元素的函数,即“本质函数”最大的好处在于它是“延迟加载”,即对于处理长序列问题,更加的节省存储空间。即生成器每次在内存中只存储一个值问题 Q6:list和tuple有什么区别?可用的回答 :列表和元组之间的区别在于列表是可变的而元组不是。元组可以被散列,例如作为词典的关键。问题 Q7:如何提高爬取效率?可用的回答 : 爬虫下载慢主要原因是阻塞等待发往网站的请求和网站返回 1,采用异步与多线程,扩大电脑的cpu利用率; 2,采用消息队列模式 3,提高带宽 问题 Q8:如何在Flask中访问会话?可用的回答 :会话基本上允许您记住从一个请求到另一个请求的信息。在一个Flask中,它使用签名cookie,以便用户可以查看会话内容并进行修改。如果只有密钥Flask.secret_key,则用户可以修改会话。问题 Q9:为何基于tcp协议的通信比基于udp协议的通信更可靠?可用的回答 : TCP的可靠保证,是它的三次握手双向机制,这一机制保证校验了数据,保证了他的可靠性。 而UDP就没有了,udp信息发出后,不验证是否到达对方,所以不可靠。 不过UDP的发送速度是TCP比不了的,而且UDP的反应速度更快。 问题 Q10:提到Python中局部变量和全局变量的规则是什么?可用的回答 :局部变量:如果在函数体内的任何位置为变量赋值,则假定它是本地的。全局变量:仅在函数内引用的那些变量是隐式全局变量。算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:大写侦查题目描述如下:Given a word, you need to judge whether the usage of capitals in it is right or not.We define the usage of capitals in a word to be right when one of the following cases holds:1. All letters in this word are capitals, like USA.2. All letters in this word are not capitals, like leetcode.3. Only the first letter in this word is capital if it has more than one letter, like Google.Otherwise, we define that this word doesnt use capitals in a right way.Example 1:Input: USAOutput: TrueExample 2:Input: FlaGOutput: False题目中将三种情况定义为 capitals:1. 全是大写。(USA)2. 全是小写。(leetcode)3. 多于1个字符只在第一位用了大写。(Google)思路O(n)的遍历和内置。遍历的判断:ASCII码中:65-90 是 A-Z.97-122 是 a-z.若第一个字符是大写,则判断:剩下的是否全是大写,剩下的是否全是小写。若第一个字符是小写,则判断:剩下的是否全是小写。只有一个字符时,无论如何都是capital.测试用例:https:/ Solution(object): def detectCapitalUse(self, word): :type word: str :rtype: bool if len(word) 2: return True letter_one = ord(word0) # letter_two = word1 if 65 = letter_one = 90: return self.letter_all_capital_or_lower(word1:) return self.letter_all_lower(word1:) # for i in word: def letter_all_capital_or_lower(self, word): # lower = False capital = False # A-Z left = 65 right = 90 if 97 = ord(word0) = 122: left = 97 right = 122 for i in word: if not left = ord(i) = right: return False return True def letter_all_lower(self, word): for i in word: if not 97 = ord(i) = 122: return False return True算题题 A1:直方图中最大的矩形算题题 A1:两个排序后的列表的中位数题目描述如下:There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overa

以下说法错误的是:()

A.全局变量就是在函数外定义的变量,因此又叫做外部变量

B.一个函数中既可以使用本函数中的局部变量,也可以使用全局变量

C.局部变量的定义和全局变量的定义的含义不同

D.如果在同一个源文件中,全局变量和局部变量同名,则在局部变量的作用范围内,全局变量通常不起作用


正确答案:A


如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量().

A.为全局变量,在本程序文件范围内有效

B.为局部变量,只在该函数内有效

C.为局部变量,只在该复合语句中有效

D.定义无效,为非法变量


正确答案:C


进行初始化即可自动获得初值0的变量包括( )。

A.任何用static 修饰的变量

B.任何在函数外定义的变量

C.局部变量和用static 修饰的全局变量

D.全局变量和用static 修饰的局部变量


正确答案:D


static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?


正确答案:
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。
从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。
static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件

static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;
static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;
static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝


设某程序中定义了全局整型变量x和r,且函数f()的定义如下所示,则在语句“x= r*r+1”中(49)。 int f(int r){ int x; X= r*r+1 ; return x; }

A.x和r均是全局变量

B.x是全局变量、r是形式参数

C.x是局部变量、r是形式参数

D.x是局部变量、r是全局变量


正确答案:C
解析:本题考查程序语言的基础知识。在函数f的形式参数表中声明了r,且在函数中定义了变量小x,因此语言规定语句 x=r*r+1;中引用的x和r都是函数中定义的局部量。

更多 “深圳市远望谷信息技术股份有限公司3月招聘面试题116道202031” 相关考题
考题 若程序中定义了局部变量与全局变量,则 ______ 。A.在函数内只能访问局部变量,而不能访问全局变量B.局部变量与全局变量的名字不得相同C.若一个函数被多次调用,则其定义的局部变量必定分配同一个存储单元D.函数中定义的局部变量与全局变量同名时,在函数内引用的是局部变量A.B.C.D.正确答案:D解析:本题考查程序语言的基本概念。 在高级语言程序中,变量的作用域可能是全局的也可能是局部的。对于全局变量,其作用域是整个程序(或文件1,因此在函数内可以访问全局变量,而局部变量的作用域为声明该变量的函数。一般语言都规定,若全局变量和局部变量的名称相同,则在局部变量的作用域范围内,引用的是局部变量。程序运行过程中,每次调用一个函数时,都在栈区为该函数的运行创建活动记录,函数运行结束后则释放为其分配的活动记录。因此,函数多次运行时,其定义的局部变量不一定分配同一个存储单元。

考题 以下叙述中错误的是( )A.局部变量的定义可以在函数体和复合语句的内部B.全局变量的定义可以在函数以外的任何部位C.同一程序内局部变量和全局变量不允许同名D.函数的形参属于局部变量正确答案:C

考题 问答题static有什么用途?static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?正确答案:1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错 误。从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。 static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和 定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件 static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用; static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值; static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。解析:暂无解析

考题 以下叙述错误的是( )。A.变量的作用域取决于变量定义语句的位置B.全局变量可以在函数以外的任何部位进行定义C.局部变量的作用域可用于其他函数的调用D.一个变量说明为static存储类型是为了限制其他编译单元的引用正确答案:D解析:本题考查函数调用的变量作用域。全局变量不在任何函数体内定义,作用域为整个文件;局部变量在函数体内定义,作用域仅为本次函数;static类型是静态变量,为了方便其他编译单元的引用,不能随意改变。 一个函数包含两部分:函数首和函数体,函数体包括花括号内的所有语句。

考题 以下叙述错误的是( )。A)变量的作用域取决于变量定义语句的位置B)全局变量可以在函数以外的任何部位进行定义C)局部变量的作用域可用于其他函数的调用D)一个变量说明为static存储类型是为了限制其他编译单元的引用正确答案:D

考题 单选题局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用()提供对全局变量的访问。A 作用域运算符B 指针运算符C 提取运算符D 插入运算符正确答案:C解析:暂无解析

考题 python中,所有函数外的变量称为()A、理论变量B、固定变量C、局部变量D、全局变量正确答案:D

考题 局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用()提供对全局变量的访问。A、作用域运算符B、指针运算符C、提取运算符D、插入运算符正确答案:A

考题 下面关于局部变量和全局变量的说法中,( )正确。A、main函数中定义的变量是全局变量B、在任何函数内部定义的变量都是局部变量C、全局变量都在程序运行期间根据需要动态分配存储空间的D、局部变量都是在程序运行期间根据需要动态分配存储空间的正确答案:B

考题 若程序中定义了局部变量与全局变量,则(11)。A.在函数内只能访问局部变量,而不能访问全局变量SX若程序中定义了局部变量与全局变量,则(11)。A.在函数内只能访问局部变量,而不能访问全局变量B.局部变量与全局变量的名字不得相同C.若一个函数被多次调用,则其定义的局部变量必定分配同一个存储单元D.函数中定义的局部变量与全局变量同名时,在函数内引用的是局部变量正确答案:D本题考查程序语言的基本概念。在高级语言程序中,变量的作用域(引用变量的代码范围)可能是全局的或者是局部的。对于全局变量,其作用域是整个程序(或文件),因此在函数内可以访问全局变量,而局部变量的作用域为声明(定义)该变量的函数(过程,子程序)。一般语言都规定,若全局变量和局部变量的名称相同,则在局部变量的作用域范围内,引用的是局部变量(即最近嵌套原则)。程序运行过程中,每次调用一个函数时,都在栈区为该函数的运行创建活动记录(主要包括函数运行时需要的数据和控制信息),函数运行结束后则释放为其分配的活动记录。因此,函数多次运行时,其定义的局部变量不一定分配同一个存储单元。