计算机二级

有如下程序文件mal.prg:SET UDFPARMS TO VALUEn=1DO procl WITH n?n+2PROCEDURE proc lPARAMETERS mFOR k=2T04m=m+kENDFORRETURN在命令窗口输入DO ma1命令后,程序的输出结果是( )。A)12B)11C)10D)3

题目

有如下程序文件mal.prg:

SET UDFPARMS TO VALUE

n=1

DO procl WITH n

?n+2

PROCEDURE proc l

PARAMETERS m

FOR k=2T04

m=m+k

ENDFOR

RETURN

在命令窗口输入DO ma1命令后,程序的输出结果是( )。

A)12

B)11

C)10

D)3

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

第1题:

已知有下面的过程

Private Sub proc1(a As Integer,b As String,Optional x As Boolean)

……

End Sub

正确调用此过程的语句是( )。

A.Call procl(5)

B.Call proc1 5,”abc”,False

C.proc1(12,”abc”,True)

D.proc1 5, “abc”


正确答案:D

第2题:

请编写函数proc,其功能是:计算并输出下列多项式值。 S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n) 例如,若主函数从键盘给n输入20后,则输出为S= 0.680803。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。 试题程序: include t:stdio.h> double proc(int n) { } void main { int n; double slim; printf("\nInput n:"); scanf("%d",&n); sum=proc(n)。 printf("\ns=%f\n",sum); }


正确答案:

double proc(int n)
{
int i;
double s=0.0; //s为其和的变量
for(i=1;i<=n;i+十)
S=s+(1.0/(2*i-1)-1.O/(2*i)); //计算s
=(1-1/z)+(1/3-1/4)+…+(1/(2n-1)-1/
2n)
return s; //最后把所得到的和返回到主函数中
}
【解析】由题目中所给表达式可知,多项式的值为n项表达式的和。可以利用n次循环求出n项表达式的值,求和放在变量s中。最后将多项式的值返回到主函数当中。

第3题:

有以下程序

#include <string.h>

main( int argc, char *argv[ ])

{ int i=1,n=0;

while (i< argc) {n=n+strIen ( angv[i ] ) ;i++; }

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

}

该程序生成的可执行文件名为: proc.exe 。若运行时输入命令行:

proc 123 45 67

则程序的输出结果是

A)3

B)5

C)7

D)11


正确答案:C
答案 C
解析:在 “ proc 123 45 67 ” 输入命令行中带有 4 个参数,所以 argc 等于 4 ,主函数中的循环语句执行 3 次 。 第一次 argv[1] 的长度为 3 , 第二次 argv[2] 的长度为 2 , 第三次 argv[3] 的长度为 2 。 所以最后变量 n 的长度为 7 。

第4题:

( 23 )已知有下面的过程( )

Private Sub proc1 ( a As Integer,b As String,Optional x As Boolean )

……

End Sub

正确调用此过程的语句是

A ) Call procl ( 5 )

B ) Call proc1 5, ” abc ” ,False

C ) proc1 ( 12, ” abc ” ,True )

D ) proc1 5, “ abc ”


正确答案:D

第5题:

已知有下面过程: Private Sub proc1(a As Integer,b As String,Optional x As Boolean) ...... End Sub 正确调用此过程的语句是______。

A.Call procl(5)

B.Call procl 5,"abc",False

C.procl(12,"abc",True)

D.procl 5,"abc"


正确答案:D
解析:Visual Basic中,可以直接使用过程名调用过程,也可以结合Call关键字调用。使用Call调用过程时,参数列表必须用圆括号括起。其形式为:子过程名 [参数列表]
Call子过程名 ([参数列表])

第6题:

使用VC6打开考生文件夹下的工程ms9_1,此工程包含一个源程序文件test9_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

4,5

20

源程序文件test9_1.cpp清单如下:

include<iostream.h>

class A

{

protected:

int n,m;

public:

void set(int a,int b){m=a; n=b;)

void show(){cout<<m<<","<<n<<endl;)

/**********found*********/

}

class B:public A

{

int s;

public:

void set(){s=m*n;)

void shows(){cout<<s<<endl;)

};

