您现在的位置:学赛首页 > 计算机等级考试 > 复习资料 > 正文
二级C++重点难点分析:函数[2]
http://www.educity.cn 作者:希赛IT教育研发中心 来源:希赛网 2007年7月11日 发表评论 进入社区
结果类型和函数定义的时候不一致,会进行一个强制转化,转化成定义时的类型。
    第二种主要针对void形函数,不返回任何值,只是表明函数结束。在void函数中,可以没有return语句,这个时候执行到函数的最后一条语句结束。
    例如:
    int min(int a, int b)
    {
        return (a > b) ? b : a;
    }
    void printErrorInfo()
    {   
        std::cout<<"wrong parameters"<<std::endl;
    }
    几点说明:
    ① 对于有返回值的函数,必须确保函数在每个分支都有返回值。
    ② 函数最多只能返回一个值,如果想返回多个值,可以通过后面讲述的传引用和地址来实现。
    ③ 不能在函数内部在定义函数,但是可以调用。

       例10.1.1  下列关于C++函数的叙述中,正确的是(   )。[2005年9月 选择第11题]
    A.每个函数至少要具有一个参数    B.每个函数都必须返回一个值
    C.函数在被调用之前必须先声明    D.函数不能自己调用自己
    答案:C

    10.1.2  考点2:函数的调用
    

    在函数定义以后,就可以被调用,一般形式如下:
    <函数名>(实参表)
    其中函数名就是定义的函数名称,实参表必须和形参表一一对应,当没有形参的时候,实参为空。
    函数调用的方法可以分成以下几种。

    ① 语句调用。对一些没有返回值的函数,如上面所说的printErrorInfo,它只是实现某种功能,不需要返回,这时就可以作为一个独立的语句出现。例如:
    printErrorInfo();

    ② 表达式调用。作为表达式的一部分,比如最常见的赋值表达式,但是不能对无返回值的函数这样操作,将出现编译错误。例如:
    int minInt = min(3,5); //对的
    int a = printErrorInfo(); //错误的

    ③ 作为参数,作为一个函数的参数,只要把有返回值的函数认为成一个变量就比较好理解。例如,利用min来求三个数字中最小的一个,如下所示:
    int minInt = min(1,min(2,3));

       例10.1.2  如果有如下函数int max(int a ,int b)和void printMessage(char *str)下面描述正确的是(   )。
    A.可以这样调用函数printMessage();
    B.int a = max(100,max(10,100));
    C.int b = max(100,10) + printMessage("Hello,world");
    D.printMessage(100);
    解析:选项A中需要字符数组或者字符串作为参数,选项C中printMessage是void型,不能用于加法,选项D中实参和形参类型不对。
    答案:B
  本章节内容来自希赛全国计算机等级考试用书《计算机等级考试考点分析、题解与模拟——二级C++语言》。(购书请见 :http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10032460

[1]  [2]