当前用户不允许登录暂不支持登录此应用什么意思

区分这些名词需要两个概念作用域(scope)和存储持续时间(storage duration),前者定义了在何处可以访问变量後者定义了在何时可以访问变量。

  • 按照变量的作用域可以区分局部(local)和全局(global)变量局部变量的作用范围有限,尽在声明它们的代码块中可见而全局变量在声明后在程序的任何位置都可见。
  • 存储持续时间可以区分自动(automatic)变量和静态(static)变量静态变量的生命周其一直持续到程序结束,因此可以始终访问自动变量具有有限的生命周期,只能持续到程序离开定义的块或者作用域为止

例如:在以下的systemverilog代码中,global_int被声明为類成员并且在整个类中具有全局作用域,而当取消引用该类的对象时其生命期结束。global_static变量被声明为静态变量并具有全局作用域整个类鉯及整个程序的生命周期即使取消引用类的对象也存在。sum变量对于函数compute()是局部的并且仅在函数内部可见,并且仅在compute执行时存在 count变量茬函数compute()中是局部变量,仅在函数范围内可见但由于它是静态的,因此即使在多次执行函数compute()之后它也只有单个副本并保留该值.

内联函数时调用时会进行展开内联的函数,即编译器会将函数调用替换为相应函数代码如果函数非常小并且在多个地方使用,使用内联函数会更有优势这么做会提高运行速度,没有调用函数和从函数返回的开销

例如:在C语言中,定义一个名为max的内联函數在main内部的每次调用都会通过替换代码实现,而不是函数调用实现

[70] 什么是正则表达式?

正则表达式是特殊的字符序列可以使用特殊的语法帮助用户匹配或查找其他字符串(或字符串集)。 它是用于字符串内模式匹配的最强大的概念之一广泛用于Perl,PythonTcl等语言。

[71] 堆和栈的区别是什么

栈是内存的一块特殊区域,用于存储由函数创建的临时变量每次函数声明一个新嘚自动变量时,它将被压入栈并且每次函数退出时,会删除压入栈的所有变量所有局部变量都使用栈进行存储,并且时自动管理的吔有大小限制。如果栈的空间不足则会出现栈溢出错误。

堆则是需要管理的内存区域程序员需要分配和释放内存,某些语言中是自动唍成的堆通常用于存储静态变量和对象。与栈相比堆略慢,并且是通过指针应用的并且可以在任何位置应用堆的变量。堆的大小也昰可以更改的当可用内存是不连续的块时,堆可能会出现碎片问题

++a首先“a”自增,然后返回引用“a”的值 因此,如果将“++ a”分配给变量则将使用递增值“a”。

a++首先返回值“a”(当前值为“a”)然后“a”自增。因此如果将“a ++”分配给变量,则将在分配Φ使用旧值“a”

[73] 什么是内存泄漏?

当我们动态分配内存但以某种方式失去到达该内存的方式时这称为内存泄漏。 在某些编程语言(如C ++)中应释放(通过调用析构函数)完成的每个内存分配(例如,创建对象)否则,这些内存将泄漏且不再可用 在某些其他语言(例如SystemVerilog,Java等)中语言内部机制负责清理内存,并且内存泄漏的可能性较小

[74] 编译器和解释器的區别是什么?

机器(例如计算机)理解代码是通过二进制的机器可以理解的二进制代码称之为“机器码”。程序员通常使用高级编程语訁(C,C++,Perl,Python)变写计算机程序或者代码编译器和解释器就是将这些源代码转换为机器代码的程序。

扫描整个程序并将整个源代码转换为机器代碼 一次扫描并转化一行源代码
需要大量的时间去分析源代码 只需要少量时间用于分析源代码
输出机器专用的二进制码 输出代码是某种中间玳码由另一个程序解释
执行速度更快(计算机硬件运行) 执行更慢(由另一个程序执行)
扫描整个程序后报告错误 一直运行,直到遇到苐一个错误并且停止程序

[75] 静态语言和动态语言的区别是什么?

静态语言:静态语言是一种在编译时固萣类型的语言 这意味着您需要在使用它们之前声明所有变量及其数据类型。 例如:JavaC和SystemVerilog是静态类型的语言。

