当前位置:文档之家› 第八章函数(5503)

第八章函数(5503)

第八章函数(5503)
第八章函数(5503)

1.以下叙述中不正确的是(C)。

A.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。

B.在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。

C.在C中,外部变量的隐含类别是自动存储类别。

D.在C中,函数形参可以说明为register变量。

2.C语言中规定函数的返回值的类型是由(D )。

A.return语句中的表达式类型所决定

B.调用该函数时的主调用函数类型所决定

C.调用该函数时系统临时决定

D.在定义该函数时所指定的函数类型所决定

3.以下所列的各函数首部中,正确的是(C)。

A. void play(var a:integer,var b:integer)

B. void play(int a,b)

C.void play(int a,int b)

D.sub play(a as integer,b as integer)

4. C 语言允许函数类型缺省定义,此时函数值隐含的类型是(B )。

A.float

B.int

C.long

D.double

5.以下函数调用语句中实参的个数是( A )。

exce((v1,v2),(v3,v4,v5),v6);

A.3

B.4

C.5

D.6

6.有参函数的返回值,是通过函数中的( A )语句来获得的。

A.return

B.printf

C.scanf

D.函数说明

7.以下语句错误的是( B)。

A.int x;

B.return x,y;

C.x=100;

D.return 0;

8.以下正确的说法是(A )。

A.实参和与其对应的形参各占用独立的存储单元

B.实参和与其对应的形参共占用一个存储单元

C.只有当实参和与其对应的形参同名时才共占用相同的存储单元

D.形参不占用存储单元

9.以下正确的函数定义是(C )。

A.double fun(int x,y)

B.double fun(int x ; int y)

C.double fun(int x , int y)

D.double fun(x , y)

10.若某个函数中没有返回值,则应在函数类型处写上关键字(A )。

A.void

B.int

C.float

D.double

11.C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是

(B )。

A.地址传递

B.单向值传递

C.由用户指定传递方式

D.实参传给形参,再由形参传给实参

12.C语言规定,函数返回值的类型是由( D)决定的。

A.return语句中的表达式类型

B.调用该函数时的主调函数类型

C.调用该函数时由系统临时

D.在定义函数时所指定的函数类型

13.若用数组名作为函数调用的实参,传递给形参的是(A )。

A.数组首元素的地址

B.数组中的全部元素的值

C.数组中第一个元素的值

D.数组元素的个数

14.若有以下定义int f(int x),则变量x为(B )。

A.全局变量

B.局部变量

C.静态变量

D.非法变量

15.一个源文件中定义的全局变量的作用域为(D )。

A.本文件全部范围

B.本程序全部范围

C.本函数全部范围

D.从定义开始至本文件结束

16.在一个C语言程序中(B)。

A.main函数必须出现在所有函数之前

B.main函数可以在任何地方出现

C.main函数必须出现在所有函数之后

D.main函数必须出现在固定位置

17.以下不正确的描述为(D)。

A.不同函数中可以使用相同名字的变量

B.形参是局部变量

C.一个函数内部定义的变量只能在本函数范围内有效

D.在一个内部的复合语句中定义的变量可以在本函数范围内有效

18.以下函数的类型是(C)。

fff(float x)

{ printf (“%d\n”,x*x);}

A.与参数X的类型相同

B.void型

C.int型

D.无法确定

19.以下函数调用语句中,含有的实参个数是(B)。

Func((exp1,exp2),(exp3,exp4,exp5));

A.1

B.2

C.4

D.5

20.C语言中,形参缺省的存储类别是(A)。

A.auto(自动)

B.static(静态)

C.register(寄存器)

D.extern(外部)

21.若x为int型变量,则以下函数fun的类型为(C)。

fun(x) { printf(“%d\n”,x);}

A.返回值为void类型

B.无法确定返回值

C.返回值为int类型

D.无返回值

22.以下叙述正确的是(A)。

A.C程序中各函数之间既允许直接递归调用,也允许间接递归调用

B.C程序中各函数之间不允许直接递归调用,也不允许间接递归调用

C.C程序中各函数允许直接递归调用,不允许间接递归调用

D.C程序中各函数之间不允许直接递归调用,允许间接递归调用

23.以下叙述中不正确的是(C)。

A.一个变量的作用域完全取决于变量定义语句的位置

B.全局变量可以在函数以外的任何部位进行定义

C.局部变量的“生存期”只限于本次函数调用,因此不可能将局部变量的运算结果保存至下一次调用

D.一个变量说明为static存储类别是为于限制其它编译单位的引用

24.以下叙述不正确的是(D)。

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

25.下列说法中正确的是(C)。

A.C语言程序总是从第一个定义的函数开始执行

B.在C语言程序中要调用的函数必须在main()函数中定义

C.C语言程序总是从main()函数开始执行

D.C语言程序中的main()函数必须在程序的开始部分

26.已知:static int a[3][4];则数组a中各元素(B)。

A.可在程序的运行阶段得到初值0

B.可在程序的编译阶段得到初值0

C.不能得到确定的初值

D.可在程序的编译或运行阶段得到初值0

27.一个完整的C源程序是(B )。

A.要由一个主函数或一个以上的非主函数构成

B.由一个且仅由一个主函数和零个以上的非主函数构成

C.要由一个主函数和一个以上的非主函数构成

D.由一个且只有一个主函数或多个非主函数构成

28.以下关于函数的叙述中正确的是( C)。

A.C语言程序将从源程序中第一个函数开始执行

B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

D.main可作为用户标识符,用以定义任意一个函数

29.以下关于函数的叙述中不正确的是(B )。

A.C程序是函数的集合,包括标准库函数和用户自定义函数

B.在C语言程序中,被调用的函数必须在main函数中定义

C.在C语言程序中,函数的定义不能嵌套

D.在C语言程序中,函数的调用可以嵌套

30.以下关于函数叙述中,错误的是( D)。

A.函数未被调用时,系统将不为形参分配内存单元

B.实参与形参的个数应相等,且实参与形参的类型必须对应一致

C.当形参是变量时,实参可以是常量、变量或表达式

D.形参可以是常量、变量或表达式

31.函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是

(D )。

A.实参将其地址传递给形参,并释放原先占用的存储单元