void main()

{

B b;

/**********found**+******/

b.set();

b.show();

b.set();

/*********found**********/

b.show();

}


正确答案:(1)错误:} 正确:}; (2)错误:b.set(); 正确:b.A::set(45); (3)错误:b.show(); 正确:b.shows();
(1)错误:} 正确:}; (2)错误:b.set(); 正确:b.A::set(4,5); (3)错误:b.show(); 正确:b.shows(); 解析:(1)主要考查考生对类定义格式的掌握,类的结尾应该使用“;”;
(2)主要考查考生对基类与派生类函数调用关系的掌握,根据所要求的输出结果,应该调用的函数为类A的set,而不是类B自身的set函数,应该避免调用的二义性;
(3)主要考查考生对继承与派生的理解,由所要求输出结果可知正确:b.shows()。

第7题:

若要在子过程Procl调用后返回两个变量的结果,下列过程定义语句中有效的是( )。

A.Sub Proc1(n,m)

B.Sub Proc1(ByVal n,m)

C.Sub Proc1(n,BYVal m)

D.Sub Proc1(ByVal n,ByVal m)


正确答案:A
解析: 本题考查的是VBA过程调用、参数传递。过程定义时,如果形式参数被说明为传值(ByVal项),则过程调用只是相应位置实参的值“单向”传递给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。由于这个过程,数值的传递只有单向性,故称为“传值调用”的“单向”作用形式。反之,如果形式参数被说明为地址(ByRef),则过程调用是将相应位置实参的地址传给形参处理,而被调用过程内部对形参的任何操作引起形参值的变化又会反而影响实参的值。在这个过程中,数值的传递具有双向性,故称为“传址调用”的“双向”作用形式。ByRef是VBA的省略选项。本题中要求在子过程Proc1调用后返回两个变量的结果,因此采用的是“传址调用”,故为Sub Proc1(n,m)。

第8题:

( 33 )若要在子过程 Procl 调用后返回两个变量的结果,下列过程定义语句中有效的是

A Sub Procl(n,m)

B Sub Procl(ByVal n,m)

C Sub Procl(n,ByVal m)

D Sub Procl(ByVal n,ByVal m)


正确答案:A

第9题:

有以下程序 include main(int argc, char *argv[]) {int

有以下程序 #include <string.h> main(int argc, char *argv[]) {int i=1,n=0; while(i<argc) {n=n+strlen(argv[i]);i++;} printf("%d\n",n); } 该程序生成的可执行文件名为:proc.exe。若运行时输入命令行: proc 123 45 67 则程序的输出结果是______。

A.3

B.5

C.7

D.11


正确答案:C
解析:main()可以带有参数,并且参数只能有两个,第一个参数(argc)类型为整型用来记下命令行的参数个数,第二个参数(argv)为—个字符型指针数组,其各个元素用来记下命令行各参数字符串的首地址。此题执行时,argc的值为4,在循环中依次使用strlen()函数求出argv(1)、argv(2)、argv(3)指向的字符串(123、45、67)的长度并把他们加到变量n中,得到n的值为7。

第10题:

若要在子过程Procl调用后返回两个变量的结果,下列过程定义语句中有效的是______。

A.Sub Procl(n, m)

B.Sub Procl(ByVal n, m)

C.Sub Procl(n, ByVal m)

D.Sub Procl(ByVal n, ByVal m)


正确答案:A
解析:过程定义时,如果形式参数被说明为传值(ByVal项),则过程调用只是相应位置实参的值“单向”传递给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。由于这个过程中,数值的传递只有单向性,故称为“传值调用”的“单向”作用形式。反之,如果形式参数被说明为地址(ByRef),则过程调用是将相应位置实参的地址传给形参处理,而被调用过程内部对形参的任何操作引起形参值的变化又会反而影响实参的值。在这个过程中,数值的传递具有双向性,故称为“传址调用”的“双向”作用形式。ByRef是VBA的缺省选项。本题中要求在子过程Procl调用后返回两个变量的结果,因此采用的是“传址调用”,故为Sub Procl(n, m)。

更多相关问题