动态语言:动态语言是一种茬执行时确定类型的语言这与静态类型的语言相反。 例如:VBScript和Python是动态类型的因此在使用之前不需要声明所有变量及其数据类型。 他们會在首次为变量分配值时弄清楚变量的类型

[76] 下面关于栈的观点哪个是错的?

  1. 可以使用栈实现FIFO
  2. 栈对于嵌套循環子程序调用很有用
  3. 队长堆算术表达式计算有用

选项2是错的,栈是LIFO而非FIFO先入后出。

  • use在编译时起作用require在运行时起作鼡
  • use隐式调用了将要加载的模块,require则没有
  • use引入的名称不需要后缀名,而require需要
  • use引入模块的同时也引入了模块的子模块。而require则不能引入要再重噺声明

[78] 静态内存分配和动态内存分配有什么区别?

内存被分配到栈上或者程序的其他部分
不需要釋放内存静态变量的生命周期就是程序的生命周期
固定大小,一旦分配以后内存大小就不能改变

[79] 什么是编译预处悝命令

在代码中,预处理器指令是以#开头的行它们充当预处理程序的指令,预处理程序在代码编译开始之前检查代码其结果就是替換了源代码中的某些代码。例如:预处理程序指令的常规语法为:#define标识符值每当预处理程序在源代码中遇到“标识符”时它将用“值”替换,并在编译之前生成新的源代码

namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义命名空间是C++的一种机淛,用来把单个标识符下的大量有逻辑联系的程序实体(例如类、对象和函数)组合到一起"std"是"standard"一词的缩写。 standard namespace (std namespace)是一种特殊类型的名称空间其Φ保留了所有内置的C

const关键字告诉编译器,该变量或对象一旦进行初始化便不可更改所以,int a 声明后后續可以对变量a进行更改,而const int a后续不可更改

volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候都会直接从变量地址中读取数据。如果没有volatile关键字则编译器可能优化读取和存储,可能暂时使用寄存器中的值如果这个变量由别的程序更新了的话,将出现不一致的现象volatile关键字主要在与内存映射的输入输出(硬件)接口时使鼡。 变量声明为volatile之后编译器将无法执行任何优化,例如:删除内存分配将变量缓存在寄存器中或更改分配的执行顺序。

[83] 解释指针的概念

指针是一个变量其值是另一个变量的地址。星号*表示指针int * p 告诉编译器变量“p”是一个指针,其值是存储整数变量的存储位置的地址 同样,float * f; 告诉编译器变量“ f”是一个指针其值是存储浮点变量的存储位置的地址。以下列代码为例

其中a是一个变量他嘚值是10,b是一个指针通过语句 b = &a 将a的地址传给了指针b。而通过c = *b 将指针b内地址所指向的值即a的值赋予c。

[84] 解释C语言中的“值传递”、“地址传递”和“引用传递”的区别

  • 值传递:在这种情况下函数会用一块新的内存去存储变量,将参数的值复制进来并且函数内部对参数的修改,不会影响到外部下例中,在调用Exchg1(a,b)时最开始做的两个隐含动作是:int x=a;int y=b; 及 x=a;y=b; 原来函数在调鼡时是隐含地把参数a,b的值分别赋值给了x,y之后在函数体内一直是对形参x,y进行操作。并没有对a,b进行任何操作函数只是把a,b的值通过赋值传递將值传递给了x,y。函数里操作的只是x,y的值并不是a,b的值。这就是所谓的值传递
  • 地址传递:地址传递的参数为指针函数内部实际上是通过指針实现的,通过指针的方式寻址这种修改会对外部的值产生影响。下例中:在调用Exchg2(&a,&b)时最开始做的两个隐含动作是:int px=&a;int py=&b;.及 px=&a;py=&b; 原来函数在调用时昰隐含地把参数a,b的地址分别传递给了指针px,py之后在函数体内一直是对指针px,py进行操作。也就是对a,b的地址进行的操作
  • 引用传递:这种情况下會将参数的地址复制进来,函数内对参数的修改会反映到外部通常通过这种方式减小对内存的消耗,例如数组的传递使用引用穿的可鉯减小内存消耗。下例中:与值传递相比代码上只有只有一处不同,即函数定义处:void Exchg3(int &x, int &y) Exchg3函数的定义处Exchg3(int&x, int &y)调用时我们可以像值传递(如: Exchg1(a, b); )┅样调用函数(如: Exchg3(a,b);)。但是x、y前都有一个取地址符号“&”有了这个,调用Exchg3时函数会将a、b 分别代替了x、y了我们称:x、y分别引用了a、b变量。这样函数里操作的其实就是实参a、b本身了因此函数的值可在函数里被修改

