设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是()。
第1题:
下列说法不正确的是
A.int *fun();----fun是一个返回int指针的函数
B.int (*fun)();---fun是一个返回int指针的函数
C.int (*array[5])();----array是一个有5个元素的数组,每一个元素都是一个函数指针,指向一个返回int的函数
D.int (*fun(int))(int);----fun是带有一个int参数的函数,返回值是一个函数指针,这个指针指向带有一个int参数并返回int的函数
第2题:
A、intm=max(22,max(59,70));
B、intm=max(max(22,59),70);
C、intm=max(22,59,70);
D、intm=max(59,max(22,70));
第3题:
下列函数定义中,会出现编译错误的是
A.max(int x,int y,int *z) { *z=x>y ? x:y; }
B.int max(int x,y) { int z; z=x>y ? x:y; return z; }
C.max(int x,int y) { int z; z=x>y?x:y; return(z); }
D.int max(int x,int y) { return(x>y?x:y); }
第4题:
请将以下程序中的函数声明语补充完整。
include<stdio.h>
int【 】
main()
{ int x,y,(*p)();
sccanf("%d%d",&x,&y);
p=max;
printf(%d\n",(*p)(x,y));
}
int max(int a,int b)
{return(a>b?a:b);}
第5题:
语句int(*ptr)的含义是( )。
A.ptr是一个返回值为int的函数
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
第6题:
下面函数的功能是找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回。#include <stdlib.h>#include <stdio.h>void fun(int a[ ],int n,int *max,int *d){ int i; *max=a[0]; *d=0; for(i=0;;i++) if(*max<) { *max=a[i];*d=i; }}
第7题:
下列函数定义不正确的是 ( )
A.int max { int x y,z; z=x>y? x: y }
B.int max(x,y) int x,y; { int z; z=x>y? x:y; return(z) }
C.int max(x,y) { int x,y z; z=x>y? x: y; return(z); }
D.int max( ) {}
第8题:
设int & max(int &,int &)返回两参数中较大者,如有两整型变量 int a=5;int b=10;在执行max(a,b)++后,a,b的值分别为
A.5,10
B.6,10
C.5,11
D.6. 11
第9题:
根据函数原型“int FF(int a[], int n)”,编写函数定义,计算并返回数组a[n]中所有元素之和。
略
第10题:
有函数int max(int x,int y){float z=2.5; return(z);则返回值是()
第11题:
定义语句int i,max;中,max未赋初值
赋值语句max=MIN;中,不应给max赋MIN值
语句if(max<x[i])max=x[i];中,判断条件设置错误
赋值语句max=MIN;放错了位置
第12题:
2
2.5
3
要看实参
第13题:
以下程序中的select()函数功能是:在N行M列的二维数组中选出一个最大值作为函数值返回,并通过形参传回此最大值的行下标。请填空完成此程序。
include<iostream>
define N 3
define M 3
using namespace std;
int select(int a[N][M],int *n)
{
int i,j,row=0,colum=0;
for(i=0;i<N;i++)
for(i=0;j<M;j++)
if(a[i][j]>a[row][colum])
{
row=i;
colum=j;
}
*n=【 】;
return 【 】;
}
int main()
{
int a[N][M]={9,11,23,6,1,15,9,17,20};
int max,n;
max=select(a,&n);
cout<<"max="<<max<<"line="<<n<<end1;
return 0;
}
第14题:
下列函数定义中,会出现编译错误的是 ______。
A.max(int x,int y,int *z) { *z=x>y? x:y;}
B.int max(int x,y) {int z; z=x>y? x;y; return z; }
C.max(int x,int y) { int z; z=x>y? x:y; return(z); }
D.int max(int x,int y) { return(x>y?x:y);}
第15题:
主调函数中的两个变量a和b,要求调用函数交换a、b的值,返回交换结果,则以下正确的函数是______。
A.funa(int*x,int*y) {int*p; *p=*x;*x=*y;*y=*p; }
B.funb(int x,int y) {int t; t=x;x:y=y=t;}
C.func(int*x,int*y) {*x=*y;*y=*x;}
D.fund(int *x,int*y) {*x=*x+*y;*y=*x-*y;*x=*x-*y;}
第16题:
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。
【函数2.1说明】
递归函数sum(int a[], int n)的返回值是数组a[]的前n个元素之和。
【函数2.1】
int sum (int a[],int n)
{
if(n>0) return (1);
else (2);
}
【函数2.2说明】
有3个整数,设计函数compare(int a,int b,int c)求其中最大的数。
【函数2.2】
int compare (int a, int b, int c )
{ int temp, max;
(3) a:b;
(4) temp:c;
}
【函数2.3说明】
递归函数dec(int a[],int n)判断数组a[]的前n个元素是否是不递增的。不递增返回 1,否则返回0。
【函数2.3】
int dec( int a[], int n )
{
if(n<=1) return 1;
if(a[0]<a[1]) return 0;
return (5);
}
第17题:
以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。
#d越lie MIN-2147483647
int findmax(int X[],int n)
{ int i,max;
for(i=0;i<n;i++)
{max=MIN;
if(max<x[i])max=x[i];}
return max;
}
造成错误的原因是
A.定义语句int i,max;中max未赋初值
B.赋值语句max=MIN;中,不应给max赋MIN值
C.语句if(max<x[i])max=X[i];中判断条件设置错误
D.赋值语句max=MIN;放错了位置
第18题:
编写函数int fun(int lim, int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio.h>
include<stdio.h>
define MAX 100
int fun(int lim, int se[MAX])
{
}
main()
{
int limit,i,sum;
int aa[MAX];
clrscr();
printf("输入一个整数");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0) /*每行输出10个数*/
printf("\n");
printf("%5d ",aa[i]);
}
}
第19题:
设存在函数 int sum(int,int)返回两个参数的和,若求20、45、100三个数的和,下列表达式不正确的是
【 】
A.int m=sum(20,45,100) ;
B.int m=sum(sum(20,45),100);
C.int m=sum(20,sum(45,100));
D.int m=sum(45,sum(20,100));
第20题:
第21题:
根据函数原型"int MM(int a[],int m)",编写函数定义,计算并返回数组a[m]中元素最大值和最小值之差。
略
第22题:
声明一个参数为int型,返回值为long型的函数指针;声明类A的一个成员函数指针,其参数为int型,返回值long型。
第23题:
int m = max(22,max(59,70));
int m = max(max(22,59),70);
int m = max(22,59,70);
int m = max(59,max(22,70));