计算机二级

若有以下变量和函数说明:includecharCh='*';void sub(int x,int y,char ch,double*若有以下变量和函数说明: #include<iostream.h> charCh='*'; void sub(int x,int y,char ch,double*Z) { switch(ch) { case'+':*Z=x+y;break; case'-':*Z=x-y;break: case'*':*Z=x*y;break; case'/':*z=x/y;break: }

题目
若有以下变量和函数说明:includecharCh='*';void sub(int x,int y,char ch,double*

若有以下变量和函数说明: #include<iostream.h> charCh='*'; void sub(int x,int y,char ch,double*Z) { switch(ch) { case'+':*Z=x+y;break; case'-':*Z=x-y;break: case'*':*Z=x*y;break; case'/':*z=x/y;break: } } 以下合法的函数调用语句是( )。

A.sub(10,20,Ch,y);

B.sub(1.2+3,2*2,'+',&Z);

C.sub(sub(1,2,'+',&y),sub(3,4'+',&x),'-',&y);

D.sub(a,b,&x,ch);

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

第1题:

若主函数有变量定义:int x=1 ; double y=2.3 ; 且有合法的函数调用语句f (y , x); 则下列关于函数f的原型声明中一定错误的是 。

A.void f(double, int);

B.int f(int , int);

C.int f(double, double);

D.void f(double, int, int);


void f(double, int, int);

第2题:

若有以下变量和函数说明:includecharCh='*'; void sub (int x,int y,char ch,doubl

若有以下变量和函数说明: #include<iostream.h> charCh='*'; void sub (int x,int y,char ch,double*Z) { switch(ch) { case'+':*Z=x+y;break: case'-':*Z=x-y;break: case'*':*Z=x*y; break: case'/':*Z=X/y;break; } } 以下合法的函数调用语句是(

A.sub(10,20,Ch,y);

B.sub(1.2+3,2*2,'+',&Z);

C.sub(sub(1,2,'+',&y),sub(3,4'+',&x),'-',&y);

D.sub(a,b,&x,ch);


正确答案:B

第3题:

若有以下函数首部:

int fun(double x[10],int*n)

则下面针对此函数的函数声明语句中正确的是( )。

A.int fun(double,int);

B.int fun(double木,int*);

C.int mn(double*x,int n);

D.int fun(double x,intint*n)


正确答案:B
函数声明的一般形式为:“类型说明符被调函数名(类型形参,类型形参,……);”或“类型说明符被调函数名(类型,类型,……);”由于函数首部为intfun(doublex[10],int*n),因此B选项正确。

第4题:

设有以下函数:

voidfun(intn,char}s){……}

则下面对函数指针的定义和赋值均正确的是( )。

A.void(*pf)(int,char);pf=&fun;

B.void+pf( );pf=fun;

C.void*pf( );*pf=fun;

D.void(*pf)(int,char*);pf=fun;


正确答案:D
函数的参数可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。函数名代表函数的人口地址,指向函数的指针应该定义为void(+pf)()。如果定义为void·pf(),则表示函数pf返回值为一个基类型为void的指针。因此D选项正确。

第5题:

若有以下函数首部 int fun(double x[10],int *n) 则下面针对此函数的函数声明语句中正确的是

A.int fun(double x,int *n);

B.int fun(double ,int);

C.int fun(double *x,int n);

D.int fun(double *,int *);


正确答案:C
解析: 函数首部int fun(double x[10],int *n)表示这个函数的返回值是整型,其第一个形式参数是一个双精度型的一维数组,第二个参数是一个整型指针。在C语言中,一维数组的名字表示的是一维数组的地址,所以选项C)是正确的。

第6题:

若有以下函数首部 int fun(double x[lO],int *n) 则下面针对此函数的函数声明语句中正确的是______。

A.int fun(double x, int *n);

B.int fun(double, int);

C.int fun(double *x, int n);

D.iht fun(double*,int*);


正确答案:D
解析:函数声明可以照写已定义的函数的首部,再加一个号就成为了对函数的声明,在函数声明中也可以不写形参名,而只写形参的类型,但要保证与函数首部写法上的—致,即函数类型、函数名、参数个数、参数类型和参数顺序相同。字符数组可用指针来表示,所以选顶D正确。

第7题:

若有以下函数首部

int fun (double x[10],int *n)

则下面针对此函数的函数声明语句中正确的是

A.int fun(double x, int *n);

B.int fun(double , int);

C.int fun(double *x, int n);

D.int fun(double *, int *);


正确答案:C
解析:函数首部int fun(double x[10],int *n)表示这个函数的返回值是整型,其第一个形式参数是一个双精度型的一维数组,第二个参数是一个整型指针。在C语言中,一维数组的名字表示的是一维数组的地址,所以选项C)是正确的。

第8题:

若有以下函数首部: int fun(double x[10],int *n) 则下面针对此函数的函数声明语句中正确的是( )。

A.int fun(double x, int *n);

B.int fun(double, int);

C.int fun(double *x, int n);

D.int fun(double*, int*);


正确答案:D
解析:本题中的fun函数有两个参数,一个类型是double型一维数组,另—个是int型指针。而在C语言中,一维数组用作函数参数和该数组元素的指针类型是等价的。所以本题的正确答案是选项D。

第9题:

若有以下函数首部

int fun(double x[10], int *n)

则下面针对此函数的函数声明语句中正确的是

A)int fun(double x, int *n);

B)int fun(double , int );

C)int fun(double *x, int n);

D)int fun(double *, int *);


正确答案:D
答案 D
解析 : 函数首部 int fun(double x[10],int *n) 表示这个函数的返回值是整型,其第 1 个形式参数是一个双精度的一维数组,第 2 个参数是一个整型指针。在 C 语言中,一维数组的名字表示的是一维数组的地址,所以选项D是正确的。