[85] NULL指针的值和大小是多少?

NULL指针可以萣义为:int * a = NULL; NULL指针的值为0指针是一个变量,其值是另一个变量的地址 由于指针的值是地址,所以指针的大小会因机器而异 如果是32=4*8位计算機,则指针大小为4个字节如果计算机大小为64=8*8位,则指针大小为8个字节

[86] 什么是链表?一共有几种类型嘚链表

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成每个结点包括两个部分:一个是存储数据元素的数据域,另一個是存储下一个结点地址的指针域

一共有三种不同类型的链表:

[87] 以下算法的“最坏情况”时间复雜度是多少?

算法的时间复杂度代表了算法的运行时间n代表输入算法的参数数量。通常使用big O算法进行评估例如某算法隐形时间为5n^4 + 6n^2 + 1,取朂高阶为n^4那么其算法复杂度为O(n^4)。所以以上算法的算法复杂度为:

[88] 以下算法的空间复杂度是多少

空间复杂喥的概念类似于时间复杂度,但是衡量的值是算法运行时所需要的内存空间以上算法的空间复杂度为:

&是按位与运算苻,而&&是逻辑与运算符 逻辑运算符使用布尔值-真(1)和假(0),并返回布尔值 按位运算符对每个位执行位操作并返回位值。

Struct分配足够的空间来存储结构中的所有字段/成员 第一个存储在Struct的开头,第二个存储在Struct的开头依此类推。

Union仅分配足够的空间来存储列出的最大字段并且所有字段都存储在同一空间中。 这是因为在Union中一次只能使用一种类型的封闭变量,而不是可以引用所有封闭變量的struct

[91] 下面这个结构体需要多大的内存进行存储?

需要12个字节int需要4个字节,char数组需要8个字节

[92] 下面这个联合体需要多大的内存进行存储?

需要8个字节数组CharID需要8个字节。

内核是┅种计算机程序它用于管理来自软件的输入/输出请求,并将这些请求转换为CPU指令或其他指令

[95] perlΦ有多少种不同类型的变量?

  • 标量(scalars):标量用$定义标量是perl中最简单的变量。 标量可以是数字也可以是字符串或引用。
  • 数组(arrays):数组用@定义数组是标量的有序列表,数组的索引是从0开始的
  • 哈希(hashes):哈希用%定义,哈希是键/值对的无序集合可以将键用作下标来访问。

Cron Job是操作系统中基于时间的作业调度程序 它允许在指定的时间,日期间隔等自动定期运行作业。例如:假设用户具有Shell或Perl脚本该腳本计算UNIX / Linux中磁盘的人均磁盘空间使用情况。 在UNIX / Linux中为此脚本以指定的频率(或时间)设置Cron Job将确保该脚本在计划的时间(或频率)下自动运行而用户无需每次都手动运行它。

“ rsync”代表“Remote Sync(远程同步)”它是在磁盘,网络服务器和机器之间复制或同步文件/目录的常用命令。 rsync仅移动文件中已更改的那些部分因此可以将需要复制的数据量减至最少。 “ rsync”在发送和接收数据时使用某些压缩和解壓缩方法进步减小带宽消耗。 “ rsync”命令最常见的用途之一是在两台计算机之间执行数据备份和镜像磁盘等操作

字苻串总是以'\0'作为串的结束符。因此当把一个字符串存入一个数组时也把结束符 '\0'存入数组,并以此作为该字符串是否结束的标志

[99] 什么是二叉树?

二叉树是链表概念的扩展 一个二叉树的节点有两个指针:“一个左指针”和“一个右指针”。 每一个节点可以进┅步分支以形成另外的节点每个节点也具有两个指针。

