C语言第八章函数测试Word文档下载推荐.docx

上传人:b****6 文档编号:17520175 上传时间:2022-12-07 格式:DOCX 页数:17 大小:19.48KB
下载 相关 举报
C语言第八章函数测试Word文档下载推荐.docx_第1页
第1页 / 共17页
C语言第八章函数测试Word文档下载推荐.docx_第2页
第2页 / 共17页
C语言第八章函数测试Word文档下载推荐.docx_第3页
第3页 / 共17页
C语言第八章函数测试Word文档下载推荐.docx_第4页
第4页 / 共17页
C语言第八章函数测试Word文档下载推荐.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言第八章函数测试Word文档下载推荐.docx

《C语言第八章函数测试Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言第八章函数测试Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。

C语言第八章函数测试Word文档下载推荐.docx

{staticintx=0;

returnx+=k;

第3题(4.0分)题号:

823

inta;

intm(inta)

{staticints;

return(++s)+(--a);

{inta=2;

%d"

m(m(a)));

3

第4题(4.0分)题号:

821

以下程序运行时,输出结果为【1】.(2006年春江苏省二级C)

#include<

main()

{printf("

f(21,35));

intf(inta,intb)

{if(a==b)returna;

else

if(a>

b)returnf(a-b,b);

elsereturnf(a,b-a);

7

第5题(4.0分)题号:

819

以下程序运行时输出的结果的第二行是【1】,第四行是【2】,第六行是【3】.

(2005年春江苏省二级C)

#include<

voidchange(ints[3][3],intd)

{inti,j,k;

if(d==0)

{for(i=0;

i<

3;

i++)

for(j=i+1;

j<

3;

j++)

{k=s[i][j];

s[i][j]=s[j][i];

s[j][i]=k;

}

for(i=0;

for(j=0;

3-i;

s[i][j]=s[2-j][2-i];

s[2-j][2-i]=k;

main()

{ints[3][3]=(1,2,3,4,5,6,7,8,9),I,j,k,n;

change(s,0);

{for(j=0;

j++)printf("

%4d"

s[i][j]);

\n"

);

change(s,1);

s[i][j]);

258

=======(答案2)=======

987

=======(答案3)=======

321

第6题(4.0分)题号:

816

在声明局部变量时,不能使用的存储类别标识符是【1】.(2007年春江苏省二级C)

extern

第7题(4.0分)题号:

818

以下程序运行时输出结果是【1】.(2004年秋江苏省二级C)

voidnum()

{externintx,y;

inta=15,b=10;

x=a-b;

y=a+b;

intx,y;

{inta=7,b=5;

x=a+b;

y=a-b;

num();

%d,%d\n"

x,y);

5,25

第8题(4.0分)题号:

814

一个用C语言编写的程序在运行时,如果没有发生任何异常情况,则只有在执行了【1】函数的最后一条语句或该函数中的return语句后,程序才会终止运行.(2005年春江苏省二级C)

main

第9题(4.0分)题号:

174

为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对.

if

第10题(4.0分)题号:

813

若有函数定义intf(){intx=4,y=3,z=2;

returnx,y,z;

},则调用函数f后的返回值是【1】.(2004年春江苏省二级C)

2

第11题(4.0分)题号:

817

在以下程序的main函数中,语句"

fun(x,10);

"

内的实参x表示数组x的【1】.(2007年春江苏省二级C)

voidfun(inta[10],intn)

{inti;

for(i=0;

n,i++)a[i]++;

{intx[10]={0};

fun(x,10);

第一个元素地址或起始地址或首地址

第12题(4.0分)题号:

822

以下程序运行时,输出结果的第一行是【1】,第二行是【2】.(2006年春江苏省二级C)

voidchange(intx,intm)

{charch[]={'

0'

'

1'

'

2'

3'

4'

5'

6'

7'

8'

9'

},b[80];

inti=0,r;

while(x)

{r=x%m;

x/=m;

b[i++]=ch[r];

for(--i;

i>

=0;

i--)

%c"

b[i]);

{inta,b;

change(10,2);

);

change(10,8);

1010

12

二、单项选择共20题(共计40分)

第1题(2.0分)题号:

2305

以下叙述中不正确的是()(2000年秋江苏省二级C)

A:

一个变量的作用域完全取决于变量说明语句的位置

B:

外部变量可以在函数以外的任何位置定义

C:

内部变量的生存期只限于本次函数调用,无法将内部变量的值保存至函数的下一次调用

D:

用static说明的一个外部变量是为了限制其他编译单位的引用

C

第2题(2.0分)题号:

2322

已知在函数f中声明了局部变量x,如果希望f函数第一次被调用返回后变量x中存储的数据保持到下次f函数被调用时仍可以使用,则在声明x时必须指定其存储类型为().(2007年秋江苏省二级C)

auto

register

static

第3题(2.0分)题号:

2308

在以下程序中,需要在main函数之后定义一个函数,以下选项中()可以用作该函数的名字.(2003年春江苏省二级C)

#definep3.14

inty;

{inta=1;

函数名(a);

....../*若干执行语句*/

int函数名(intx)

{returnx*x;

y

p

print

D

第4题(2.0分)题号:

2312

以下关于函数形式参数的声明中正确的是().(2004年秋江苏省二级C)

inta[]

inta[][]

inta[]={0}

inta[2][]

A

第5题(2.0分)题号:

2323

以下函数定义中正确的是().(2009年春江苏省二级C)

doublefun(doublex,doubley){}

doublefun(doublex;

doubley){}

doublefun(doublex,doubley);

{}

doublefun(doublex,y){}

第6题(2.0分)题号:

2321

以下关于C语言源程序的叙述中错误的是().(2007年春江苏省二级C)

一个C语言源程序由若干个函数定义组成,其中必须有且仅有一个名为main函数定义

函数定义由函数头部和函数体两部分组成

在一个函数定义的函数体中允许定义另一个函数

在一个函数定义的函数体中允许调用另一个函数或调用函数自身

第7题(2.0分)题号:

2320

若有数组A和B的声明"

staticcharA[]="

ABCDEF"

B[]={'

A'

B'

C'

D'

E'

F'

};

则数组A和数组B的长度分别是().(2006年秋江苏省二级C)

7,6

6,7

6,6

7,7

第8题(2.0分)题号:

2317

设有下列程序段:

staticcharb=2;

voidY()

{staticfloatd=4;

.......}

inta=1;

voidX()

{intc=3;

......}

关于程序段中各变量的属性,以下叙述中错误的是().(2006年春江苏省二级C)

a是全局变量,函数X可以访问,函数Y不能访问

b是全局变量,函数X和函数Y都可以访问

c是动态变量,函数X可访问,函数Y不可访问

d是静态变量,函数X和函数Y都可以访问

第9题(2.0分)题号:

2318

若已定义一个有返回值的函数,则以下关于调用该函数的叙述中错误的是().(2006年春江苏省二级C)

函数调用可以作为独立的语句存在

函数调用可以出现在表达式中

函数调用可以作为一个函数实参

函数调用可以作为一个函数形参

第10题(2.0分)题号:

2316

已知有函数f的定义如下:

intf(inta,intb)

{if(a<

b)return(a,b);

elsereturn(b,a);

在main函数中若调用函数f(2,3),得到的返回值是().(2005年春江苏省二级C)

2和3

3和2

B

第11题(2.0分)题号:

2314

已知函数f的定义如下:

voidf(void)

{printf("

That'

sgreat!

}

则调用f函数的正确形式是().(2004年秋江苏省二级C)

f;

f();

f(void);

f

(1);

第12题(2.0分)题号:

2311

以下程序运行时输出结果为().(2004年秋江苏省二级C)

intx=1;

main()

{printf(″%d″,f(x));

#definex2

intf(inty)

{returnx+y;

1

4

第13题(2.0分)题号:

2310

以下全局变量声明中正确的是().(2004年秋江苏省二级C)

autointi=1;

floata=1,b=0.5,c=a+b;

charfor=1;

staticcharch;

第14题(2.0分)题号:

2304

C语言中函数返回值的类型是由()决定的.(1998年秋江苏省二级C)

return语句中的表达式类型

调用该函数的主函数类型

定义函数时所指定的函数类型

传递给函数的实参类型

第15题(2.0分)题号:

2309

若有函数fun的定义为:

voidfun(...)

{staticinta=1;

......

则下列叙述中不正确的是()(2004年春江苏省二级C)

在每次调用fun函数时,变量a的值是上次调用结束时a的值

在fun函数之外,可以用变量名a直接引用a的值

在其它函数中,可以出现声明doublea=2.5;

fun函数的形式参数不能取名为a

第16题(2.0分)题号:

2313

关于函数返回值,以下叙述中正确的是().(2004年秋江苏省二级C)

函数返回值的类型由函数体内return语句包含的表达式的类型决定

函数返回值的类型由函数头部定义的函数类型决定

若函数体中有多个return语句,则函数的返回值是排列在最后面的retum语句中表达式的值

若函数体内没有retum语句,则函数没有返回值

第17题(2.0分)题号:

2315

以下函数定义中正确的是().(2005年春江苏省二级C)

intfun(inta,b){}

intfun(inta[][]){}

intfun(void){}

intfun(staticinta,intb){}

第18题(2.0分)题号:

2307

以下关于函数的叙述中,正确的是()(2003年春江苏省二级C)

在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值

在函数体中必须至少有一个return语句

在函数体中可以定义另一个函数

在函数体中可以调用函数自身

第19题(2.0分)题号:

2306

在以下程序中,需要在fun函数中声明一个int型的变量,以下选项中()不能用作该变量的名字.(2002年秋江苏省二级C)

#include<

fun(a);

intfun(intx)

{;

/*int型变量声明语句位置*/

x

fabs

fun

第20题(2.0分)题号:

2278

若有声明"

inti,k=1;

unsignedj;

则下列语句执行时会出现无限循环的语句是.(2008年春江苏省二级C)

for(j=15;

j>

0;

j-=2)k++;

for(j=0;

j<

15;

j+=2)k++;

i+=2)k++;

for(i=15;

i>

i-=2)k++;

三、程序填空共1题(共计6分)

第1题(6.0分)题号:

54

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

求一个二维数组中每行的最大值和每行的和。

-------------------------------------------------------*/

inta[5][5],b[5],c[5],i,j,k,s=0;

for(i=0;

5;

i++)

for(j=0;

j++)

a[i][j]=random(40)+20;

{

/***********SPACE***********/

k=a[i][0];

【?

】;

{

if(k<

a[i][j])【?

s=s+a[i][j];

b[i]=k;

%5d"

【?

】);

%5d%5d"

b[i],c[i]);

s=0

k=a[i][j]

c[i]=s

=======(答案4)=======

a[i][j]

四、程序改错共1题(共计6分)

55

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

先从键盘上输入一个3行3列矩阵的各个元素的值,然后输

出主对角线上的元素之和sum。

------------------------------------------------------*/

voidfun()

inta[3][3],sum;

inti,j;

/**********FOUND**********/

a=0;

scanf("

a[i][j]);

sum=sum+a[i][j];

sum=%f\n"

sum);

fun();

sum=0;

scanf("

&

a[i][j]);

sum=sum+a[i][i];

=========或=========

sum+=a[i][i];

printf("

sum=%d\n"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1