首页 > 外贸类考试
题目内容 (请给出正确答案)
[单选题]

return [表达式]结束函数,选择性地返回一个值给调用方法,不带表达式的return相当于()。

A.无返回值

B. 返回0

C. 返回null

D. 返回Non

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“return [表达式]结束函数,选择性地返回一个值给调用方…”相关的问题
第1题
试题四(共 15 分) 阅读以下说明和 C 函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说明]

试题四(共 15 分)

阅读以下说明和 C 函数,将应填入 (n) 处的字句写在答题纸的对应栏内。

[说明]

计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式

“46+5*(120-37)”的后缀表达式形式为“46 5 120 37 - * +” 。

计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中,重复以上过程,直到后缀表达式扫描结束。例如,后缀表达式“46 5 120 37 - * +”的计算过程为:

a. 依次将 46、5、120、37 压入栈中;

b. 遇到“-”,取出 37、120,计算 120–37,得 83,将其压入栈中;

c. 遇到“*”,取出 83、5,计算 5*83,得 415,将其压入栈中;

d. 遇到“+”,取出 415、46,计算 46+415,得 461,将其压入栈中;

e. 表达式结束,则计算过程完成。

函数 computing(char expr[],int *result)的功能是基于栈计算后缀形式的表达式(以串形式存入字符数组 expr)的值,并通过参数 result 返回该值。函数的返回值为-1/0 分别表示表达式有/无错误。假设表达式中仅包含数字、空格和算术运算符号,其中所有项均以空格分隔,且运算符仅包含加(“+”)、减(“-”)、乘(“*”)、除(“\”)。

函数 computing 中所用栈的基本操作的函数原型说明如下:

void InitStack(STACK *s):初始化栈。

void Push(STACK *s, int e): 将一个整数压栈,栈中元素数目增 1。

void Pop(STACK *s):栈顶元素出栈,栈中元素数目减 1。

int Top(STACK s):返回非空栈的栈顶元素值,栈中元素数目不变。

int IsEmpty(STACK s):若s 是空栈,则返回1 否则返回 0。

[C 函数]

int computing(char expr[], int *result)

{

STACK s; int tnum, a,b; char *ptr;

InitStack(&s);

ptr = expr; /*字符指针指向后缀表达式串的第一个字符*/

while (*ptr!='\0') {

if (*ptr==' ') { /*当前字符是空格*/

(1) ; /*字符指针指向下一字符*/

continue;

}

else

if (isdigit(*ptr)) {

/*当前字符是数字,则将该数字开始的数字串转换为数值*/

tnum = (2) ;

while (*ptr>=’0’ && *ptr <=’9’) {

tnum = tnum * 10 + (3) ;

ptr++;

}

Push((4) );

}

else /*当前字符是运算符或其他符号*/

if (*ptr=='+'||*ptr=='-'||*ptr =='*'||*ptr =='/'){

if (!IsEmpty(s)) {

a = Top(s); Pop(&s); /*取运算符的第二个运算数*/

if (!IsEmpty(s)) {

b = Top(s); Pop(&s); /*取运算符的第一个运算数*/

}

else return -1;

}

else return -1;

switch (*ptr) {

case '+': Push(&s,b+a); break;

case '-': Push(&s,b-a); break;

case '*': Push(&s,b*a); break;

case '/': Push(&s,b/a); break;

}

}

else

return -1;

ptr++; /*字符指针指向下一字符*/

} /* while */

if (IsEmpty(s)) return -1;

else {

(5) = Top(s); Pop(&s); /*取运算结果*/

if (!IsEmpty(s)) return -1;

return 0;

}

}

点击查看答案
第2题
函数的值通过return语句返回,下面关于return语句的形式描述错误的是

A.return表达式;

B.return(表达式);

C.一个return语句可以返回多个函数值

D.一个return语句只能返回一个函数值

点击查看答案
第3题
当函数的返回类型为void型时,不需要写<表达式>,也可以不写return语句。()
点击查看答案
第4题
若主调函数为double型,被调函数定义中没有函数类型说明,而return语句中的表达式为double型,则被调函数返回值的类型是double型。()
点击查看答案
第5题
下列叙述中错误的是()。 A.用户定义的函数中可以没有return语句B.用户定义的函数中可

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

A.用户定义的函数中可以没有return语句

B.用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

C.用户定义的函数中若没有return语句,则应当定义函数为void类型

D.函数的return语句中可以没有表达式

点击查看答案
第6题
以下叙述中正确的是()A.在函数中必须要有return语句B.在函数中可以有多个return语句,但只执行其

以下叙述中正确的是()

A.在函数中必须要有return语句

B.在函数中可以有多个return语句,但只执行其中的一个

C.return语句中必须要有一个表达式

D.函数值并不总是通过return语句传回调用处

点击查看答案
第7题
已知递归函数f的定义如下: int f(int n) { if(n <=1)return 1; //递归结束情况 else return n*f(

已知递归函数f的定义如下:

int f(int n)

{

if(n <=1)return 1; //递归结束情况

else return n*f(n-2); //递归}

则函数调用语句f(5)的返回值是【 】。

点击查看答案
第8题
请在函数fun()的横线上填写若干表达式,使从键盘上输入一个整数n,输出n对应的斐波那契数列。斐波那

请在函数fun()的横线上填写若干表达式,使从键盘上输入一个整数n,输出n对应的斐波那契数列。斐波那契数列是一整数数列,该数列自第三项开始,每数等于前面两数之和,即0,1,1,2,3,5,8,13,21,34,55,…。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

include<stdio.h>

int fun(int n);

main()

{

int i,n=0;

scanf("%d",&n);

for(i=0;i<n; i++)

printf("%d",fun(i));

}

int fun(int n)

{

if(【 】)

return 0;

else

if(【 】)

return 1;

else

return【 】;

}

点击查看答案
第9题
有关return语句说法不正确的是()。A.系统默认的返回值类型为整型,故当函数的返回值为int型时,在函

有关return语句说法不正确的是()。

A.系统默认的返回值类型为整型,故当函数的返回值为int型时,在函数定义时,返回值的类型说明可以省略

B.当函数有返回值时,凡是允许表达式出现的地方,都可以调用该函数

C.当函数没有返回值时,函数的返回值类型可以说明为void型,它表示“无类型”或“空类型”

D.函数的返回值类型必须与return语句中的表达式值的类型一致,但C语言也允许不同;这时,系统以函数定义时的返回值类型说明为准,并自动地将return语句中表达式的值转换为函数的返回值类型

点击查看答案
第10题
(8 )已知递归函数 f 的定义如下:int f(int n){if (n <= 1) return 1; // 递归结束情况else r

(8 )已知递归函数 f 的定义如下:

int f(int n)

{

if (n <= 1) return 1; // 递归结束情况

else return n * f(n-2); // 递归 }

则函数调用语句 f(5) 的返回值是 【 8 】 。

点击查看答案
第11题
能保证对所有的参数能够结束的递归函数是A.int f(int n){if(n<1)return 1;else return n*f(n+1);

能保证对所有的参数能够结束的递归函数是

A.int f(int n){if(n<1)return 1;else return n*f(n+1);}

B.int f(int n){if(n>1)return 1;else return n*f(n-1);}

C.int f(int n){if(abs(n)<1)return 1;else return n*f(n/2);}

D.int f(int n){if(n>1)return 1;else return n*f(n*2);)

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改