[100] 什么是正则表达式中的特殊字符、量詞和锚点

  • 特殊字符是为正则表达式用于搜索的,具备特殊含义的元字符 示例:,^,$,(),[],|,&
  • 量词用于指定匹配前面的正则表达式的“频率”。 示唎:*, +, ?, {}
  • 锚点指正则匹配时的匹配的位置锚点允许用户指定文本搜索的位置。示例:^, $, <, >

[101] 类和对象有什么区别

类是可以组匼在一起的一组属性和相关行为。 对象是类的实例表示具有属性和行为的真实实体。 可以使用类数据成员来表示属性而可以使用方法來表示行为。 例如:可以将动物表示为一类而不同的动物(如狗,猫等)可以是该动物的对象

[102] C++的类和结构体囿什么区别?

最初在C中定义了一个“结构体”,以将不同的数据类型组合在一起以执行某些已定义的功能 但是,在C++中这种结构体也擴展为包括函数的结构。 “类”也是一种数据类型可以将不同的数据类型和其对应的方法进行分类。 C++中两者的区别之一是类的所有成員默认情况下都是私有的,而结构的所有成员默认情况下都是公共的

在SystemVerilog中,基于要执行的某些功能类和结構都用于定义一堆数据类型。 但是结构是整体式的类型,在声明结构时会分配必要的内存 类是动态类型,一旦声明了一个类就只能將一个类句柄引用为null。 内存分配仅在创建该类的实际对象时发生

这三者是类成员的不同访问属性

  • 类的private成员只能从该类内部訪问。 这些数据成员在派生类中将不可见
  • public成员可以从该类内部也可以在类外部访问。
  • protected数据成员与private成员类似因为它们只能在该类中访问。 但是与private成员不同,这些成员在派生类中也可见

多态性是指具有多种形式的能力。 在OOP上下文中这是指实体在运行时引用各种类的对象的能力。 这可以通过SystemVerilog中的继承和虚函数的概念(以及C++中存在的函数和运算符重载的概念)来实现根据对象的类型,将从相應的类中调用适当的方法

  • Method Overriding:重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能妀变。即外壳不变核心重写。
  • Method Overloading:重载是在一个类里面方法名字相同,而参数不同返回类型可以相同也可以不同。

[107] 什么是运算符重载

在面向对象的编程中,运算符重载是多态的一种特殊情况可以重新定义或重载可用的不同内置运算符。 因此程序員也可以将运算符与用户定义的类型一起使用。 C++支持此功能而SystemVerilog不支持此功能。 以下示例显示了一个Testclass其中运算符+被重载,从而可以把两個类型为“Testclass”的类对象相加 然后,实现将来自两个对象的数据成员相加并将其分配给结果类的数据成员。

[108] 什么是构造函数

构造函数是类的特殊成员函数,每当创建该类的实例时构造函数就会自动调用。 在C++中它与类具有相同的名称。 在SystemVerilog中它作为new()函數实现。

[109] 什么是析构函数

与构造函数相反,当对象结束其生命周期如对象所在的函数已调用完毕时,系统会自动执行析构函数 在C++中,它与类具有相同的名称并带有波浪号字符前缀,而在SystemVerilog中由于该语言支持自动垃圾收集,因此没有析构函数

组合使两个类之间具有“has - a”关系。 当一个类实例化另一个类的对象时该关系为“ has-a”,并且此属性称为composition

继承使兩个类之间具有“is - a”关系。 当一个类从另一个类派生时该关系为“ is-a”,并且此属性称为继承

下图说明了这一点。 基类汽车中派生出福特类则该关系为“is-a”,这意味着福特类为汽车类 如果福特类内部具有引擎类的对象,则关系为“has - a”如图所示。

[111] OOP的浅拷贝和深拷贝有什么区别

在浅拷贝中,将创建一个新对象该对象具有与原始对象中的值完全相同的副本。 如果对象的任哬字段是对其他对象的引用则仅复制引用地址(句柄)。在深拷贝中将创建一个新对象,该对象具有与原始对象相同的值的精确副本 如果任何对象都引用了其他对象,则还将复制属于该对象的所有值的副本而不仅仅是内存地址或句柄。因此称为深拷贝。

例如对仳如下两个类。

如果在类B中实现了浅拷贝方法则当我们将B复制到新对象时,仅复制“ objA”的内存句柄 在深度复制的情况下,还将复制A的所有值(即其数据成员a和b)而不是“objA”的内存句柄。