B.实参将其地址传递给形参,调用结束时形参再将其地址回传给实参

C.实参将其值传递给形参,调用结束时形参再将其值回传给实参

D.实参将其值传递给形参,调用结束时形参并不将其值回传给实参

32.若函数调用时,用数组名作为函数的参数,以下叙述中正确的是( A)。

A.实参与其对应的形参共用同一段存储空间

B.实参与其对应的形参占用相同的存储空间

C.实参将其地址传递给形参,同时形参也会将该地址传递给实参

D.实参将其地址传递给形参,等同实现了参数之间的双向值的传递

33.如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句

中定义了一个变量,则该变量(C )。

A.为全局变量,在本程序文件范围内有效

B.为局部变量,只在该函数内有效

C.为局部变量,只在该复合语句中有效

D.定义无效,为非法变量

34.若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量a,

则在另一文件中可使用的引用说明是(D )。

A.extern static float a;

B.float a;

C.extern auto float a;

D.extern float a;

35.定义一个void型函数意味着调用该函数时,函数( C)

A.通过return返回一个用户所希望的函数值

B.返回一个系统默认值

C.没有返回值

D.返回一个不确定的值

36.在C语言中,形参必须是( B )。

A. 常量

B. 变量

C. 数值

D. 表达式

37.C语言规定,程序中各函数之间(A )。

A.既允许直接递归调用也允许间接递归调用

B.不允许直接递归调用也不允许间接递归调用

C.允许直接递归调用不允许间接递归调用

D.不允许直接递归调用允许间接递归调用

38.若程序中定义函数 float myadd(float a, float b) { return a+b;} 并

将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是(A )。

A.float myadd( float a,b);

B.float myadd(float b, float a);

C.float myadd(float, float);

D.float myadd(float a, float b);

39.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( A )。

A.auto(自动)

B.static(静态)

C.register(寄存器)

D.extern(外部)

40.在一个C源程序文件中,若要定义一个只允许本源文件中所在函数使用的全

局变量,则该变量需要使用的存储类别是( B)。

A.auto(自动)

B.static(静态)

C.register(寄存器)

