-
2021-01-30 16:54:38
【单选题】以下代码的输出结果是() a = [[1,2,3], [4,5,6], [7,8,9]] s=0 for c in a: for j in range(3): s +=c(j] print(s)
【单选题】请阅读下面一段程序: arr_2d = np.array([[11, 20, 13],[14, 25, 16],[27, 18, 9]]) print(_2d[1, :1]) 执行上述程序后,最终输出的结果为( )。
【单选题】下面程序输出的结果是() s1,s2 = "Mom","Dad" print(" 0 loves (" .format(s2,s1))
【单选题】在Python语言中,用来安装第三方库的工具是()
【单选题】下面关于局部变量和全局变量的描述,正确的是()
【单选题】下列选项中,关于apply()说法不正确的是。( )
【单选题】以下代码的输出结果是() test= {“age"."18","score":"[89,95]","name":"Hawking"} print(test["score "].test. get( 'name' ."'Rose"))
【单选题】以下程序的输出结果是() sum=1 for i in range(1,11): sum+=i print()
【单选题】以下用来处理Python字典的方法中,正确的是()
【单选题】下列选项中,不属于jieba分词模式( )。
【单选题】以下关于Python函数的描述中,正确的是()
【单选题】下面关于Python中函数的说法错误的是()
【单选题】下面程序的输出结果是() Is= [橘子",”芒果",”草莓",
更多相关内容 -
以下关于函数说法错误的是
2020-12-09 23:40:37【单选题】S 和 T 是两个集合,哪个选项对 S^T 的描述是正确的?【单选题】关于 turtle 库的画笔控制函数,哪个选项的描述是... def fun(a,b): return a+b c = fun(5,6) #调用 fun()函数 print(c)【单选题】下列函数...【单选题】S 和 T 是两个集合,哪个选项对 S^T 的描述是正确的?
【单选题】关于 turtle 库的画笔控制函数,哪个选项的描述是错误的?【 】
【单选题】哪个选项对 turtle.done() 的描述是正确的?【 】
【单选题】下列程序的输出结果为【 】。 def fun(a,b): return a+b c = fun(5,6) #调用 fun()函数 print(c)
【单选题】下列函数中,可返回元组中元素最大值的是【】。
【单选题】以下选项不是函数作用的是【 】 。
【单选题】字符串是一个字符序列,若已有语句 s="ABC" ,以下可以表示字符'C'的 是【 】。
【单选题】已有列表 ls =[1,3,2,5,9],以下不能实现将列表元素反转的是【 】。
【单选题】以下关于函数调用描述正确的是【 】。
【单选题】函数如果有多个参数,参数之间必须使用( )分隔。
【单选题】下面不属于 Python 保留字的是【 】。
【单选题】以下不是 Python 序列类型的是【】
【单选题】关于 Python 文件的 ‘r’ 打开模式,哪个选项的描述是正确的?
【单选题】turtle.circle(-90,90) 的执行结果是【 】。
【单选题】Python 对文件操作采用的统一步骤是( )。
【填空题】在 Python 中,定义函数的保留字是 ________ 。
【单选题】以下不是 Python 语言合法命名的是【 】。
【单选题】下列语句打开文件的位置应该在( )。 f = open( "itheima.txt", 'r' )
【单选题】下面 关于大括号 {} 和中括号[]的 描述中正确的是:
【单选题】已有 序列 s ,下面哪个选项对 s.index(x) 的描述是正确的?
【填空题】已有列表 ls =[1,3,2,5,9] 要将列表中的元素按由小到大排列,即:使ls变为 [1,2,3,5,9] 可以通过______函数(只写函数名即可)实现。
【论述题】团队实验1: 1、每个小组提出一个需要解决的实际电子商务项目问题,公布在论坛中,让其它小组选择,作为中标小组今后团队作业的项目需求。 注意论坛公布格式如下: 第X组提供项目需求如下: 项目名称:XXXX 项目背景:XXXX(简单描述) 需要解决的问题(至少5个点): (1)、XXXX (2)、XXXX 。。。。。。 需要认领此项目的组在帖子下面回复认领,然后需求方回复认可即认为此项目已认领。 2、每个团队认领完项目后,完成以下工作: (1)通过团队讨论,利用头脑风暴列出该项目需要解决的问题,然后对所有问题进行归类,完成一份合理的鱼骨图; (2)把鱼骨图的各种讨论因素制作成一张调查表,并发布到问卷星之类的调研免费网站上,通过调查表的统计数据来计算影响问题的主要因素。(调查表设计至少要10个以上问题,采用至少3种问题类型。注意回收问卷至少30份以上) (3)讨论这张图在寻找问题的实际原因方面有帮助吗? (要求保留讨论记录、调研表样式、调查表的总数(即调研填写的数据表若调查表量),多可使用抽样技术进行统计) 3、通过题2的分析,完成至少1000字此项目的调查报告。 4、制作答辩PPT,展示项目需求分析过程、数据及结论。 于10月22日进行公开答辩,10月21日晚7点前将答辩之前打包所有材料交到课程中心的实验1作业中。 团队实验1-答辩要求 1、组长抽签排序: 2、每组进行展示汇报6分钟,1分钟提问,答辩可以以各种形式博眼球,多人、个人、问答等都可以; 3、每个组对展示进行评分排序,前三名的组每位组员期末总评各加3、2、1分; (答辩时间:10月22日,答辩地点:上课教室)
【单选题】下面选项说法正确的是【 】。
【单选题】假设 test.txt 文件中的内容由如下三行信息构成: abcdef ABCDEF 123456 则执行下面的代码后,程序输出( )。 f = open("test.txt", "r") txt = f.readline() print(txt)
【单选题】分析下面代码的执行结果 ls = [12,"abc",10e2,"2e-2","apple"] sum = 0 for i in ls: if type(i) in [type(2),type(0.2)]: sum = sum + i print(sum)
【单选题】关于 turtle 库,哪个选项的描述是错误的?【 】
【论述题】请每位同学选择第一到第六章的任何一小节,要求完成: 1、每个小组组员不能选同一节; 2、对应的教案(模板见附件); 3、讲课的PPT(PPT设计本节课讲解的内容,自己设计样式,相关案例可以自己补充) 课程教案模板-系统分析.docx 将于11月26日课程选部分同学展示。
【单选题】打开文件对文件进行读写,操作完成后应该调用( )方法关闭文件,以释放资源。
【填空题】分析下面程序的执行结果。 ls = [ [ 1, 2, 3 ], 4, 5 ] print( len(ls) )
【单选题】以下关于 Python 语言中 “ 缩进 ” 说法正确的是【 】。
【单选题】关于 Python 的元组类型,以下选项错误的是:
【单选题】关于 return 语句,以下选项描述正确的是【 】。
【论述题】请完成系统分析文档,并提交团队评分表,如小组因进博会志愿者无法及时完成,私信老师报备即可 系统分析文档模板及范例.zip
【单选题】哪个选项能够使用 turtle 库绘制一个半圆形?【】
【单选题】对于 Python中的 文件,以下描述中正确的是( )。
【单选题】下面关于列表的说法,描述错误的是:
【单选题】哪个选项是 turtle 绘图中角度坐标系的绝对 0 度方向?【 】
【单选题】执行下面的操作后,b 的值为: a = [4, 5, 6] b = a a[2] = 3
【单选题】关于 Python 组合数据类型,以下描述错误的是:
【填空题】在Python中,函数的返回值可以通过使用保留字________实现。
【单选题】分析下面代码的输出结果 dict = {'Name': 'Zra', 'Sex':'f' ,'Addr' :'Tianjin'} age = dict.get('age', 18) print( age)
【单选题】以下选项对文件描述错误的是( )。
【单选题】关于函数的参数,以下选项描述错误的是【 】。
【单选题】以下关于函数说法错误的是 【 】
【单选题】列表 ls ,哪个选项对 ls.append(x) 的描述是正确的?
【单选题】哪个选项不能改变 turtle 画笔的运行方向?【 】
【单选题】分析下面程序的执行结果。 ls =[1,2,1,3] nums = set(ls) for i in nums: print( i, end = "" )
【单选题】关于 turtle 库绘图函数,哪个选项的描述是错误的? 【 】
【单选题】下面代码的执行结果是( )。 fo = open("file.txt", "w+") ls = ["唐诗", "宋词", "元曲"] fo.writelines(ls) fo.seek(0) for line in fo: print(line) fo.close()
【单选题】下面选项中 不 能 正确引用 turtle 库的是 【 】。
-
fscanf 函数的正确调用形式是_fscanf函数的正确调用形式_fscanf()函数的正确调用形式是
2021-05-23 00:39:17若调用fputc函数输出字符成功,则其返回值是________A)EOF B)1C)0D)输出的字符15 已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是______A)一个整型变量,代表要读入的数据项总数B...13.C语言中,能识别处理的文件为_______
A)文本文件和数据块文件B)文本文件和二进制文件
C)流文件和文本文件D)数据文件和二进制文件
14.若调用fputc函数输出字符成功,则其返回值是________
A)EOF B)1C)0D)输出的字符
15 已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是______
A)一个整型变量,代表要读入的数据项总数
B)一个文件指针,指向要读的文件
C)一个指针,指向要读入数据的存放地址
D)一个存储区,存放要读的数据项
16 当顺利执行了文件关闭操作时,fclose函数的返回值是_________
A)-1 B)TRUEC)0D)1
17.如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是______
A)fp=fopen("Demo","r");B)fp=fopen("Demo","ab+");
C)fp=fopen("Demo","w+");D)fp=fopen("Demo","r+");
18(关于文件理解不正确的为_________.
a) ,语言把文件看作是字节的序列,即由一个个字节的数据顺序组成;b) 所谓文件一般指存储在外部介质上数据的集合;
3/7页
c) 系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区;
d) 每个打开文件都和文件结构体变量相关联,程序通过该变量访问该文件;
19(关于二进制文件和文本文件描述正确的为_________.
a) 文本文件把每一个字节放成一个ASCII代码的形式,只能存放字符或字符串数据;
b) 二进制文件把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放;
c) 二进制文件可以节省外存空间和转换时间,不能存放字符形式的数据; d) 一般中间结果数据需要暂时保存在外存上,以后又需要输入内存的,常用文本文件保存;
20. 系统的标准输入文件操作的数据流向为_________.
a)从键盘到内存 b)从显示器到磁盘文件 c)从硬盘到内存 d)从内存到U盘
21. 利用fopen (fname, mode)函数实现的操作不正确的为_________.
a) 正常返回被打开文件的文件指针, 若执行fopen函数时发生错误则函数的返回NULL;
b) 若找不到由pname指定的相应文件,则按指定的名字建立一个新文件; c) 若找不到由pname指定的相应文件fscanf 函数的正确调用形式是,且mode 规定按读方式打开文件则产生错误;
d) 为pname指定的相应文件开辟一个缓冲区,调用操作系统提供的打开或建立新文件功能;
4/7页
if(fwrite(buffer, sizeof(char), length, fp) < length) 。 if(fwrite(buffer, sizeof(char), length, fp) < length)。 fwrite &key,sizeof struct key_gb ,1,fp 。
a) 将3个学生的数据块按二进制形式写入文件;
并查找一个块mmioflush 把文件缓冲区的数据写入磁盘中mmiogetinfo 检取有关由mmioopen函数创建的riff文件的信息mmioinstallioproca 装入或删除一个自定义的io过程mmioopen 为输入输出打开一个文件mmioread 从由mmioopen函数打开的文件中读取指定字节数的数据mmiorename 重新命名指定的文件mmioseek 改变由mmioopen函数打开的文件中的当前指针位置mmiosendmessage 向与指定文件相联系的io过程发送一条消息mmiosetbuffer 允许或禁止文件缓冲区的io。默认是pre-sendfile,传送数据之前在用户空间申请数据缓冲区,之后用read()将数据从文件拷贝到这个缓冲区,write()将缓冲区数据写入网络.sendfile()是立即将数据从磁盘读到os缓存,sendfile()要比组合read()和write()以及打开关闭丢弃缓冲更加有效。bydata传进来的字节数组,用以接受filestream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符.。
num_chars——指定希望mid从文本中返回字符的个数,如果num_chars是负数,则mid返回错误值“#value。返 回 值:遍历中断则返回fn()函数的返回值,全部遍历则返回0,若有错误发生则返回-1。发生错误时会返回一个负的错误值(目前共有 13个操作):。
23(利用fread (buffer,size,count,fp)函数可实现的操作_________.
a) 从fp指向的文件中fscanf 函数的正确调用形式是,将count个字节的数据读到由buffer指出的数据区
中;
b) 从fp指向的文件中,将size*count个字节的数据读到由buffer指出的数据区中;
c) 以二进制形式读取文件中的数据,返回值是实际从文件读取数据块的个数count;
d) 若文件操作出现异常,则返回实际从文件读取数据块的个数;
24(检查由fp指定的文件在读写时是否出错的函数是_________.
a) feof() b) ferror() c) clearerr(fp) d) ferror(fp)
25.函数调用语句:fseek(fp,-10L,2);的含义是________。
A 将文件位置指针从文件末尾处向文件头的方向移动10个字节
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-108784-1.html
-
shell函数定义、函数调用及函数返回值用法
2020-12-26 21:04:09linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。Shell 函数定义的语法格式如下: [function] funname [()]{ 函数体 [return int;] } 格式1: 简化写法,不写 function 关键字: 函数名...1、函数定义
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。Shell 函数定义的语法格式如下:
[function] funname [()]{
函数体
[return int;]
}
格式1:
简化写法,不写 function 关键字:
函数名(){
函数体
}
格式2:
这是标准写法,也推荐大家使用的写法:
function 函数名(){
命令序列
}
这样方便做到一看就懂。
格式3:
如果写了 function 关键字,也可以省略函数名后面的小括号:
function 函数名{
命令序列
}
说明:
- function 是 Shell 中的关键字,专门用来定义函数;可以带function funname () 定义,也可以直接funname () 定义,不带任何参数;
- funname 是函数名;
- 函数体 是函数要执行的代码,也就是一组语句;
- return int 表示函数的返回值,其中 return 是 Shell 关键字,专门用在函数中返回一个值;这一部分可以写也可以不写,如果不加,将以最后一条命令运行结果,作为返回值。
2、函数变量
Shell 函数的变量不像其它语言中需要在变量前定义变量类型什么的,更没有结果符号等。语法:
num=1
变量作用域
局部变量:作用域是函数的生命周期;在函数结束时被自动销毁。定义局部变量的方法:
local var=value
本地变量:作用域是运行脚本的shell进程的生命周期;因此,其作用范围为当前shell
示例一:
#!/bin/bash
#在函数外定义本地变量
var="Hello,World"
function show() {
#在函数内改变变量内容
var="Hi,var is changed" #sheli中函数内部也是全局变量作用域
}
echo "$var"
show
echo "$var"
输出结果:
[guest@localhost shell]$ ./tempsh.sh
Hello,World
Hi,var is changed
结果显示在调用函数后,原有的本地变量var被替换了。还好这个变量并不是重要的部分,想想若是PATH被替换了,那么这个函数的罪过就大了。因此我们如何即调用函数中定义的变量同时又不对本地变量造成任何影响呢?局部变量的出现就是为了解决这个问题。
下面看看在使用了局部变量后的效果。
#!/bin/bash
#在函数外定义本地变量
var="Hello,World"
function show() {
#在函数内改变变量内容
local var="Hi,var is changed"
echo "$var"
}
echo "$var"
show
echo "$var"
输出结果
[guest@localhost shell]$ ./tempsh.sh
Hello,World
Hi,var is changed
Hello,World
该实验结果说明,使用局部变量后,函数体中出现的变量作用范围只存在于当前函数生命周期。
3、函数调用
定义函数的代码段不会自动执行,而是在调用时执行;在函数定义好后,用户可以在shell 中直接调用,调用时不用带上();调用 Shell 函数时可以给它传递参数,也可以不传递。如果不传递参数,直接给出函数名字即可。
示例一:
#!/bin/bash
# 函数定义
function show(){
echo "Hello word"
}
# 函数调用
show
输出结果:
Hello word
函数调用成功。上边的例子是把函数把在脚本上边,那么如果放函数放在下边会怎样呢?
无非就两种结果:1成功,2失败
下面我们举例测试一下:
示例二:
#!/bin/bash
# 函数调用
show
#函数定义
function show(){
echo "Hello word"
}
输出结果:
./tempsh.sh:行4: show: 未找到命令
系统报错,为啥?为什么会报错呢?
首先,脚本的执行顺序是从上到下顺序执行的,因此会先执行show,通过定义的环境变量$PATH定义的路径找不到show对应的命令因此报“show:未找到命令”。
我们在终端命令行中输错命令报错也是这个原因。终端命令行默认会将最左面输入的内容当做命令,因此若是错误的命令,不是命令的命令等内容都会报错。
通过上面的对比,我们至少知道函数的调用若是在同一个脚本中,调用操作需要在定义的函数后面。
4、函数传参
函数传参调用语法:
函数名 参数1 参数2 ....
如果传递参数,那么多个参数之间以空格分隔:
funname param1 param2 param3
不管是哪种形式,函数名字后面都不需要带括号。和其它编程语言不同的是,Shell 函数在定义时不能指明参数,但是在调用时却可以传递参数,并且给它传递什么参数它就接收什么参数。
在Shell中,调用函数时可以向其传递参数。在函数体内部,函数中的变量均为全局变量,没有局部变量,若使用局部变量需要在变量前加上 local,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数....
示例:
#!/bin/bash
function show(){
echo "第一个参数为 $1 !"
echo "第二个参数为 $2 !"
echo "第十个参数为 $10 !"
echo "第十个参数为 ${10} !"
echo "第十一个参数为 ${11} !"
echo "参数总数有 $# 个!"
echo "作为一个字符串输出所有参数 $* !"
}
show 0 1 2 3 4 5 6 7 8 9 10 11
输出结果:
第一个参数为 0
第二个参数为 1
第十个参数为 10
第十个参数为 9
第十一个参数为 10
参数总数有 12 个
作为一个字符串输出所有参数 0 1 2 3 4 5 6 7 8 9 10 11
注意:$10 不能获取第十个参数,获取第十个参数需要${10}。当n>=10时,需要使用${n}来获取参数。
另外,还有几个特殊字符用来处理参数:
参数处理 说明 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。 $- 显示Shell使用的当前选项,与set命令功能相同。 $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 5、函数返回值
退出状态码
在介绍函数返回值前先了解一下跟函数返回值有关的状态退出码。
Shell 中运行的每个命令都使用退出状态码(exit status)来告诉shell它完成了处理。退出状态码是一个0-255之间的整数值,在命令结束运行时由命令传给shell。你可以捕获这个值并在脚本中使用。
如何查看退出状态码呢?
Linux提供了 $? 专属变量,用来获取上一个命令的退出状态,或者上一个函数的返回值。你必须在你要查看的命令之后马上查看或使用 $? 变量。它的值会变成Shell中执行的最后一条命令的退出状态码。
退出状态码大体分两种:
- 一种是命令正确执行的状态码,该状态码为:0
- 一种是命令错误执行的状态码,为1-255
Linux退出状态码
状态码 描述 0 命令成功结束 1 通用未知错误 2 误用shell命令 126 命令不可执行 127 没找到命令 128 无效退出参数 128+x Linux信号x的严重错误 130 命令通过Ctrl+C终止 255 退出状态码越界 在脚本中也可以指定退出状态码的值,通过命令exit实现。
状态码取值范围为0-255,如果在指定的状态码大于255,那么shell会通过模(模就是256)运算得到相应的退出状态码。
示例一:
成功的
#!/bin/bash
# 函数定义
function show(){
echo $(date +%Y%m%d)
}
show
echo $?
输出结果:
0
示例二:
失败的
#!/bin/bash
SYS_DATE=$(date +%Y%m%d)
echo $SYS_DATE
# 函数定义
function show(){
log=`lt`
echo log
}
show
echo $?
输出结果:
[guest@localhost shell]$ ./tempsh.sh
20191123
./tempsh.sh:行10: lt: 未找到命令
log
0
这次,由于函数最后一行命令正确执行,函数的退出状态码就是0,尽管函数中有一条命令没有成功运行。
使用函数的默认退出状态码是很危险的,幸运的是return命令可以解决这个问题。
示例:
#!/bin/bash
SYS_DATE=$(date +%Y%m%d)
echo $SYS_DATE
# 函数定义
function show(){
log=`lt`
echo log
return 2
}
show
echo $?
输出结果:
[guest@localhost shell]$ ./tempsh.sh
20191123
./tempsh.sh:行10: lt: 未找到命令
2
还是使用相同的函数,在函数最后加上return指定的状态码2。
函数返回值
在Shell中,return语句只能返回某个0-255之间的整数值。在Shell中还有一种更优雅的方法帮助用户来获得函数执行后的某个结果,那就是使用echo。在函数中,用户需要将要返回的数据写入到标准输出(stout),通常这个操作是使用echo语句来完成的,然后在调用程序中将函数的执行结果赋值给一个变量。这种做法实际上就是一个命令替换的一个变种。
Shell函数返回值,常用的两种方式:return、echo。
1)return 语句
Shell函数的返回值,可以和其他语言的返回值一样,通过return语句返回,return只能用来返回整数值。
示例一:
#!/bin/bash
function getResultFun(){
echo "这是我的第一个 shell 函数!"
return `expr 1 + 1`
}
getResultFun
echo $?
输出结果:
这是我的第一个 shell 函数!
2
Shell 函数返回值只能是整形数值,一般是用来表示函数执行成功与否的,0表示成功,其他值表示失败。用函数返回值来返回函数执行结果是不合适的。如果return某个计算结果,比如一个字符串,往往会得到错误提示:“numeric argument required”。
如果一定要让函数返回一个或多个值,可以定义全局变量,函数将计算结果赋给全局变量,然后脚本中其他地方通过访问全局变量,就可以获得那个函数“返回”的一个或多个执行结果了。
示例:
#!/bin/sh
function getStr(){
return "string"
}
getStr
echo $?
输出如下:
./test.sh: line 5: return: string: numeric argument required
255
可以看到已经提示要求return 整数类型,真实返回值是255。当面对这种问题怎么解决呢?
别急,断续看下去你就会找到你想要的答案了。
2)echo 语句
echo是通过输出到标准输出返回,可以返回任何类型的数据。
示例:
#!/bin/sh
function test() {
echo "arg1 = $1"
if [ $1 = "1" ] ;then
echo "1"
else
echo "0"
fi
}
echo
echo "test 1"
test 1 #shell函数调用
echo
echo "test 0"
test 0 #shell函数调用
echo
echo "test 2"
test 2 #shell函数调用
输出结果:
test 1
arg1 = 1
1
test 0
arg1 = 0
0
test 2
arg1 = 2
0
3)函数返回值总结
学习了上面的函数返回值的操作后我们下面做个知识总结,我们先看一用例:
#!/bin/bash
function getResultFun(){
echo "这是我的第一个 shell 函数!"
return `expr 1 + 1`
}
getResultFun
echo $?
function getResultFun2(){
echo "这是我的第二个 shell 函数!"
expr 1 + 1
}
getResultFun2
echo $?
getResultFun
echo 在这里插入命令!
echo $?
输出结果:
这是我的第一个 shell 函数!
2
这是我的第二个 shell 函数!
2
0
这是我的第一个 shell 函数!
在这里插入命令!
0
这是为什么?
因为调用 getResultFun2 后,函数最后一条命令 expr 1 + 1 得到的返回值($?值)为 0,意思是这个命令没有出错。所有的命令的返回值仅表示其是否出错,而不会有其他有含义的结果。
第二次调用 getResultFun 后,没有立即查看 $? 的值,而是先插入了一条别的 echo 命令,最后再查看 $? 的值得到的是 0,也就是上一条 echo 命令的结果,而 getResultFun 的返回值被覆盖了。下面这个测试,连续使用两次 echo $?,得到的结果不同,更为直观:
#!/bin/bash
function getResult(){
echo "这是我的第一个 shell 函数!"
return `expr 1 + 1`
}
getResult
echo $?
echo $?
输出结果:
这是我的第一个 shell 函数!
2
0
6、获取函数返回值
我们上面谈到了函数定义、传参、调用、返回结果,那我们如果得到返回结果呢?上面也谈到了一种获取返回结果的方法 $? ,难道只有这一种方式吗?答案肯定不止。
示例一:
用 $? 获取返回值,上面已有介绍,在这里就不做介绍了。
示例二:
#!/bin/sh
function getStr(){
return "string"
}
#方法一
echo `getStr`
#方法二
echo $(getStr)
两种写法的原理一样的,将getStr当成命令执行,然后获取其标准输出。
示例三:函数传参
#!/bin/bash
#创建目录
function createDir(){
if [ ! -d $1 ]; then
mkdir -p $1
fi
}
DIR="temp/"
# 两者二先一
#$(createDir $DIR)
$(createDir "temp/")
函数返回值获取的方法总结:
- 用变量接收函数返回值,函数用echo等标准输出将要返回的东西打印出来。
- 用 $? 来接收函数的执行状态,但是 $? 要紧跟在函数调用处的后面。
参考资料:
-
下面关于函数的说法,错误的是( )。_学小易找答案
2020-12-09 14:15:00( )【单选题】全局变量定义在函数外,可以在 ( ) 范围内访问。【单选题】Python是一种面向( )的高级语言。【单选题】函数的名称可以随意命名。( )【其它】请各位同学将本实验——网页设计的实验报告通过此通告发送给... -
C语言函数调用三种方式:传值调用,引用调用和传地址调用
2017-03-18 16:47:36C语言函数调用三种方式:传值调用,引用调用和传地址调用 -
c语言的问题若有以下调用语句,则不正确的fun函数的首部是?
2021-05-22 09:46:2439若有以下调用语句,则不正确的fun函数的首部是?...avoid fun(int m,int x[])bvoid fun(int s, int h[41])cvoid fun(int p, int *s)dvoid fun(int n, int a)解答:答案d是错误的,因为调用函数中的实在参数为一个是... -
在Python中,以下关于函数的描述错误的是哪一项?
2020-12-20 09:48:44在Python中,以下关于函数的描述错误的是哪一项?答:在Python中,关键字参数是让调用者通过使用参数名区分参数,在使用时不允许改变参数列表中的参数顺序。下列护理用物不包括有毒物质汞是:答:听诊器SEO优化包括包括... -
在Python中,以下关于函数的描述错误的是哪一项?( )(1.0分)_学小易找答案
2020-12-08 14:20:54【单选题】制度分为()、管理制度、技术规范、业务规范和行为规范【单选题】Intra-industry tradeis most common in ...【单选题】( )函数以一系列列表作为参数,将列表中对应的元素打包成一个个元组,然后返回由这些... -
函数调用不可以作为一个函数的形参
2016-04-07 20:37:13每日练习以下描述错误的是:函数调用可以(D) A) 出现在执行语句 B) 出现在一个表达式 C) 作为一个函数的实参 D) 作为一个函数的形参 解析 函数返回值在寄存器中, 没有地址, 不能作为形参,但可以作为实参 -
什么是拷贝构造函数?拷贝构造函数何时被调用
2019-05-05 09:33:001.什么是拷贝构造函数: CA(const CA& C)就是我们自定义的拷贝构造函数。可见,拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它的唯一的一个参数是本类型的一个引用变量,该参数是const类型... -
【单选题】在调用函数时,以下描述中不正确的是()。 A. 调用函数时,实参不可以是表达式 B. 调用函数时,将...
2021-05-22 10:55:15【单选题】在调用函数时,以下描述中不正确的是()。A. 调用函数时,实参不可以是表达式B. 调用函数时,将为形参分配内存单元C. 调用函数时,实参与形参的类型必须一致D. 调用函数时,实参与形更多相关问题堆是一种... -
C++析构函数何时被调用
2020-03-18 00:36:21构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成员对象的构造函数。析构则严格按照与构造相反的次序执行,该次序是唯一的,否则编译器将无法自动执行析构过程。 构造函数和析构函数都是... -
C 函数的定义与调用及例题
2019-02-12 16:36:40一,函数的定义与调用 · 在C语言中,函数(Function)是一个处理过程,即一段程序的工作放在函数中进行,函数结束时可以携带或不带处理结果。 · C语言程序处理过程全部都是以函数形式出现,最简单的程序至少也有... -
C++中函数调用时的三种参数传递方式详解
2017-08-31 20:44:51如果以引用为参数,则既可以使得对形参的任何操作都能改变相应的数据,又使得函数调用显得方便、自然。引用传递方式是在函数定义时在形参前面加上引用运算符“&”。 #include using namespace std; void ... -
函数调用,题目练习
2016-11-05 00:17:30标题:函数调用,题目练习 关键词:函数调用50%,题目练习1个 内容(A):(1)依据函数参数的情况,函数分为有参函数和无参函数。函数定义时的参数称为形式参数,简称形参;函数调用时的参数称为实际参数,简称实参。... -
c语言中“函数的定义不可以嵌套,但函数的调用可以嵌套
2019-09-27 17:12:45楼上正解,可能楼主没理解 我这里具体举例说明不能嵌套定义 即是function a(){ function b(){ }}在a函数里面定义b函数是错的,只能在a函数外部定义b函数 像这样function a(){}function b(){}能嵌套调用 即是function... -
c#的构造函数及构造函数的调用
2015-12-01 16:53:07C#构造函数的特性一、 什么是C#构造函数?Construct,Function C#构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化. C#构造函数具有一些特殊的性质: (1)C#构造... -
外部函数的调用
2018-11-06 20:07:45如计算下列排列函数 先建立一个源文件如内部函数1: #include<iostream> using namespace std; int factorial(int n) { if(n < 0) { cout<<"n<0 , 错误!&... -
子类调用父类的构造函数方式一览
2019-11-10 17:11:05首先要了解子类调用构造函数过程:父类构造函数–>子类构造函数 1.父类有默认构造函数,子类未显示调用时,子类自动调用父类的默认构造函数; #include <iostream> using namespace std; class ... -
C++:第3章 函数
2021-06-23 09:24:42若有以下函数调用语句,在此函数调用语句中实参的个数是( A ) 。 fun(a+b,(y=10,y),fun(n,k,d)); A. 3 B. 4 C. 5 D. 6 以下函数调用语句中,含有的实参个数是( A ). func(rec1,rec2 +1,(rec3,rec4)); A. 3 B. 4... -
确定重载函数被调用的依据
2017-03-05 09:45:37由于今天做了道面试题,题目是:系统在调用重载函数时,能作为确定那个重载函数被调用的依据是() 我选的是A函数返回类型,正确答案是B参数个数。 查阅书籍之后发现重载函数的定义是:同一个类中包含了两个或两个以上... -
C++ 函数与函数调用(传值、指针、引用调用)
2018-04-15 00:24:42函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。 您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,... -
[Linux] gdb 单步执行和跟踪函数调用
2019-09-23 21:12:28在 Linux 中提供了一个很强大的调试工具 gdb ,可以完全操控程序的运行,能够随时查看程序中所有的内部状态,比如各变量的值、传给函数的参数、 当前执行的代码行等。 无论是否有这样的调试工具,调试的基本思想... -
要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语_作业帮
2021-05-19 11:48:271.以下说法中正确的是( C)(3分)A、 B、 C、 D、A、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须... -
C语言既允许嵌套定义也允许嵌套调用。()
2021-05-19 20:18:10相关题目与解析C语言的函数可以嵌套和递归调用。()以下叙述正确的是()。A.C语言程序是由过程和函数组成的B.C语言函数可以嵌套调用,例如以下对C++语言函数的有关描述中,正确的是A.在C++语言中调用函数时,只能把... -
函数---习题
2021-05-20 04:41:32C++语言程序中,要调用的函数必须在main()函数中定义c.C++语言程序中,只有int类型的函数可以未经声明而出现在调用之后d. C++语言程序中,main()函数必须放在程序开始的部分2. 下列叙述中正确的是:a. C++语言程序... -
C语言函数练习题集与答案解析.doc
2021-05-24 08:31:221【单选题】在下列关于C函数定义的叙述中,正确的是?A、函数可以嵌套定义,但不...2.5分2【单选题】下面函数调用语句含有实参的个数为?nc((exp1,exp2),(exp3,exp4,exp5));A、1B、2C、4D、5我的答案:B得分:?2.... -
编写函数,判断一个整数是否为素数,并编写主程序调用该函数。_学小易找答案
2021-02-04 09:51:02【多选题】下列哪些情形中的外国人可以在中国申请专利?【简答题】为什么应尽量从列表的尾部进行元素的增加与删除操作?【简答题】编写程序,用户输入一个列表和 2 个整数作为下标,然后输出列表中介于 2 个下标之间的... -
1、c语言 编程实现下列函数的计算,输入x的值,输出y的值?
2021-05-21 13:24:49y=3x+2(x)y=-x+1(x>=0)...1、编程实现下列函数的计算,输入x的值,输出y的值。 y=3x+2 (x) y=-x+1 (x>=0)展开。 #include void main() { int x,y; scanf("%d",&x); if (x=100) y=3*x+1; printf("%d",y); } #include ...