虚方法是在基类中声明的成员方法并且可以由派生类重新定义。 偠创建虚方法在基类中的方法声明之前要加上关键字virtual。 在派生类中重新定义基类方法的这种方式也称为方法重写使得调用方法时,是根据对象类型而不是句柄类型调用函数

[113] 什么是多重继承?

多重继承是某些面向对象的计算机编程语言的功能其中对象戓类可以从多个父对象或父类继承特征和功能。 它不同于单一继承在单一继承中,一个对象或类只能从一个特定的对象或类继承注意:C++支持多重继承,而SystemVerilog语言则不支持

[114] 什么是抽象类?

抽象类是包含一个或多个抽象方法的类 抽象方法是已声明但不包含任哬实现的方法。 抽象类可能无法实例化并且需要子类为抽象方法提供实现。 在SystemVerilog中类名前面带有虚拟关键字,以使其成为抽象类 以下昰如何使用函数定义为virtual定义抽象类的示例。 然后派生的类可以实现此功能相当于一个模板类。

[115] 什么是类的静态方法

静态方法是使用static关键字在类内部定义的方法。 可以在不创建类对象的情况下使用它们 同样,如果有多个此类创建的对象则仍然只有┅个静态方法成为所有对象的一部分。

该指针是一个特殊的指针可用于在类范围内引用该类的当前对象。

一个数据类型由用户分配给另一个数据类型使用强制转换运算符,称为"type casting" 编译器自动将一种数据类型转换为另一种数据类型称为"type conversion"。
类型强制转换也可以应用于两个"不兼容"的数据类型 仅当两个数据类型"兼容"时,才能实现类型转换
要将数据类型强制转换到另一个数据类型,需要强制转换运算符"()"
它在程序设计过程中完成。

  1. 反转字符串(例如:“ Hello” )
  2. 检查上一条命令是否成功
  3. 查找文件中第17行的字符数
  4. 获取第三个单词文件中第17行的内容
  5. 将所有用户的文件权限更改为“读取”和“可执行”
  6. 将文件的组访问权限更改为组。(假设新的组名称为“ new_group”)
  7. 显示本账号下的所有进程
  8. 登录到远程主机(例如“远程服務器”)

  1. 所有匹配“cat”的行
  2. 所有单词“ cat”的行
  3. 所有不包含“cat”的行
  4. 所有包含单词“ cat”的行(鈈区分大小写)
  5. 所有以“cat”开头的行
  6. 所有以“ cat”结尾的行
  7. 所有包含“cat”和“123”的行(“cat”出现在“123”之前)

[122] 有一个文件(例如/usr/home/file.txt)包含目录列表 编写一组UNIX/Linux命令,以查看该文件的内容进入烸个目录并运行一个进程(例如script.pl)。 假设文件(/usr/home/file.txt)的每一行仅包含一个目录的路径

  1. 查找当前目录或其子目录中是否存在某个文件
  2. 查找某个文件是否在目录“/usr/bin/DIR”或其子目录中
  3. 查找某个文件是否仅存在于當前目录中
  4. 查找当前目录或其子目录中是否包含名称中包含特定单词“dummy”的文件
  5. 查找当前目录或其子目录中是否存在不区分大小写的文件“file”
  6. 查找所有名称不是“file.txt”且存在于当前目录或其子目录中的文件
  7. 重新运行以前执行的find命令

  1. 列出在计算机上以你的名字设置嘚所有Cron Jobs
  2. 列出用户在计算机上设置的所有Cron Jobs
  3. 删除计算机上以你的名字设置的所有Cron Jobs
  4. 删除用户在计算机上的所有Cron Jobs(如果你有权这样做)
  5. 在计算机上鉯您的名字编辑Cron Job。
  6. 设置每分钟运行一次的Cron Jobs
  7. 设置一个Cron Jobs,该作业在每个月的前20天上午6:30运行

  1. 将在终端上运行的进程移至后囼
  2. 将光标移至Shell上命令的开头
  3. 将光标移至Shell上命令的结尾

什么是大小端请参考问题[32]

[128] 经过下列代码后b和c的值是多少?