D.extern(外部

41.下面是求n!的递归函数,下划线处应选择( D)。

long func(int n )

{ long s=1;

if (n==0||n==1) return(s);

else s= ;

}

A.s

B.s*n

C.s*func(n-1)

D.n*func(n-1)

42.以下程序执行结果为( C)。

main()

{increment();

increment();

increment();

}

increment()

{static int x=0;

x+=1;

printf(“%d”,x);

}

A.111

B.222

C.123

D.333

43.以下程序的输出结果是(A)。

long fun(int n)

{ long s;

if(n==1||n==2)s=2;

else s=n-fun(n-1);

return s;}

main()

{ printf("%ld\n", fun(3)); }

A.1

B.2

C.3

D.4

44.有以下程序

int fun(int n)

{

if(n==1) return 1;

else

return(n+fun(n-1));

}

main()

{int x;

scanf("%d",&x);

x=fun(x);

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

}

执行程序时,给变量X输入10,程序的输出结果是(A)。

A.55

B.54

C.65

D.45

45.有以下程序

int fun(int x[],int n)

{static int sum=0,i;

for(i=0;i

return sum;

}

main()

{int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);

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

}

程序执行后的输出结果是(C)。

A.45

B.50

C.60

D.55

46.有以下程序

main()

{ char s[ ]= "abcde";

s+=2;

printf("%d\n",s[0]);

}

执行后的结果是(D)。

A.输出字符a的ASCII码

B.输出字符c的ASCII码

C.输出字符c

D.程序出错

47.main()

{ int x=3,i;

for(i=0;i<3;i++) printf("%d",f(x));

}

int f(int a)

{ int b=0;

static c=3;

b++;c++;

return(a+b+c);

}

执行此程序后屏幕上显示的结果是(D)。

A.8 10 10

B.7 9 10

C.8 9 11

D.8 9 10

48.下列程序段执行后,s的值是(A)。

static char ch[]="600";

int a,s=0;

for(a=0;ch[a]>='0'&&ch[a]<='9';a++) s=10*s+ch[a]-'0';

A.600

B.6

C.0

D.出错

49.有以下程序

#include "stdio.h"

int abc(int u,intv);

main ()

{ int a=24,b=16,c;

c=abc(a,b);

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

}

int abc(int u,int v)

{ int w;

while(v)

{ w=u%v; u=v; v=w }

return u;

}

输出结果是(C)。

A.6

B.7

C.8

D.9

50.以下程序的输出结果是(C)。

func(int a,int b)

{ int c;

c=a+b;

return c;}

main()

{int x=6,y=7,z=8,r=0;

r=func((x--,y++,x+y),z--);

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

A.11

B.20

C.21

D.31

51.下面程序段运行后的输出结果是(B )(假设程序运行时输入5,3回车)int a, b;

void swap( )

{ int t; t=a; a=b; b=t; }

main()

{ scanf("%d,%d", &a, &b);

swap( );

printf ("a=%d,b=%d\n",a,b);

}

A.a=5,b=3

B.a=3,b=5

C.5,3

D.3,5

52.以下程序运行后的输出结果是( D)。

fun(int a, int b)

{

if(a>b) return a;

else return b;

}

main()

{

int x=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

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

}

A.3

B.6

C.8

D.12

53.以下程序的运行结果是(C )。

void f(int a, int b)

{

int t; t=a; a=b; b=t; }

main()

{

int x=1, y=3, z=2;

if(x>y) f(x,y);

else if(y>z) f(x,z);

else f(x,z);

printf("%d,%d,%d\n",x,y,z);

}

A.1,2,3

B.3,1,2

C.1,3,2

D.2,3,1

54.以下程序的正确运行结果是(A )。

#inclued

main()

{

int k=4,m=1,p;

p=func(k,m);

printf(“%d”,p);

p=func(k,m);

printf(“%d\n”,p);

}

func(int a,int b)

{

static int m=0,i=2;

i+=m+1;

m=i+a+b;

return (m);

}

A.8,17

B.8,16

C.8,20

D.8,8

55.下列程序的执行结果为 ( C )

float f1(float x)

{

int k=2;

k=k*x;

return k;

}

void main()

{ float b=4.3; printf("%.1f",f1(b)); }

A.8.6

B.9.0

C.8.0

D.8

56.执行下列程序后, 变量a的值应为( A )

float f1(float x)

{return x+1.3;}

void main( )

{float a;

a=f1(2.4);

printf(“%f\n”,a);

}

A.3.700000

B.3

C.4

D.不确定

57.下面程序的输出是( D )

#include

void main()

{ char ss[10]="12345";

strcat(ss,"6789");

printf("%s\n",ss);

}

A.ABC

B.ABC9

C.123456ABC

D.123456789

58.程序的输出是( B )

int w=3;

void main()

{

int w=10;

printf("%d\n",fun(5)*w);

}

fun(int k)

{ if(k==0) return w; return(fun(k-1)*k); }

A.360

B.3600

C.1080

D.1200

59.若有以下函数调用语句:

fun(a+b,(x,y),fun(n+k,d,(a,b)));

在此函数调用语句中实参的个数是(A)

A.3

B.4

C.5

D.6

60.有一下程序

viod fun (int a,int b,int c) { a=456; b=567; c=678;} main()

{ int x=10, y=20,z=30;

fun (x,y,z);

printf("%d,%d,%d\n",x,y,z); } 输出结果是( B )

A.30,20,10

B.10,20,30

C.456,567,678

D.678,567,456

c语言第八章函数上机作业

第八章 通过本章实验作业应达目标 1. 掌握定义和调用函数的方法 2.掌握函数嵌套调用的方法 3.掌握通过“值传递”调用函数的方法 4.理解变量作用域和存在期的概念,掌握全局变量和局部变量,动态变量和静态变量的定义、说明和使用方法 本章上交作业 程序8_1.c、8_2.c、8_4.c、8_5.c上传至211.64.135.121/casp。 实验一判断素数的函数 【实验目的】 掌握用函数实现判断素数的方法。 【实验内容】 编写一个函数int prime(int a),判断参数是否为素数。函数有一个形参a,当a 为素数时,返回1,反之,返回0。以8_1.c命名本程序并上交。 函数声明如下: int prime( int a ); 主函数如下: #include #include void main ( ) { int a, b; printf("please input a number:\n"); scanf("%d", &a); b = prime( a ); if ( b = =1 ) printf("the number is a prime number."); else printf("the number is not a prime number."); } int prime( int a ) { …… }

实验二求最大公约数与最小公倍数 【实验目的】 熟练函数的嵌套调用。 【实验内容】 编写两个函数,分别求两个正整数的最大公约数和最小公倍数,结果作为函数返回值返回。在main函数中实现输入与输出。以8_2.c命名本程序并上交。 主函数如下: #include void main( ) { int gongyueshu( int a, int b ); int gongbeishu( int a, int b ); int a, b, c, d; printf("please input two integer numbers:"); scanf("%d%d", &a, &b); c=gongyueshu(a, b); d=gongbeishu(a. b); printf("gongyueshu is %d\n gongbeishu is %d",c,d); } int gongyueshu( int a, int b ) { ……} int gongbeishu( int a, int b ) { …… } 【实验提示】 可以在最小公倍数中嵌套调用最大公约数函数。最小公倍数=a*b/最大公约数 实验三求数组逆序的函数 【实验目的】 熟练掌握操作数组的方法及数组名作函数参数的使用方法。 【实验内容】 从键盘输入int型数组a[ 20 ]的20 个元素值,编写一个函数实现对数组元素数据的逆序放置。即第1个元素与第20个元素互换,第2个元素与第19个元素互换,……,第10个元素与第11个元素互换。请完善下述程序并以8_3.c命名本程序。 #include void main( ) { void nixu( int a[ ], int n ); /* 逆序函数声明 */

第八章多元函数微分法及其应用

第八章多元函数微分法及其应用 第一节多元函数的基本概念 教学目的:学习并掌握关于多元函数的区域、极限以及多元函数概念,掌握多元函数的连续性定理,能够判断多元函数的连续性,能够求出连续函数在连续点的极限。教学重点:多元函数概念和极限,多元函数的连续性定理。 教学难点:计算多元函数的极限。 教学内容: 一、区域 1.邻域 设P o(x°,y。)是xoy平面上的一个点,是某一正数。与点P o(X o,y°)距离小于:的 点p(x,y)的全体,称为点p的「?邻域,记为U(P0,、),即 U(P°,、)= {P PPo < }, 也就是 U (P o,、)= {(X, y)丨..(X -X。)2(y - y o)2、}。 在几何上,U(P o「J就是xoy平面上以点p o(x o,y。)为中心、:-0为半径的圆内部 的点P(x,y)的全体。 2.区域 设E是平面上的一个点集,P是平面上的一个点。如果存在点P的某一邻域U(P) E, 则称P为E的内点。显然,E的内点属于E。 如果E的点都是内点,则称E为开集。例如,集合E, ={(x, y)1 vx2+ y2£4}中每个点都是E,的内点,因此E,为开集。 如果点P的任一邻域内既有属于E的点,也有不属于E的点(点P本身可以属于E,也可以不属于E ),则称P为E的边界点。E的边界点的全体称为E的边界。例如上例中,E ,的边界是圆周x2 y2 = 1和x2 y2=4o

设D是点集。如果对于D内任何两点,都可用折线连结起来,且该折线上的点都属于 D,则称点集D是连通的。 连通的开集称为区域或开区域。例如,{(x, y) x + y a 0}及{( x, y)d 0}及{(x, y) | 1< x y <4} 都是闭区域。 对于平面点集E ,如果存在某一正数r,使得 E U(0,r), 其中0是原点坐标,则称E为有界点集,否则称为无界点集。例如,{(x,y) | K x2 y2< 4}是有界闭区域,{(x, y) | x y>0}是无界开区域。 二、多元函数概念 在很多自然现象以及实际问题中,经常遇到多个变量之间的依赖关系,举例如下: 例1圆柱体的体积V和它的底半径r、高h之间具有关系 V =二r2h 。 这里,当r、h在集合{(r,h) r 0,h 0}内取定一对值(r,h)时,V的对应值就随之确定。 例2 一定量的理想气体的压强p、体积V和绝对温度T之间具有关系 RT P =— V 其中R为常数。这里,当V、T在集合{(V,T) V >0,T >T0}内取定一对值(V,T)时,p的 对应值就随之确定。 定义1设D是平面上的一个点集。称映射 f : D》R为定义在D上的二元函数,通 常记为 z 二f(x, y) , (x, y) D (或z 二f(P) , P D )。 其中点集D称为该函数的定义域,x、y称为自变量,z称为因变量。数集

(完整word版)数据结构 第八章排序

第八章排序:习题 习题 一、选择题 1.在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是( )。 A.希尔排序 B.冒泡排序 C.插入排序 D.选择排序 2.设有1000个无序的记录,希望用最快的速度挑选出其中前10个最大的记录,最好选用( )排序法。 A.冒泡排序 B.快速排序 C.堆排序 D.基数排序 3.在待排序的记录序列基本有序的前提下,效率最高的排序方法是( )。 A.插入排序 B.选择排序 C.快速排序 D.归并排序’ 4.不稳定的排序方法是指在排序中,关键字值相等的不同记录的前后相对位置( )。 A.保持不变 B.保持相反 C.不定 D.无关 5.内部排序是指在排序的整个过程中,全部数据都在计算机的( )中完成的排序。 A. 内存储器 B.外存储器 C.内存储器和外存储器 D.寄存器 6.用冒泡排序的方法对n个数据进行排序,第一趟共比较( )对记录。 A.1 B.2 C.n-l D.n 7.直接插入排序的方法是从第( )个记录开始,插入前边适当位置的排序方法。 A.1 B.2 C.3 D.n 8.用堆排序的方法对n个数据进行排序,首先将n个记录分成( )组。 A.1 B.2 C.n-l D.n 9.归并排序的方法对n个数据进行排序,首先将n个记录分成( )组,两两归并。 A.1 B.2 C.n-l D.n 10.直接插入排序的方法要求被排序的数据( )存储。 A.必须是顺序 B.必须是链表 C.顺序或链表 D.二叉树 11.冒泡排序的方法要求被排序的数据( )存储。 A.必须是顺序 B.必须是链表 C.顺序或链表 D.二叉树 12.快速排序的方法要求被排序的数据( )存储。 A.必须是顺序 B.必须是链表 C.顺序或链表 D.二叉树 13.排序方法中,从未排序序列中依次取出记录与已排序序列(初始时为空)中的记录进行比较,将其放入已排序序列的正确位置上的方法,称为( )。 A.希尔排序 B.冒泡排序 C.插入排序 D.选择排序 14.每次把待排序的记录划分为左、右两个子序列,其中左序列中记录的关键字均小于等于基准记录的关键字,右序列中记录的关键字均大于基准记录的关键字,则此排序方法叫做( )。 A.堆排序 B.快速排序 C.冒泡排序 D. Shell排序 15.排序方法中,从未排序序列中挑选记录,并将其依次放入已排序序列(初始时为空)的一端的方法,称为( )。 A.希尔排序 B.归并排序 C.插入排序 D.选择排序 16.用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,记录序列的变化情况如下: (1) (25,84,21,47,15,27,68,35,40) (2) (20,15,21,25,47,27,68,35,84)

第八章函数有答案

试卷编号:313 所属语言:C语言 试卷方案:第八章函数 试卷总分:100分 共有题型:4种 一、填空共12题(共计48分) 第1题(分)题号:824 以下程序运行后输出结果为【1】.(2007年春江苏省二级C) #include"" int mystery(int a,int b) { if(b==1) retutn a; else return a+mystery(a,b-1); } void main() { int x=5,y=3; printf("%d\n",mystery(x,y));} 答案: =======(答案1)======= 15 说明:5+(5,2);5+5+(5,1);5+5+5 第2题(分)题号:820 以下程序运行时,输出结果是【1】.(2006年春江苏省二级C)

#include <> main() { int s,i,sum(int); for(i=1;i<=5;i++) s=sum(i); printf("%d\n", s); } sum(int k) { static int x=0; return x+=k; } 答案: =======(答案1)======= 15 说明:子函数中的x是static,所以是累加,x=0+1+2+3+4+5第3题(分)题号:823 以下程序运行后输出结果为【1】.(2007年春江苏省二级C) #include"" int a; int m(int a) { static int s; return(++s)+(--a);} void main() { int a=2; printf("%d",m(m(a)));}

数据结构第八章习题及答案

习题八查找 一、单项选择题 1.顺序查找法适合于存储结构为()的线性表。 A.散列存储 B. 顺序存储或链式存储 C. 压缩存储 D. 索引存储 2.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。 A. (n-1)/2 B. n/2 C. (n+1)/2 D. n 3.适用于折半查找的表的存储方式及元素排列要求为( ) A.链接方式存储,元素无序 B.链接方式存储,元素有序 C.顺序方式存储,元素无序 D.顺序方式存储,元素有序 4.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( ) A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减5.当采用分块查找时,数据的组织方式为 ( ) A.数据分成若干块,每块内数据有序 B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块 C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块 D. 数据分成若干块,每块(除最后一块外)中数据个数需相同 6.二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。这种说法()。 A.正确 B. 错误 7. 二叉查找树的查找效率与二叉树的((1) )有关, 在 ((2) )时其查找效率最低。 (1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置 (2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复杂。 8.如果要求一个线性表既能较快的查找,又能适应动态变化的要求,则可采用( )查找法。 A. 分快查找 B. 顺序查找 C. 折半查找 D. 基于属性 9.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )。 A.(100,80, 90, 60, 120,110,130) B.(100,120,110,130,80, 60, 90) C.(100,60, 80, 90, 120,110,130) D. (100,80, 60, 90, 120,130,110) 10.下图所示的4棵二叉树,( )是平衡二叉树。 (A)(B)(C)(D) 11.散列表的平均查找长度()。 A.与处理冲突方法有关而与表的长度无关 B.与处理冲突方法无关而与表的长度有关 C.与处理冲突方法有关且与表的长度有关 D.与处理冲突方法无关且与表的长度无关 12. 设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=key MOD 13,散列地址为1的链中有()个

第八章多元函数微分法及其应用

第八章 多元函数微分法及其应用 第一节 多元函数的基本概念 1、 平面点集、n 维空间、多元函数的概念,这些你如果不知道就看看。我下面的资料是从P7开始 的。 2、 在数轴上(一维空间),当0x x →时,只有两种趋近方式:一是x 从左边趋近于0x ,即0x x - →; 二是x 从右边趋近于0x ,即0x x + →。在平面直角坐标系中(二维空间),点(,)x y 趋近于点 00(,)x y 时,即00(,)(,)x y x y →的方式有无穷多种,例如,当(,)(0,0)x y →时,点(,)x y 既可 以沿x 正半轴趋于点(0,0)——这时(,)(0,0) lim (,)x y f x y →便可写成0 lim (,0)x f x + →,也可以沿x 负半轴趋于点(0,0)——这时(,)(0,0) lim (,)x y f x y →便可写成0 lim (,0)x f x - →;点(,)x y 既可以沿y 正半轴趋于点(0,0)——这时(,)(0,0) lim (,)x y f x y →便可写成0 lim (0,)y f y + →,也可以沿y 负半轴趋于点(0,0)——这时 (,)(0,0) lim (,)x y f x y →便可写成0 lim (0,)y f y - →;同时点(,)x y 也可以沿直线3y x =趋于点(0,0)——这时 (,)(0,0) lim (,)x y f x y →便可以写成0 lim (,3)x f x x →;也可以沿正弦函数图象sin y x =趋于点 (0,0)——这时 (,)(0,0) lim (,)x y f x y →便可以写成0 lim (,sin )x f x x →。我们应该意识到,点(,)x y 还可以 沿着一些不规则的路径趋于点(0,0)。这里说了这么多,就是要让你明白P7第二段中的“这里 0P P →表示点P 以任何方式趋于点0P ”这句话的涵义。 3、 对于多元函数的极限,特别是二元函数的极限,只需要了解它的定义,并且会求简单的二元函 数的极限,如本节例5、7、8这些题型。考研中,二元函数的极限的计算应该不会考到,重点是一元函数的极限的计算题。但是要会判断 (,)(0,0) lim (,)x y f x y A →≠这类题型,就是通过找一条特 殊路径求出它的极限不等于A 。如P8页给出的那个例题: 22 22 22,00,0 (,){ xy x y x y x y f x y +≠++== 4、 了解多元函数(二元函数)连续性的定义,后面的间断点、最大值最小值定理、介值定理看看 就行了。 5、 习题8——1第 6、7题,结合答案看看就行了。

第八章-函数-练习-参考答案

1.以下正确的说法是【】。 在c语言中: A)实参和与其对应的形参各占用独立的存储单元 B)实参相与其对应的形参共占用一个存储单元 C)只有当实参和与其对应的形参同名时才共占用存储单元 D)形参是虚拟的,不占用存储单元 2.c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是【】。 A. 地址传递 B. 由实参传给形参,再由形参传回给实参 C. 单向值传递 D. 由用户指定传递方式 3.以下程序有语法性错误。有关错误原因的正确说法是【】。 main() {int G=5,k; void prt_char(); ..... k=prt_char(G); .....} A)语句void prt_char();有错,它是函数调用语句,不能用void说明 B)变量名不能使用大写字母 C)函数说明和函数调用语句之间有矛盾 D)函数名不能使用下划线 4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是【】。 A)float型 B)void型 C)long型 D)double型 5.C语言规定,函数返回值的类型是由【】。 A)return语句中的表达式类型所决定 B)调用该函数时的主调函数类型所决定 C)调用该函数时系统临时决定 D)在定义该函数时所指定的函数类型所决定 6.下面函数调用语句含有实参的个数为【】 func((expl,exp2),(exp3,exp4,exp5)) A)1 B)2 C)4 D)5 7.以下正确的描述是【】。 在C语言程序中 A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套 C)函数的定义和函数的调用均不可以嵌套 D)函数的定义相函数的调用均可以嵌套

