更多“如果函数需要返回值,则可以使用()将值进行返回”相关问题
  • 第1题:

    在函数的返回值类型与返回值表达式类型的描述中,错误的是( )。

    A.函数返回值的类型是在定义函数时确定的,在函数调用时是不能改变的

    B.函数返回值的类型就是返回值表达式的类型

    C.函数返回值的类型与返回值类型不同时,函数表达式类型应转换成返回值类型

    D.函数返回值的类型决定了返回值表达式的类型


    正确答案:B

  • 第2题:

    将“引用”作为函数返回值类型的格式、好处和需

    要遵守的规则?


    正确答案:

     

    格式:类型标识符 &函数名(形参列表及类型说明)
    { //函数体}
    好处:在内存中不产生被返回值的副本;(注意:
    正是因为这点原因,所以返回一个局部变量的引用
    是不可取的。因为随着该局部变量生存期的结束,
    相应的引用也会失效,产生runtime error!
    注意事项:
    (1)不能返回局部变量的引用。这条可以参照
    Effective C++[1]的Item 31。主要原因是局部变量会
    在函数返回后被销毁,因此被返回的引用就成为了
    "无所指"的引用,程序会进入未知状态。
    (2)不能返回函数内部new 分配的内存的引用。
    这条可以参照Effective C++[1]的Item 31。虽然不
    存在局部变量的被动销毁问题,可对于这种情况
    (返回函数内部new 分配内存的引用),又面临其
    它尴尬局面。例如,被函数返回的引用只是作为一
    个临时变量出现,而没有被赋予一个实际的变量,
    那么这个引用所指向的空间(由new分配)就无法
    释放,造成memory leak。
    (3)可以返回类成员的引用,但最好是const。这
    条原则可以参照Effective C++[1]的Item 30。主要
    原因是当对象的属性是与某种业务规则(business
    rule)相关联的时候,其赋值常常与某些其它属性
    或者对象的状态有关,因此有必要将赋值操作封装
    在一个业务规则当中。如果其它对象可以获得该属
    性的非常量引用(或指针),那么对该属性的单纯
    赋值就会破坏业务规则的完整性。
    (4)流操作符重载返回值申明为“引用”的作用:
    流操作符<<和>>,这两个操作符常常希望被连续使
    用,例如:cout << "hello" << endl; 因此这两个操
    作符的返回值应该是一个仍然支持这两个操作符
    的流引用。可选的其它方案包括:返回一个流对象
    和返回一个流对象指针。但是对于返回一个流对
    象,程序必须重新(拷贝)构造一个新的流对象,
    也就是说,连续的两个<<操作符实际上是针对不同
    对象的!这无法让人接受。对于返回一个流指针则
    不能连续使用<<操作符。因此,返回一个流对象引
    用是惟一选择。这个唯一选择很关键,它说明了引
    用的重要性以及无可替代性,也许这就是C++语言
    中引入引用这个概念的原因吧。赋值操作符=。这
    个操作符象流操作符一样,是可以连续使用的,例
    如:x = j = 10;或者(x=10)=100;赋值操作符的返回值
    必须是一个左值,以便可以被继续赋值。因此引用
    成了这个操作符的惟一返回值选择。
    例3
    #i nclude <iostream.h>
    int &put(int n);
    int vals[10];
    int error=-1;
    void main()
    {
    put(0)=10; //以put(0)函数值作为左值,等价于
    vals[0]=10;
    put(9)=20; //以put(9)函数值作为左值,等价于
    vals[9]=20;
    cout<<vals[0];
    cout<<vals[9];
    }
    int &put(int n)
    {
    if (n>=0 && n<=9 ) return vals[n];
    else { cout<<"subscript. error"; return error; }
    }
    (5)在另外的一些操作符中,却千万不能返回引
    用:+-*/ 四则运算符。它们不能返回引用,Effective
    C++[1]的Item23详细的讨论了这个问题。主要原因
    是这四个操作符没有side effect,因此,它们必须构
    造一个对象作为返回值,可选的方案包括:返回一
    个对象、返回一个局部变量的引用,返回一个new
    分配的对象的引用、返回一个静态对象引用。根据
    前面提到的引用作为返回值的三个规则,第2、3
    两个方案都被否决了。静态对象的引用又因为((a+b)
    == (c+d))会永远为true而导致错误。所以可选的只
    剩下返回一个对象了。

  • 第3题:

    请教:2012年3月全国计算机等级《二级C语言》模拟试题(1)第2大题第8小题如何解答?

    【题目描述】

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

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

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

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

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

     


     

    正确答案:D

     

     

  • 第4题:

    当不需要函数返回任何值时,则需要使用保留字void作为函数的返回值类型。()

    A

    B



  • 第5题:

    关于函数的返回值,以下描述中错误的是() 

    • A、如果函数定义中有返回值,那么函数中就必须保证任何情况下都能通过return语句返回一个值,否则编译时会出错
    • B、一个函数中只能有一条return语句,而且它必须位于函数的最后一行
    • C、如果函数定义中没有返回值,那么这个函数就不能用return语句返回
    • D、如果函数定义中有返回值,那么这个函数就必须通过return语句返回一个值
    • E、函数通过return语句返回值

    正确答案:B,C

  • 第6题:

    如果将一个函数的返回值类型说明为void,则表示()

    • A、该函数可以返回任意类型的值
    • B、该函数不能返回任何值
    • C、该函数可以返回基本类型的值
    • D、该函数是main函数,是程序运行的起点

    正确答案:B

  • 第7题:

    以返回值的角度,函数分为()

    • A、系统函数
    • B、无返回值函数
    • C、有返回值函数
    • D、自定义函数

    正确答案:B,C

  • 第8题:

    如果函数没有使用return语句,则函数返回的是?()

    • A、0
    • B、None
    • C、任意整数
    • D、报错!函数必须要有返回值。

    正确答案:B

  • 第9题:

    Inputbox函数的返回值是()类型,Msgbox函数的返回值是() 类型。


    正确答案:字符;数值

  • 第10题:

    单选题
    如果要从函数返回值,必须使用哪个关键词?()
    A

    continue

    B

    break

    C

    return

    D

    exit


    正确答案: B
    解析: 暂无解析

  • 第11题:

    单选题
    以下关于return语句的描述,错误的是()
    A

    如果不带返回值,那么只需要return语句本身

    B

    如果退出时要带一个返回值,只需要把返回值放到return后面就行了

    C

    函数可以随意决定是否带返回值,无需事先定义

    D

    return语句的作用是退出当前的函数,回到原先调用它的程序处


    正确答案: D
    解析: 暂无解析

  • 第12题:

    单选题
    重载函数是()
    A

    以函数参数来区分,而不用函数的返回值来区分不同的函数

    B

    以函数的返回值来区分,而不用函数参数来区分不同的函数

    C

    参数表完全相同而返回值类型不同的两个或多个同名函数

    D

    参数表和返回值类型都必须是不同的两个或多个同名函数


    正确答案: C
    解析: 暂无解析

  • 第13题:

    如果函数没有返回值,对于函数的返回值说明可以是( )。

    A.可能没有返回值说明

    B.用void说明

    C.用const说明

    D.返回值可以是任意类型


    正确答案:B
    解析:如果函数没有返回值,则对于函数的返回值说明用void。

  • 第14题:

    在一个被调用函数中,关于return语句使用描述,( )是正确的。

    A.函数返回值的类型是在定义函数时确定,在函数调用时是可能改变的

    B.函数返回值的类型就是返回值表达式的值

    C.函数返回值的类型决定了返回值表达式的类型

    D.函数返回值的类型可以与返回值表达式的类型不一致


    正确答案:C
    解析:函数返回值的类型决定了返回值表达式的类型。

  • 第15题:

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

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

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

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

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


    正确答案:D

  • 第16题:

    程序中对fun函数有如下说明void*fun();此说明的含义是()

    • A、fun函数无返回值
    • B、fun函数的返回值可以是任意的数据类型
    • C、fun函数的返回值是无值型的指针类型
    • D、指针fun指向一个函数,该函数无返回值

    正确答案:C

  • 第17题:

    能否利用返回值对函数进行重载()。

    • A、不行,因为Java并未明确要求函数的返回值必须赋给变量
    • B、可以,因为返回值也是函数的重要组成部分
    • C、可以,但要求一个函数有返回值,另一个函数没有返回值
    • D、不行,Java系统无法区分仅返回值不同的函数,编译时会报错
    • E、可以,但仅能用于返回值为简单变量的情况

    正确答案:A,D

  • 第18题:

    如果函数不要求带回值,可用()来定义函数返回值为空


    正确答案:void

  • 第19题:

    以下关于return语句的描述,错误的是()  

    • A、如果不带返回值,那么只需要return语句本身
    • B、如果退出时要带一个返回值,只需要把返回值放到return后面就行了
    • C、函数可以随意决定是否带返回值,无需事先定义
    • D、return语句的作用是退出当前的函数,回到原先调用它的程序处

    正确答案:C

  • 第20题:

    函数LEN(STR(12345678901))的返回值是();函数LEN(DTOC(DATE()))的返回值为()。


    正确答案:10;8

  • 第21题:

    判断题
    当不需要函数返回任何值时,则需要使用保留字void作为函数的返回值类型。()
    A

    B


    正确答案:
    解析: 暂无解析

  • 第22题:

    单选题
    如果函数需要返回值,则可以使用()将值进行返回
    A

    break

    B

    continue

    C

    exit

    D

    return


    正确答案: B
    解析: 暂无解析

  • 第23题:

    单选题
    如果函数没有使用return语句,则函数返回的是?()
    A

    0

    B

    None

    C

    任意整数

    D

    报错!函数必须要有返回值。


    正确答案: B
    解析: 暂无解析

  • 第24题:

    填空题
    如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回值为()。

    正确答案: None
    解析: 暂无解析