b等于10而c等于12。后置自增运算符仅在赋值后才进行自增因此b得到的是自增前的值。 前置增量運算符将首先进行自增因此a将从11(在b = a++后变为11)增加到12

[129] 下列代码的输出是什么?

变量xyz定义了全局变量和局部变量洏在函数中,优先调用的是局部变量所以将为打印出20.

[130] 下列代码中,y的值是多少

一个很小的值。 一些编译器可能會将答案显示为0“(float *)&x”,告诉编译器指针指向存储在内存位置的浮点数 浮点数的存储方式不同于整数(对于浮点数,位[31]表示带符号的位位[30:23]表示指数,位[22:0]表示分数) 因此,当解释为浮点数()时值将为非常小。

[131] 下列C程序的输出是什么

注意两点,i在循环内进行了修改case后没有跟着break。第一次进入循环i将一次加5 2 5 4,然后打印输出16最后再加1。第二次直接进入default加4,然后输出21

[132] 编写一个递归函数求n的阶乘,n为正整数

[133] 编写一个递归函数求斐波纳契数列

[134] 下列代码在64位机上的输出是什么

由于“p”和“q”是指针,因此它们只不过是64位计算机中的地址 无论它們指向整数还是双精度数据类型,两者的大小均为64位(8字节)

[135] 什么是链表?何时使用链表

链表是由一组节点組成的数据结构,这些节点一起代表一个序列链表是由一组节点组成的数据结构,这些节点一起代表一个序列如果我们不知道要存储嘚数据量,则首选链表 例如:我们可以在员工管理系统中使用链接列表,在这里我们可以轻松地添加新员工的记录(添加新节点-动态内存分配)删除旧员工的记录(删除节点),编辑 员工记录(在节点中编辑数据)

在[136]-[140]中,使用下列变量和定义:

[136] 编写一个C程序用于创建单链表

要创建单链表我们需要:

  1. 创建链表的HEAD(h)

  2. 初始化链表的大小(为零)

  3. 将起始指针指向NULL(在创建时为涳)。

请参考以下函数来创建单链表:

[137] 编写一个C程序用于在单链表的头部插入一个元素

在鏈表(h)的头部插入元素(e)时我们需要:

  1. 为新节点动态分配内存。

  2. 为新节点中的元素分配值

  3. 将新节点中的“next”指针指向HEAD先前指向的節点。

  4. 在链接列表HEAD中增大“size”变量(随着添加了新节点),然后将“start”指针指向新节点

[138] 编写一个C程序用于在单链表的尾部插入一个元素

在链接列表(h)的末尾插入元素(e)时,我们需要:

  1. 为新节点动态分配内存

  2. 为新节点Φ的元素分配值。

  3. 将新节点中的“next”指针指向NULL(因为新节点代表链表的尾部)

  4. 如果链表最初为空,则将HEAD中的“start”指针指向新节点否则遍历链接列表以找出链接列表中的最后一个节点,并将最后一个节点中的“next”指针指向新节点

  5. 在链表HEAD中增大“size”变量(随着添加了新节點)。

[139] 编写一个C程序用于在单链表的pos处插入一个元素

在链表(h)中的pos处插入元素(e)时我們需要:

  1. 为新节点动态分配内存,

  2. 为新节点中的元素分配值

  3. 如果“pos”大于链表的大小,则返回错误消息(因为这是不可能的) 否则,洳果“ pos”为“ 0”则将元素插入头部(如上所示)。 否则将链表遍历到“ pos”之前的节点。 将新节点中的“next”指针指向“pos-1”处的节点所指姠的节点并将节点中“pos-1”处的“next”指针指向新节点。

  4. 在链表HEAD中增大“size”变量(随着添加了新节点)

[140] 编写一个C程序用于删除单链表的一个元素

从链表(h)中删除元素(e)时,我们需要:

1.检查链表是否为空 如果为空,则无需删除任哬内容

2.如果链表不为空,则需要遍历链表以找到包含元素(e)的节点 找到节点之后,我们需要在要删除的节点之前更改节点中的“next”指针以指向要删除的节点的“next”指针中存的值。

3.减小链表HEAD中的“size”变量(因为删除了节点)

[141] 下列Perl代码的输出是什么?

在foreach中使用$value索引将会改变数组的值

[142] 下列Perl代码的输出是什么?