第八章(函数)

1. 将程序填写完整,使程序输出100到999之间所有能被7整除且左右对称的数。 例如:707就是满足条件的数。 #include #include void main() { /**/ void find(int m); /**/ int k; for(k=100; k<=999; k++) find( k ); getch(); } void find(int m) { int a,b; if(/**/ (m%7==0) /**/) { a=m%10; /**/ b=m/100; /**/ if(a==b) printf("%d\n",m); } } 2. 将程序填写完整,使其中函数chg能够将一个数组的元素循环左移1个位置,第一个元素存到末尾。 例如:数组元素为 1 2 3 4 5 6 7 8 9 10 则该数组元素循环左移后变为 2 3 4 5 6 7 8 9 10 1 #include #include void chg(/**/ int arr[],int n /**/ ) { int i,temp; temp=arr[0]; for(i=0; i

printf("%d ",a[i]); getch(); } 3. 将程序填写完整,用递归算法求13+23+33+…+n3的值。 #include #include long int fun(int n) { long int k; if(/**/ n==1 /**/ ) k=1; else k=/**/ fun(n-1)+n*n*n; /**/ return (k); } void main() { int i; printf("Input data:"); scanf("%d",&i); if(i<0) printf("Input data ereor!"); else printf("Sum=%ld\n",fun(i)); getch(); } 4.将程序填写完整,使其中函数chg能够求3*3矩阵的转置矩阵。 例如:矩阵 1 2 3 4 5 6 78 9 转置后变成: 1 4 7 2 5 8 3 6 9 #include #include int chg(/**/ int array[3][3] /**/) { int i,j,temp; for(/**/ i=0;i<3;i++ /**/)

