有如下程序:    int func(int a,int b)      {return(a+b);)      main()      {      int x=2,y=5,z=8,r;     r=func(fune(x,y),z);     printf(”%d\n”,r);}    该程序的输出的结果是()A、12B、13C、14D、15

题目

有如下程序:    int func(int a,int b)      {return(a+b);)      main()      {      int x=2,y=5,z=8,r;     r=func(fune(x,y),z);     printf(”%d\n”,r);}    该程序的输出的结果是()

  • A、12
  • B、13
  • C、14
  • D、15

相似考题
更多“有如下程序:    int func(int a,int b)      {return(a+b);)      main()      {      int x=2,y=5,z=8,r;     r=func(fune(x,y),z);     printf(”%d\n”,r);}    该程序的输出的结果是()A、12B、13C、14D、15”相关问题
  • 第1题:

    以下程序执行后的输出结果是( )。include usingnamespacestd;void try(int,int,int,in

    以下程序执行后的输出结果是( )。 #include <iostream> using namespace std; void try(int,int,int,int); int main ( ) { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = X*X; y = y*y; r = z+x+y; }

    A.18

    B.9

    C.10

    D.不确定


    正确答案:D
    解析:本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。下面是正确解答。根据程序逐步分析:①程序中定义了一个名为try的void型函数,即函数try()没有任何返回值。②而try()函数在主函数中是以一条独立语句的方式被调用的,且主函数最后输出变量r的值。③但在主函数中,并没有对变量r赋值。④在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以,虽然在函数try()中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

  • 第2题:

    有如下程序 int func(int a,int B) { return(a+B) ; } main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r); } 该程序的输出结果是_____。

    A.12

    B.13

    C.14

    D.15


    正确答案:D
    解析:调用函数func(x,y),返回x+y,即7;再调用函数func(7,z),返回7+z,即15。

  • 第3题:

    下列程序的输出结果是_____。int func(int a,int b){ return(a+b);} main(){ int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%\d\n",r);}

    A.12

    B.13

    C.14

    D.15


    正确答案:D

  • 第4题:

    若有程序: fun(int a,int b) { static int c=0; c+=a+b: return c; } main() { int x=5,y=3,z=7,r; r=fun((y,x+y),z); r=fun(x,y); printf("%d\n",r); } 上面程序的输出结果是______。

    A.23

    B.15

    C.19

    D.18


    正确答案:A
    解析:static声明的外部变量只限于被本文件引用,而不能被其他文件引用。用static来声明一个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在:②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第一个fun,其两个实参的值为(3.5+3)与7即8与7,在函数fun执行结束返回15。第二次调用fun时,由于static为静态类型,其值保留,执行fun(5,3)后,其返回值为23,故选A。

  • 第5题:

    有以下程序 fun(int a,int b) { if(a>b) return(a) ; else return(b) ; } main() { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); Printf("%d\n",r); } 程序运行后的输出结果是

    A.3

    B.6

    C.8

    D.12


    正确答案:D
    解析:主函数中首先定义了4个整型变量x、y、z和r,并分别给x、y、z赋初值为3、8、6,接着调用一个fun()函数,并将返回值赋给变量r。其中将fun(x,y)函数的返回值和2*z作为fun()函数的两个参数。在内层fun(x,y)函数中,将x的值和y的值传给形参a和b,此时a和b的值分别为3和8,执行if语句,由于if后面判断条件表达式“a>b”为假,所以执行else后面的语句,返回值为8。此时,外层fun(x,y)函数两个参数为8和2*z=12,所以,的赋值语句相当于r=fun(8,12),同上分析可知fun(8,12)返回值为 12,因此最后r的值为12。

  • 第6题:

    有如下程序 int func(int a,int b) { return(a+b); } main() { int x=3,y=6,z=7,r; r=func(func(x,y),z); printf("%\d\n",r); }该程序的输出的结果是______。

    A.14

    B.15

    C.16

    D.17


    正确答案:C

  • 第7题:

    若有程序 fun(int a,int b} { static int c=0; c+=a+b; return c; } main() { int x=5,y=3,z=7,r, r=fun(y,x+y),z); r=fun(xy); printf("%d\n",r); } 上面程序的输出结果是_____。

    A.23

    B.15

    C.19

    D.18


    正确答案:A
    解析:static声明的外部变量只限于彼本文件引用,而不能被其他文件引用。用static来声明一个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第一个fun,其两个实参的值为(3,5+3)与7即8与7,在函数fun执行结束返回15。第二次调用fun时,由于static为静态类型,其值保留,执行fun(5,3)后,其返回值为23,故选A。

  • 第8题:

    阅读下面程序:include fun (int a, int b){int c;c=a+b;return c;}void main(){int

    阅读下面程序:#include <iostream.h>fun (int a, int b){int c;c=a+b;return c;}void main(){int x=6, y=7, z=8, r;r=fun( (x--, y++, x+y), z--);cout<<r<<end1;}则该程序的输出结果是( )。

    A.11

    B.20

    C.21

    D.31


    正确答案:C

  • 第9题:

    阅读下面程序:includefun(int a,int b){int c;c=a+b;return c;}void main(){int x=

    阅读下面程序: #include<iostream.h> fun(int a,int b) { int c; c=a+b; return c; } void main() { int x=6,y=7,z=8,r; r=fun((x--,y++,x+y),z--); cout<<r<<endl; } 则该程序的输出结果是( )。

    A.11

    B.20

    C.21

    D.31


    正确答案:C

  • 第10题:

    若有程序 fun(int a,int b) { static int c=0; c+=a+b; rerurn c; } main() { int x=5,y=3,z=7,r; r=fun(y,x+y),z); r=fun(x,y); printf("%d\n",r); } 上面程序的输出结果是______。

    A.23

    B.15

    C.19

    D.18


    正确答案:A
    解析:static声明的外部变量只限于被本文件引用,而不能被其他文件引用。用static来声明—个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第—个fun,其两个实参的值为(3,5+3)与7即8与7,在函数fun执行结束返回15。第二次调用fun时,由于static为静态类型,其值保留,执行fun(5,3)后,其返回值为23,故选A。

  • 第11题:

    单选题
    有以下程序#includeint fun(int a,int b){ return a+b;}main(){ int x = 6,y=7,z = 8,r; r = fun(fun(x,y),z--); printf(%d,r);}程序运行后的输出结果是(  )。
    A

    15

    B

    21

    C

    20

    D

    31


    正确答案: B
    解析:
    函数的嵌套调用,fun函数的作用是计算两个整数的和,r=fun(fun(x, y), z--)等价于:temp=fun(x,y),r=fun(temp, z--),则temp=fun(6, 7)=13, 然后r=fun(13,8)=21,最后执行z--,得到z = 7。答案选择B选项。

  • 第12题:

    单选题
    有如下程序 int func(int a,int b) { return(a+b); } main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d/n",r); } 该程序的输出结果是()
    A

    12

    B

    13

    C

    14

    D

    15


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

  • 第13题:

    有如下程序:includeint func(int a,int b){return(a+b):}main(){int x=2,y=5,z=8,r; r

    有如下程序: #include <stdio.h> int func(int a,int b) { return(a+b):} main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r); } 该程序的输出结果是( )。

    A.12

    B.13

    C.14

    D.15


    正确答案:D
    解析:在表达式r=func(func(x,y),z)中,func(x,y)是第一次调用函数,它的返回值7作为func函数第二次调用的实参,结果为15。

  • 第14题:

    有以下程序

    fun(int a, int b)

    { if(a>b) return(a);

    else return(b);

    }

    main( )

    { int x=3, y=8, z=6, r;

    r=fun(fun(x,y), 2*z);

    printf("%d\n", r);

    }

    程序运行后的输出结果是

    A.3

    B.6

    C.8

    D.12


    正确答案:D
    解析:此题考查了带返回值的函数的调用。fun()函数的功能是求出两个数的最大数并返回主函数r=fun(fun(x,y),2*z)处。执行过程为先调用函数fun(x,y)求得两数中的较大者,再进行自身的递归调用,此时函数中的两个参数为刚求得的数和2*z(即12)传递给子函数,找出两数中的大数。

  • 第15题:

    有如下程序:includeint func(int a, int b){return(a+b) ;}void main( ){int x=2,y

    有如下程序: #include<iostream.h> int func(int a, int b) { return(a+b) ;} void main( ) { int x=2,y=5,z=8,r; r=func(func(x,y) ,z) ; cout < < r; } 该程序的输出的结果是

    A.12

    B.13

    C.14

    D.15


    正确答案:D
    解析:在语句r=func(func(x, y) ,z) ;中,fun(x, y) 是一次调用函数,它的值作为func另一次调用的实参。注意本题调用两次函数。

  • 第16题:

    若有程序 fun(int a,int b) { static int c=0 c+=a+b; retum c; } main () { int x=5,y=3,z=7,r; r=fun((y,x+y),z); r=fun(x,y); printf("%d\n",r); } 上面程序的输出结果______。

    A.23

    B.15

    C.19

    D.18


    正确答案:A
    解析:static 声明的外部变量只限于被本文件引用,而不能被其他文件引用 static来声明—个变量的作用有:①对局部变量用 static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第—个fun,其两个实参的值为(3,5+3)与7即8与7,在函数fun执行结束返回15。第二次调用fun时,由于static为静态类型,其值保留,执行fun(5,3)后,其返回值为23,故选A。

  • 第17题:

    有如下程序includeint func(int a,int b){return(a+b);}void main(){ int x=2,y=5,

    有如下程序 #include<iostream.h> int func(int a,int b) {return(a+b);} void main() { int x=2,y=5,z=8,r; r=func (func (x,y),z); cout<<r; 该程序的输出的结果是

    A.12

    B.13

    C.14

    D.15


    正确答案:D
    解析:语句r=time(func(x,y),z);中,fun(x,y)是一次凋用函数,它的值作为func另一次调用的实参。注意本题调用两次函数。

  • 第18题:

    有如下程序 int func(int a,int b) {return (a+b);} main() { int x=2,y=5,z=8,r; r=func(fnnc(x,y),z); printf("%d\n",r); } 该程序的输出结果是______。

    A.12

    B.13

    C.14

    D.15


    正确答案:D

  • 第19题:

    请读程序:includefunc(int a,int b) { int c; c=a+b; return c;}main(){ int x=6,y=7,

    请读程序: #include<stdio.h> func(int a,int b) { int c; c=a+b; return c; } main(){ int x=6,y=7,z=8,r, r=func((x-,y++,x+y),z-); printf("%d\n",r); } 上面程序的输出结果是_______。

    A.11

    B.20

    C.21

    D.31


    正确答案:C
    解析:函数func()的作用是返回两个形参的和,第一个形参是x、y分别自减和自增后的和,其中(x-,y++,x+y)是一个逗号表达式,它的值应该等于x+y,所以整个表达式(x-,y++,x+y)的值为13,而第二个形参的值为8(根据语法规则,应当先使用,后自增),所以func()的返回值为13+8=21。

  • 第20题:

    以下程序执行后的输出结果是include using namespace std;void try(int,int,int,int)

    以下程序执行后的输出结果是 #include <iostream> using namespace std; void try(int,int,int,int); int main () { int x,y,z,r; x =1 ; y = 2; try(x,y,z,r); cout<<r<<endl; return 0; } void try(int x,int y,int z,int r) { z = x+y; x = x*x; y = y*y; r = z+x+y; }

    A.18

    B.9

    C.10

    D.不确定


    正确答案:D
    解析:本题考核函数调用(参数的传递)。本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。以下是正确解答,根据程序逐步分析:程序中定义了一个名为try的void型函数,即函数try没有任何返回值。而try函数在main函数中是以一条独立语句的方式被调用的,且main函数最后输出变量r的值。但在main函数中,并没有对变量r赋值。在c++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以虽然在函数try中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

  • 第21题:

    请读程序:includefunc(int a, int b){int c; c=a+b; return c;}main(){int x=6,y=7,z=

    请读程序: #include <stdio.h> func(int a, int b) { int c; c=a+b; return c; } main() { int x=6,y=7,z=8,r; r=func((x--,y++,x+y),z--); printf("%d\n",r); 上面程序的输出结果是( )。

    A.11

    B.20

    C.21

    D.31


    正确答案:C
    解析:函数func的作用是返回两个形参的和,第一个形参是x,y分别自减和自增后的和13,第二个形参的值为8(根据语法规则,应当先使用,后自增),所以func的返回值为13+8=21。

  • 第22题:

    有如下程序 int func(int a,int b) { return(a+b); } main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d/n",r); } 该程序的输出结果是()

    • A、12
    • B、13
    • C、14
    • D、15

    正确答案:D

  • 第23题:

    单选题
    有如下程序:    int func(int a,int b)      {return(a+b);)      main()      {      int x=2,y=5,z=8,r;     r=func(fune(x,y),z);     printf(”%d\n”,r);}    该程序的输出的结果是()
    A

    12

    B

    13

    C

    14

    D

    15


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