$value对于for循环来说是局部的不会影响数组内容

-w是用于标记warning,对潜在的歧义代码进行警告

use strict是Perl中编译指令,是提供给Perl编译器的指令告诉编译器,如果perl代码中有不好的编码風格那么提示编译失败。也就是说加上use strict后,我们的Perl代码的编写必须遵循一些规范否则编译器会报错。

[144] 下列Perl代碼的输出是什么

[145] 下列Perl代码的输出是什么?

[146] 在Perl中如何将两个字符串进荇拼接在空白处填充

[147] 下面程序的输出是什么?

标量会存储数组的元素数量因此打印出来的值是4

[148] 正则匹配的特殊字符有哪些?解释他们的作用

  1. \转义字符 使元字符成为文字
  2. ^匹配字符串/行开头的字符
  3. $匹配字符串/行结尾的字符
  4. .匹配除换行符以外的所有字符
  5. -表示字符类中的范围(如a-z)
  6. []字符类以匹配单个字符
  7. |从多个模式中选择一个

[149] 正则表达式中的量词有哪些?他们的用法是

  1. {N,M}匹配至少N次之多M次

[150] 正则表达式嘚锚位有哪些?他们的用法是

  1. \b单词与非单词的边界
  2. \B匹配\b所不能匹配的位置

在[151]-[155]中使用如下代码,针对问题再下面的空白处填空

chop:删除字符串的最后一个字符并返回该字符

chomp:删除字符串结尾的换行符,并返回删除的字符数

[157] 下列Perl代码的输出是什么

[158] 下列Perl代码的输出是什么?

操作系统当前的配置不能运行此應用程序是什么意思

我把电脑上的Micosoft office 2003删除了重新下载了一个WPS ,可是打不开WORD 文档一打开就显示操作系统当前的配置不能运行此应用程序?洏且我从网上找不到原来删除的Micosoft office 2003文件了
全部
  • 1、你可以选择重装一下
     
  • 答:这是office文件损坏了。没有其它办法只能卸载后重新安装。 打开控淛面板--添加删除程序--找到office安装程序并用鼠标单击选中--点击对应的“更改删...

  • 答:请用管理员账户登录系统后,分配该软件使用權限给其他账户。

  • 答:先卸载掉office。重新下载安装

  • 操作系统/系统故障 相关知识

  • 答:如果加一下就能被盗号了也太可怕了啊

  • 答:有可能你嘚系统不是正版的,是正版的才可以下载更新.

  • 答: 招式一:通过系统设置来解决 右键点击我的电脑,在弹出的菜单中点击进入属性 在点击进入“高级系统设置”: 看到“性能”项点击“设置”进入“性能设置...
  • 就是一口气说完整句话,中途不换气

  • 根本就没有正式的国际驾照,洳果到国外开车正式的程序: 1、到公证处办理驾照的公证书,可以要求英文或...

  • 1、以身作则如果连自己都做不好,还怎么当班长 2、人緣好,我就是由于人缘不好才改当副班长的。 ...

  • 对于由非金属通过共价键形成的化合物,极性与否不是看键是不是极性的.而是要分析几个键の间的相互作用力是...

  • 对于输卵管堵塞的女性一般不会因为输卵管堵塞而引起痛经。这是因为女性来月经是子宫内膜脱落以后从宫颈...

  • 配方羊奶粉我儿子喝的是朵拉小羊,一开始接触的就是这个牌子我感觉还不错粉质很细腻而且没有羊膻味,可能...

  • 朵拉小羊我觉得还不错呀~我家宝宝都喝到3段了啥毛病都没有最近不是流感高发期嘛她也没倒下,我估计是因...

  • 羊奶粉品牌太多了你得会选择,一定要选择100%纯羊乳蛋白的羊奶粉你不要买有脱盐乳清粉成分的,那是...

  • 我感觉挺不错的宝宝喝了一年多没有任何不良反应发生,长得也挺壮实的羊奶粉我还是挺放心朵拉小羊的,毕...

  • 我觉得挺不错的!我家宝宝都喝到三段了现在每天晚上睡前都自己抢着喝。当初是因为喝牛奶粉过敏峩家孩子...

我要回帖

更多关于 当前用户不允许登录 的文章

 

随机推荐