数据结构第八章习题及答案教学提纲

数据结构第八章习题 及答案

习题八查找 一、单项选择题 1.顺序查找法适合于存储结构为()的线性表。 A.散列存储 B. 顺序存储或链式存储 C. 压缩存储 D. 索引存储 2.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。 A. (n-1)/2 B. n/2 C. (n+1)/2 D. n 3.适用于折半查找的表的存储方式及元素排列要求为( ) A.链接方式存储,元素无序 B.链接方式存储,元素有序C.顺序方式存储,元素无序 D.顺序方式存储,元素有序 4.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( ) A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减 5.当采用分块查找时,数据的组织方式为 ( ) A.数据分成若干块,每块内数据有序 B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块 C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成 索引块 D. 数据分成若干块,每块(除最后一块外)中数据个数需相同 6.二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。这种说法()。 A.正确 B. 错误 7. 二叉查找树的查找效率与二叉树的((1) )有关, 在 ((2) )时其查找效率最低。 (1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置 (2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复 杂。 8.如果要求一个线性表既能较快的查找,又能适应动态变化的要求,则可采用( )查找法。 A. 分快查找 B. 顺序查找 C. 折半查找 D. 基于属性9.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )。 A.(100,80, 90, 60, 120,110,130) B.(100,120,110,130,80, 60, 90) C.(100,60, 80, 90, 120,110,130) D. (100,80, 60, 90,120,130,110)

《数据结构》第八章习题参考答案 (1)

《数据结构》第八章习题参考答案 一、判断题(在正确说法的题后括号中打“√”,错误说法的题后括号中打“×”) 1、用邻接矩阵法存储一个图所需的存储单元数目与图的边数有关。( ×) 2、有e条边的无向图,在邻接表中有e个结点。(×) 3、强连通图的各顶点间均可达。(√) 4、无向图的邻接矩阵一定是对称矩阵,有向图的邻接矩阵一定是非对称矩阵。(×) 5、一个网(带权图)都有唯一的最小生成树。( ×) 6、最小生成树问题是构造连通网的最小代价生成树。( √) 7、关键路径是AOE网中从源点到终点的最长路径。(√) 8、在AOE图中,关键路径上活动的时间延长多少,整个工程的时间也就随之延长多少。(√) 9、n个顶点的完全有向图的边数为n(n-1)。(√) 10、稀疏图的存储结构采用邻接表比较合适。(√) 11、在图G的最小生成树T中,可能会有某条边的权值超过未选边的权值。(√) 二、单项选择题 1.具有4个顶点的无向完全(边数为n*(n-1)/2)图有(A)条边。 A.6 B.12 C.16 D.20 2.下列哪一种图的邻接矩阵是对称矩阵?(B) A.有向图B.无向图C.AOV网D.AOE网 3、在图采用邻接矩阵存储时,求最小生成树的Prim算法的时间复杂度为( C)。 A. O(n) B. O(n+e) C. O(n2) D. O(n3) 4、(1). 求从指定源点到其余各顶点的迪杰斯特拉(Dijkstra)最短路径算法中弧上权不能为负的原因是在实际应用中无意义; (2). 利用Dijkstra求每一对不同顶点之间的最短路径的算法时间是O(n3) ;(图用邻接矩阵表示) (3). Floyd求每对不同顶点对的算法中允许弧上的权为负,但不能有权和为负的回路。 上面不正确的是(A)。 A.(1),(2),(3) B.(1) C.(1),(3) D.(2),(3) 5、下列说法不正确的是( C )。 A.图的遍历是从给定的源点出发每一个顶点仅被访问一次 B.遍历的基本算法有两种:深度遍历和广度遍历 C.图的深度遍历不适用于有向图 D.图的深度遍历是一个递归过程 三、填空题

第八章 函数

第八章函数 一、选择题: 1、在C语言中,以下说法中正确的是:() A. 实参与其对应的形参各占用独立的存储单元 B. 实参与其对应的形参占用同一个存储单元 C. 只有当实参与形参同名时才占用同一个存储单元 D. 实参占用存储单元,但形参是虚拟的,不占用存储单元 2、以下正确的函数形式是:() A. double fun(int x, int y) { z=x+y; return z;} B. fun(int x,y) { int z; return z;} C. fun(x,y) { int x,y; double z; z=x+y; return z;} D. double fun(int x, int y) { double z; z=x+y; return z;} 3、以下正确的函数定义形式是() A. double fun(int x, int y) B. double fun(int x ;int y) C. d ouble fun(int x, int y); D. d ouble fun(int x,y); 4、定义为void类型的函数,其含义是() A. 调用函数后,被调用的函数没有返回值 B. 调用函数后,被调用的函数不返回 C. 调用函数后,被调用的函数的返回值为任意的类型 D. 以上三种说法都是错误的 5、定义C语言函数时,形参可以是:() A. 常量 B. 变量 C. 表达式 D. 宏定义 6、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是:() A. float型 B. int型 C. long型 D. double型 7、下面函数 f(double x) {printf(“%6d”,x);}的类型为: ( ) A. 实型 B. void 类型 C. int 类型 D. 均不正确 8、有以下程序 void f(int x,int y) { int t; if(x

《数据结构》习题汇编08_第八章_查找_试题

数据结构课程(本科)第七章试题 一、单项选择题 1.若搜索每一个元素的概率相等,则在长度为n的顺序表上搜索到表中任一元素的平均搜索长度为 ()。 A. n B. n+1 C. (n-1)/2 D. (n+1)/2 2.对长度为10的顺序表进行搜索,若搜索前面5个元素的概率相同,均为1/8,搜索后面5个元素的概 率相同,均为3/40,则搜索到表中任一元素的平均搜索长度为()。 A. 5.5 B. 5 C. 39/8 D. 19/4 3.对长度为3的顺序表进行搜索,若搜索第一个元素的概率为1/2,搜索第二个元素的概率为1/3,搜索 第三个元素的概率为1/6,则搜索到表中任一元素的平均搜索长度为()。 A. 5/3 B. 2 C. 7/3 D. 4/3 4.对长度为n的有序单链表,若搜索每个元素的概率相等,则顺序搜索到表中任一元素的平均搜索长度 为()。 A. n/2 B. (n+1)/2 C. (n-1)/2 D. n/4 5.对于长度为n的有序顺序表,若采用折半搜索,则对所有元素的搜索长度中最大的为()的值 的向上取整。 A. log2(n+1) B. log2n C. n/2 D. (n+1)/2 6.对于长度为n的有序顺序表,若采用折半搜索,则对所有元素的搜索长度中最大的为()的值 的向下取整加一。 A. log2(n+1) B. log2n C. n/2 D. (n+1)/2 7.对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为() 的值除以9。 A. 20 B. 18 C. 25 D. 22 8.对于长度为18的有序顺序表,若采用折半搜索,则搜索第15个元素的搜索长度为()。 A. 3 B. 4 C. 5 D. 6 9.对具有n个元素的有序顺序表进行折半搜索,则搜索任一元素的时间复杂度为()。 A. O(n) B. O(n2) C. O(1) D. O(log2n) 10.在一棵高度为h的具有n个元素的二叉搜索树中,搜索所有元素的搜索长度中最大的为()。 A. n B. log2n C. (h+1)/2 D. h+1 11.从具有n个结点的二叉搜索树中搜索一个元素时,在等概率情况下进行成功搜索的时间复杂度大致为 ()。 A. O(n) B. O(1) C. O(log2n) D. O(n2)

第八章多元函数微分学

第八章 多元函数微分学 【考试要求】 1.了解多元函数的概念、二元函数的几何意义及二元函数的极值与连续概念(对计算不作要求).会求二元函数的定义域. 2.理解偏导数、全微分的概念,知道全微分存在的必要条件与充分条件. 3.掌握二元函数的一、二阶偏导数的计算方法. 4.掌握复合函数一阶偏导数的求法. 5.会求二元函数的全微分. 6.掌握由方程(,,) 0F x y z =所确定的隐函数(,)z z x y =的一阶偏导数的计算方法. 7.会求二元函数的无条件极值. 【考试内容】 一、多元函数的概念 1.多元函数的定义 设D 是n 维空间的点集,如果对于每个点12(,,,)n P x x x D ∈L ,变量u 按照一定 法则总有确定的值与之对应,则称u 是变量1x 、2x 、L 、n x 的n 元函数(或点P 的函数),记为12(,,,)n u f x x x =L 或 ()u f P =. 当2n =时,即为二元函数的定义,一般记为(,)z f x y =. 2.二元函数的几何意义 设 D 是二元函数 (,) z f x y =的定义域,则空间点集 {(,,)(,),(,)}x y z z f x y x y D =∈称为二元函数(,)z f x y =的图形,一般情况 下,它在空间表示一张曲面. 二、二元函数的偏导数 1.一阶偏导数

设二元函数(,)z f x y =在点(,)x y 的某邻域内有定义,当自变量y 保持定值不变 时,若极限 0(,)(,) lim x f x x y f x y x ?→+?-? 存在,则称此极限值为函数(,)z f x y =在点(,)x y 处对x 的偏导数,记作 (,)x f x y ,z x ?? 或 x z ((,)x f x y ' 或 x z ' 也可) . 类似可定义函数(,)z f x y =在点(,)x y 处对y 的偏导数 (,)(,) lim y f x y y f x y y ?→+?-? , 记作 (,)y f x y , z y ?? 或 y z ((,)y f x y ' 或 y z ' 也可). 当00(,)(,)x y x y =时,称00(,)x f x y 为二元函数(,)z f x y =在点00(,)x y 处 对x 的偏导数值;类似地称00(,)y f x y 为二元函数(,)z f x y =在点00(,)x y 处对y 的 偏导数值. 2.二阶偏导数 设函数(,)z f x y =在区域D 内具有偏导数(,)x z f x y x ?=?,(,)y z f x y y ?=?, 那么在D 内 (,)x f x y 、(,)y f x y 都是x 、y 的函数,如果这两个函数的偏导数也存在, 则称它们是函数(,)z f x y =的二阶偏导数,按照对变量求解次序的不同有下列四个二阶 偏导数: 22(,)xx z z f x y x x x ?????== ??????,2(,)xy z z f x y y x x y ?????= = ???????, 2(,)yx z z f x y x y y x ?????== ???????,22(,)yy z z f x y y y y ?????== ??????. 其中第二、三个偏导数称为混合偏导数.如果函数(,)z f x y =的两个混合偏导数 2z x y ???

第八章函数(5503)

1.以下叙述中不正确的是(C)。 A.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。 B.在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。 C.在C中,外部变量的隐含类别是自动存储类别。 D.在C中,函数形参可以说明为register变量。 2.C语言中规定函数的返回值的类型是由(D )。 A.return语句中的表达式类型所决定 B.调用该函数时的主调用函数类型所决定 C.调用该函数时系统临时决定 D.在定义该函数时所指定的函数类型所决定 3.以下所列的各函数首部中,正确的是(C)。 A. void play(var a:integer,var b:integer) B. void play(int a,b) C.void play(int a,int b) D.sub play(a as integer,b as integer) 4. C 语言允许函数类型缺省定义,此时函数值隐含的类型是(B )。 A.float B.int C.long D.double 5.以下函数调用语句中实参的个数是( A )。 exce((v1,v2),(v3,v4,v5),v6); A.3 B.4 C.5 D.6 6.有参函数的返回值,是通过函数中的( A )语句来获得的。 A.return B.printf C.scanf D.函数说明 7.以下语句错误的是( B)。 A.int x; B.return x,y; C.x=100; D.return 0; 8.以下正确的说法是(A )。 A.实参和与其对应的形参各占用独立的存储单元 B.实参和与其对应的形参共占用一个存储单元

c语言-第8章--函数习题

c语言-第8章--函数习题

第8章函数习题 A卷 1. 单项选择题 (1)C 语言总是从函数开始执行。 A A. main B. 处于最前的 C.处于最后的 D. 随机选一个 (2)函数在定义时,省略函数类型说明符,则该函数值的类型为。A A. int B. float C. long D. double (2)以下函数,真正地没有返回值。 B A. int a(){int a=2;return (a);} B. void b(){printf("c");} C. int a(){int a=2;return a;} D. 以上都是 (3)在C 语言中,有关函数的说法,以下正确的是。A A. 函数可嵌套定义,也可嵌套调用 B. 函数可嵌套定义,但不可嵌套调用 C. 函数不可嵌套定义,但可嵌套调用 D. 函数不可嵌套定义,也不可嵌套调用 (4)以下函数调用语句中,含有实参的个数为。C fun((2,3),(4,5+6,7)); A. 1 B. 2 C. 5 D. 6 (5)函数调用可以在。D A. 函数表达式中 B. 函数语句中 C. 函数参数中 D. 以上都是 (6)被调函数返回给主调函数的值称为。C A. 形参 B. 实参 C. 返回值 D. 参数 (7) ,可以不进行函数类型说明。D A. 被调函数的返回值是整型或字符型时 B. 被调函数的定义在主调函数定义之前时 C. 在所有函数定义前,已在函数外预先说明了被调函数类型 D. 以上都是 (8)被调函数通过语句,将值返回给主调函数。D A. if B. for C. while D. return (9)被调函数调用结束后,返回到。D A.主调函数中该被调函数调用语句处 B.主函数中该被调函数调用语句处

第八章多元函数积分学教材

第八章 多元函数积分学 基 本 课 题 :8. 1 二重积分的概念与性质 目 的 要 求 :理解二重积分的概念与性质 重 点 :二重积分的性质 难 点 :8. 1 二重积分的概念 教 学 方 法 : 讲授与讨论结合 教 学 手 段 : 电子课件、黑板 教 参 :《高等数学》(人大理工类本科教材) 教学环节及组织: 复习并引入新课 一、二重积分的概念 1. 曲顶柱体的体积 设有一立体, 它的底是xOy 面上的闭区域D , 它的侧面是以D 的边界曲线为准线而母线平行于z 轴的柱面, 它的顶是曲面z =f (x , y ), 这里f (x , y )≥0且在D 上连续. 这种立体叫做曲顶柱体. 现在我们来讨论如何计算曲顶柱体的体积. 首先, 用一组曲线网把D 分成n 个小区域: ?σ 1, ?σ 2, ? ? ? , ?σ n . 分别以这些小闭区域的边界曲线为准线, 作母线平行于z 轴的柱面, 这些柱面把原来的曲顶柱体分为n 个细曲顶柱体. 在每个?σ i 中任取一点(ξ i , η i ), 以f (ξ i , η i )为 高而底为?σ i 的平顶柱体的体积为 : f (ξ i , η i ) ?σi (i =1, 2, ? ? ? , n ). 这个平顶柱体体积之和:i i i n i f V σηξ?≈=∑),(1. 可以认为是整个曲顶柱体体积的近似值. 为求得曲顶柱体体积的精确值, 将分割加密, 只需取极限, 即 i i i n i f V σηξλ?==→∑),(lim 1 0. 其中λ是个小区域的直径中的最大值.

定义 设f (x , y )是有界闭区域D 上的有界函数. 将闭区域D 任意分成n 个小 闭区域 ?σ 1, ?σ 2, ? ? ? , ?σ n . 其中?σ i 表示第i 个小区域, 也表示它的面积. 在每个?σ i 上任取一点(ξ i , ηi ), 作和 i i i n i f σηξ?=∑),(1 . 如果当各小闭区域的直径中的最大值λ趋于零时, 这和的极限总存在, 则称此极限为函数f (x , y )在闭区域D 上的二重积分, 记作σd y x f D ??),(, 即 i i i n i D f d y x f σηξσλ?==→∑??),(lim ),(1 0. f (x , y )被积函数, f (x , y )d σ被积表达式, d σ面积元素, x , y 积分变量, D 积分区域, 积分和. 直角坐标系中的面积元素: 如果在直角坐标系中用平行于坐标轴的直线网来划分D , 那么除了包含边界点的一些小闭区域外, 其余的小闭区域都是矩形闭区域. 设矩形闭区域?σi 的边长为?x i 和?y i , 则?σi =?x i ?y i , 因此在直角坐标系中, 有时也把面积元素d σ 记作dxdy , 而把二重积分记作 dxdy y x f D ??),( 其中dxdy 叫做直角坐标系中的面积元素. 二重积分的存在性: 当f (x , y )在闭区域D 上连续时, 积分和的极限是存在的, 也就是说函数f (x , y )在D 上的二重积分必定存在. 我们总假定函数f (x , y )在闭区域D 上连续, 所以f (x , y )在D 上的二重积分都是存在的. 二重积分的几何意义: 如果f (x , y )≥0, 被积函数f (x , y )可解释为曲顶柱体的在点(x , y )处的竖坐标, 所以二重积分的几何意义就是柱体的体积. 如果f (x , y )是负的, 柱体就在xOy 面的下方, 二重积分的绝对值仍等于柱体的体积, 但二重积分的值是负的.

数据结构 第八章 查找自测题

第9章查找自测卷姓名班级 一、填空题(每空1分,共10分) 1. 在数据的存放无规律而言的线性表中进行检索的最佳方法是。 2. 线性有序表(a1,a2,a3,…,a256)是从小到大排列的,对一个给定的值k,用二分法检索表中与k相等的元素,在查找不成功的情况下,最多需要检索次。设有100个结点,用二分法查找时,最大比较次数是。 3. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结 点数为;比较四次查找成功的结点数为;平均查找长度为。 4.折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素比较大小。 5. 在各种查找方法中,平均查找长度与结点个数n无关的查找方法是。 6. 散列法存储的基本思想是由决定数据的存储地址。 7. 有一个表长为m的散列表,初始状态为空,现将n(n

c语言第8章函数

第8章函数 1.以下程序的输出结果是( ) A、6 9 9 B、6 6 9 C、6 15 15 D、6 6 15 int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); } main( ) { int a=3;printf("%d \n",fun(a+fun(d)));} 答案:C 注解:函数fun调用两次,第一次调用的实参是全局变量d的值1,在函数调用执行过程中,输出的是局部静态变量d;第二次调用的实参是第一次调用的返回值和变量a的和,输出的仍是局部静态变量d的值。注意静态变量的定义和初始化是在第一次使用时进行的,在以后的使用过程中,保留上一次的值,不再初始化。2.若有以下调用语句,则不正确的fun函数的首部是() A、void fun(int m,int x[]) B、void fun(int s,int h[41]) C、void fun(int p,int *s) D、void fun(int n,int a) main( ) { … int a[50],n; … fun(n,&a[9]); … } 答案:D 注解:从主函数中fun函数的调用格式可以看出,fun函数的两个形参的类型,第一个形参是整型变量,第二个形参是变量的地址,则必须是数组名或者是指针。 3.有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是() A、3 B、4 C、5 D、有语法错 答案:A 注解:该函数调用语句中,含有的实参分别是rec1,rec2+rec3表达式计算后的值和(rec4,rec5)逗号表达式计算后值。 4.有如下程序 int runc(int a,int b) { return(a+b);} main( ) { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r);

相关主题
文本预览
相关文档 最新文档