预测以下代码片段的输出结果:() function add(i) { var k = i+10; alert(k); } ; function add(i) { var k = i+20; alert(k); } ; add(10);A、40B、20C、30D、程序出错

题目

预测以下代码片段的输出结果:() function add(i) { var k = i+10; alert(k); } ; function add(i) { var k = i+20; alert(k); } ; add(10);

  • A、40
  • B、20
  • C、30
  • D、程序出错
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序的运行结果是()。includedefine ADD(x)x+xmain(){int m=1,n=2,k=3; int s=ADD

下列程序的运行结果是( )。 #include<stdio.h> #define ADD(x)x+x main() { int m=1,n=2,k=3; int s=ADD(m+n)*k; printf("s=%d",s); }

A.sum=18

B.sum=10

C.sum=9

D.sum=25


正确答案:B
解析: 本题考查带参数的宏的定义及相关运算:s=m+n+m+n*k=1+2+2*3=10。

第2题:

有如下程序:

Private Sub Command1_Click()

Dim k As Integer, m As Integer

Dim p As Integer

k=4: m=1

p=PC(k, m) : Print p;

p=PC(k, m) : Print p

End Sub

Private Function PC(a As Integer, b As Integer)

Static m As Integer, i As Integer

m=0: i=2

i=i + m + 1

m=i + a + b

PC=m

End Function

程序运行后,输出的结果为( )。

A.4 6

B.6 6

C.8 8

D.10 12


正确答案:C

第3题:

有以下程序

int add( int a,int b){ return (a+b); }

main()

{ int k, (*f)(), a=5,b=10;

f=add;

}

则以下函数调用语句错误的是

A)k=(*f)(a,b);

B)k=add(a,b);

C)k= *f(a,b);

D)k=f(a,b);


正确答案:C
答案 C
解析: 在语句 “ k=*f(a,b) ” 中,由于 “ ( ) ” 的优先级高于 “ * ” ,所以 “ *f(a,b); ” 表示其返回类型为指针的带有两个整型参数的函数。

第4题:

如果Add函数的调用代码为:func main() {var a Integer = 1var b Integer = 2var i interface{} = asum := i.(Integer).Add(b)fmt.Println(sum)}则Add函数定义正确的是()

A.type Integer intfunc (a Integer) Add(b Integer) Integer { return a + b}

B.type Integer intfunc (a Integer) Add(b *Integer) Integer { return a + *b}

C.type Integer intfunc (a *Integer) Add(b Integer) Integer { return *a + b}

D.type Integer intfunc (a *Integer) Add(b *Integer) Integer { return *a + *b}


参考答案:A

第5题:

以下用户自定义函数 Function Func(a As Integer,b As Integer)As Integer Static m As Integer.i As Integer m=0:i=2 i=i+m+i m=i+a-i-b Func=m End Function 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim k As Integer,m As Integer,p As Integer k=4:m=1 P=Func(k,m) Print P End Sub 程序运行后,单击命令按钮,输出结果为

A.8

B.9

C.10

D.11


正确答案:A

第6题:

有以下程序 iht add (int a, int b) {return(a+b);} mian() {int k,(*f)(),a=5,b=10; f=add; … } 则以下函数调用语句错误的是______。

A.k=(*f)(a,b);

B.k=add(a,b);

C.k=*f(a,b);

D.k=f(a,b);


正确答案:C
解析:此题定义了指向函数的指针变量f指向了函数add的入口地址,所以,要调用函数,可以通过函数名(选项B的形式)或函数指针变量(选项A、D的形式)调用即可,而选项C中是先进行函数调用,然后对调用后返回的整型值求其指针值,事实上,对常量求指针值是不合理的,所以选项C错误。

第7题:

有以下程序: int add(int a,intB){return(a+B);} main() { int k,(*f)(),a=5,b=10; f=add; } 则以下函数调用语句错误的是( )。

A.k=(*f)(a,B);

B.k=add(a,B);

C.k=*f(a,B);

D.k=f(a,B);


正确答案:C

第8题:

下列程序的输出结果是非曲直【 】。includeclass base{ int x, y;public: base(int i,

下列程序的输出结果是非曲直【 】。

include<iostream, h>

class base

{

int x, y;

public:

base(int i, int j){x=i; y=j;}

virtual int add(){return x+ y;}

};

class three: public base

{

int z;

public:

three(int i, int j, int k) :base(i, j){z=k; }

int add() { return (base:: add()+z); }

};

void main()

{

three * q=new three(lO,20,30);

cout<<q->add()<<end1;

}


正确答案:60
60 解析:本题考察继承中子类对父类的继承方式,注意子类的add成员函数,它直接使用了父类的成员函数进行运算。

第9题:

(28)阅读下列程序: Private Sub Commandl_Click() Dim i As Integer,k As Integer k=2 For i=1 To 3 PrintH(K); Next i End Sub Function H(j As Integer) Static b a=0 a=a+1 b=b+1 H=a*b+jEnd Function 单击命令按钮,执行程序,输出结果是A.2 3 4 B.3 4 5 C.5 6 7 D.3 5 6


正确答案:B
【解析】函数H中定义了一个静态变量b,被Static修饰的变量,其生命周期为程序的整个执行过程,所以它能够累计记录三次调用函数H的变化。第1次调用H函数后,b值为1,函数的返回值3;第2次b值为2,函数的返回值4;第3次b值为3,函数的返回值5。

第10题:

有如下程序: Private Sub Command1_Click() Dim k As Integer,m As Integer Dim p As Integer k=4:m=1 p=PC(k,m):Print p; p=PC(k,m):Print p End Sub Private Function PC(a As Integer,b As Integer) Static m As Integer,i As Integer m=0:i=2 i=i + m + 1 m=i + a + b PC=m End Function 程序运行后,输出的结果为

A.4 6

B.6 6

C.8 8

D.10 12


正确答案:C
解析:在Sub过程中,程序段先定义了3个Integer型变量k,m,P,并给k赋给初值4,m的初值为1,然后调用事件过程PC,并将它的值赋给p;在事件过程PC中定义了两个形参,参数的传送是通过引用实参,即将k,m的地址作为a,b的地址;在PC中,将m,I定义为静态变量,所以第一次调用后的值仍然保留,但是m,I分别都有赋值语句,将它们的值变为0,2,所以返回值不变。

更多相关问题