对下列程序的描述中,正确的是()。includeusing namespace std;int Fun(int,int);int m 对下列程序的描述中,正确的是( )。 #include<iostream> using namespace std; int Fun(int,int); int main() { cout<<Fun(5,50)<<end1; return 0; }

题目
对下列程序的描述中,正确的是()。includeusing namespace std;int Fun(int,int);int m

对下列程序的描述中,正确的是( )。 #include<iostream> using namespace std; int Fun(int,int); int main() { cout<<Fun(5,50)<<end1; return 0; } int Fun(int x,int y) { return x*x+y*y; }

A.该函数定义正确,但函数调用方式错误

B.该函数调用方式正确,但函数定义错误

C.该函数的定义和调用方式都是正确的

D.该函数的定义和调用方式都是错误的

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

如下程序的输出结果是______。 include using namespace std; int funl(int x){retu

如下程序的输出结果是______。

include<iostream>

using namespace std;

int funl(int x){return++x;}

int fun2(int&x){return++x;}

int main( ){

int x:1,y=2;

Y=funl(fun2(x));

cout<<x<<','<<y;

return 0;

}


正确答案:23
2,3

第2题:

有以下程序: include using namespace std; constxntN=5; int fun(char*s,char a,int

有以下程序:

include <iostream>

using namespace std;

const xnt N=5;

int fun(char *s,char a,int n)

{

int j;

*s=a;j=n;

while(a<s[j])

j--;

return j;

}

int main()

{

char s[N+1];

int k;


正确答案:3
3 解析:函数fun()的功能是在字符数组s中找到大于或等于字符a第1个元素,并返回其下标值。在主函数中,通过for循环给字符数组s分别赋值B、C…J。然后通过调用函数fun(),找到字符'E'的位置。

第3题:

有如下程序 include using namespace std; int i=1; class Fun {

有如下程序 #include <iostream> using namespace std; int i=1; class Fun { public: static int i; int value( ){ return i-l;} int value( )const { return i+1;} }; int Fun::i=2; int main( ){ int i=3; Fun funl; const Fun fun2; ___________ return 0; } 若程序的输出结果是: 123 则程序中下划线处遗漏的语句是

A.cout<<funl.value( )<<Fun::i<<fun2.value( );

B.cout<<Fun::i<<funl.value()<<fun2.value( );

C.cout<<funl.value( )<<fun2.value( )<<Fun::i;

D.cout<<fun2.value( )<<Fun::i<<fun1.value( );


正确答案:A
解析:本题主要考查的是常成员函数。const关键字可以用于参与对重载函数的区分。重载的原则是:常对象调用常成员函数,一般对象调用一般成员函数。当类中只有一个常成员函数时,一般对象也可以调用该常成员函数。由此可见,通过fun1调用value()函数时,是调用前一个,而通过fun2调用value()函数,是调用后一个。另外,value()函数中访问的i是类中定义的数据成员i,全局变量i在类中被“屏蔽”。观察4个选项不难发现,要输出的表达式来来去去只有3个:fun1.value()、fun2.value()和Fun::i。fun1.value()调用的是前一个value()函数,输出i-1,这里的i是Fun类的成员i,即等于2-1=1。fun2.value()调用的后一个value()函数,输出i+1=2+1=3。 Fun::i是通过类名直接访问类的静态数据成员i的值,即2。所以正确的输出顺序应该是:fun1.value(),Fun::i,fun2.value()。故应该选择A。

第4题:

下列程序的输出结果是______。 include using namespace std; void fun(int &rf) {

下列程序的输出结果是______。

include<iostream>

using namespace std;

void fun(int &rf)

{

rf*=2;

}

int main()

{

int num=500;

fun(num);

cout<<num<<endl;

return 0;

}


正确答案:1000
1000 解析:本题考核引用作为函数参数的使用。引用作为形参时,它实际上就是实参,函数对形参的访问和修改就是对实参的访问和修改,题中函数fun对形参的操作是自增2倍,所以经过函数调用后,实参的值自增2倍,即输出1000。

第5题:

以下程序的输出结果是【】。 include using namespace std; void fun() {static int a=0

以下程序的输出结果是【 】。

include <iostream>

using namespace std;

void fun()

{

static int a=0;

a+=2;

cout<<a;

}

int main()

{

int CC;

for(CC=1;cc<4;CC++)

fun();

cout<<end1;

return 0;

}


正确答案:246
246 解析:本题考核函数调用和静态变量。在主函数中通过一个for循环调用了3次fun()函数。第1次调用fun()函数时,a的初始值为0,执行语句“a+=2;”后, a的值为2,输出2;第2次调用时,a的初始值为2,执行语句“a+=2;”后,a的值为4,最后输出4:第3次调用时,a的初始值为4,执行语句“a+=2:”后,a的值为6,最后输出6。

第6题:

有如下程序:includeusing namespace std;long fun(int n){if(n>2)return(fun(n-1)+fu

有如下程序: #include<iostream> using namespace std; long fun(int n) { if(n>2) return(fun(n-1)+fun (n-2)); else return 2; } int main() { cout<<fun(3)<<end1; return 0; } 则该程序的输出结果应该是 ( )。

A.2

B.3

C.4

D.5


正确答案:C
解析:主函数中调用fun(3),在fun内部当n>2时,递归调用 fun(n-1)+fun(n-2),否则返回2。所以当n=3时,调用fun(2)+fun(1),即返回2+2,等于4。

第7题:

下面程序的输出结果是【】。 include using namespace std; int d=1; fun(int p){ stati

下面程序的输出结果是【 】。

include <iostream>

using namespace std;

int d=1;

fun(int p){

static int d = 5;

d+ =p;

cout<<d;

return (d) ;

}

void main ( ) {

int a =3;

cout<<fun ( a + fun (d) )<<endl;

}


正确答案:61515
61515 解析:先调用fun(d),d=1执行,局部静态变量d的值为6,输出6,返回值为6;再调用 fun(a+fun(d)),即fun(9)执行,静态局部变量的值为15,输出15,返回值为15;最后再执行 main方法中的输出语句,输出fun(a+fun(d))的值15。所以程序输出结果为61515。

第8题:

如有下程序:includeusing namespace std;long fun(int n){if(n>2)return(fun(n-1)+fu

如有下程序: #include<iostream> using namespace std; long fun(int n) { if(n>2) return(fun(n-1)+fun(n-2)); else return 2; } int main() { cout<<fun(3)<<endl; return 0; } 则该程序的输出结果应该是( )。

A.2

B.3

C.

D.5


正确答案:C
解析: 主函数中调用fun(3),在fun内部当n>2时,递归调用fun(n-1)+fun(n-2),否则返回2。所以当n=3时,调用fun(2)+fun(1),即返回2+2,等于4,

第9题:

阅读下面程序: include using namespace std; int fun(int a,int b) {int c;c = a *

阅读下面程序:

include <iostream>

using namespace std;

int fun( int a, int b)

{

int c;

c = a * b;

return c;

}

int main ( )

{

int a = 3, b = 5, c = 4, x = O;

x = fun( fun( a, b ), c );

cout<<x<<end1;

return 0;

}

其运行结果是【 】。


正确答案:60
60 解析:本题主要考察C++中函数的调用和变量作用域的问题。主函数中嵌套调用fun()函数,并将计算结果赋给变量x。而对于嵌套内fun()函数,其实参与形参名称相同,函数体内部的局部变量c也与主函数内的变量c名称相同,但由于形参与实参在存储区域里分别占有不同的内存空间,因此互相之间没有任何干扰。函数fun()的作用是返回形参a和b的乘积。由此可以得到函数嵌套调用的计算结果为: x=fun(fun(a,B) ,C) =(a*B) *c=3*4*5=60。即程序输出为60。

第10题:

有以下程序:includeusing namespace Std;inta;int fun();int main(){ externinta; in

有以下程序: #include <iostream> using namespace Std; int a; int fun(); int main() { extern int a; int b; a = 100; b = fun(); cout<<b<<end1; return 0; } int fun() { extern int a; return (10*A); } 其程序运行后的输出结果是( )。

A.100

B.10

C.1000

D.10000


正确答案:C
解析:本题考核外部变量的使用。先来了解外部变量:外部变量用关键词extern表示。由于外部变量可以被程序中的所有函数共同访问,其作用域为全局,因此也称为全局变量。对于外部变量而言,“定义变量”和“说明变量”是两个不同的概念。定义a为外部变量是告诉编译程序,a是一个外部变量,并要求系统为a分配一个固定的永久存储空间。a的值在整个程序的运行期间都存在,只有当定义它的程序运行结束时,它的存储空间才释放。外部变量定义后,当程序中的函数要引用外部变量时,应在函数中作引用说明。在此程序中,在第二行定义了一个外部变量a,主函数给外部变量赋的初始值为100,当调用函数fun()时,外部变量a的值传到函数fun()中,因此函数所返回的值为100*10=1000。

更多相关问题