计算机二级C语言教程章节测试 函数Word文件下载.docx

上传人:b****3 文档编号:17819651 上传时间:2022-12-11 格式:DOCX 页数:15 大小:18.45KB
下载 相关 举报
计算机二级C语言教程章节测试 函数Word文件下载.docx_第1页
第1页 / 共15页
计算机二级C语言教程章节测试 函数Word文件下载.docx_第2页
第2页 / 共15页
计算机二级C语言教程章节测试 函数Word文件下载.docx_第3页
第3页 / 共15页
计算机二级C语言教程章节测试 函数Word文件下载.docx_第4页
第4页 / 共15页
计算机二级C语言教程章节测试 函数Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

计算机二级C语言教程章节测试 函数Word文件下载.docx

《计算机二级C语言教程章节测试 函数Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言教程章节测试 函数Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

计算机二级C语言教程章节测试 函数Word文件下载.docx

,y1,y2);

  A)8,16

  B)8,8

  C)16,16

  D)4,8

(3)程序中若有如下的说明和定义语句

charfun(char*);

{

char*s="

one"

a[5]={0},(*f1)()=fun,ch;

……

以下选项中对函数fun的正确调用语句是

  A)(*f1)(a);

  B)*f1(*s);

  C)fun(&

a);

  D)ch=*f1(s)

(4)在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则

  A)称为函数的直接递归调用

  B)称为函数的间接递归调用

  C)称为函数的循环调用

  D)C语言中不允许这样的递归调用

(5)有以下程序

voidfun(int*a,inti,intj)

{intt;

if(i<

j)

{t=a[i];

a[i]=a[j];

a[j]=t;

i;

j--;

fun(a,i,j);

{intx[]={2,6,1,8},i;

fun(x,0,3);

for(i=0;

i<

4;

i)printf("

-"

x[i]);

\n"

);

  A)1268

  B)8621

  C)8162

  D)8612

 

(6)有以下程序

#include<

main(intargc,char*argv[])

{inti,len=0;

for(i=1;

argc;

i=2)len=strlen(argv[i]);

printf(“5d\n”,len);

}

经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行

exabcdefgh3k44

执行后输出结果是

  A)14

  B)12

  C)8

  D)6

(7)有以下程序

voidf(inta[],inti,intj)

a[i]=a[j];

f(a,i1,j-1);

main()

{inti,aa[5]={1,2,3,4,5};

f(aa,0,4);

5;

i)printf(“%d,”,aa[i]);

printf(“\n”);

  A)5,4,3,2,1,

  B)5,2,3,4,1,

  C)1,2,3,4,5,

  D)1,2,3,4,5,

(8)有以下程序

fun(a,i,--j);

{inta[]={1,2,3,4,5,6},i;

fun(a,0,5)

6;

i)

%d"

a[i]);

执行后的输出结果是

  A)654321

  B)432156

  C)456123

  D)123456

(9)有以下程序

intf(intn)

{if(n==1)return1;

elsereturnf(n-1)1;

{inti,j=0;

for(i=i;

3;

i)j=f(i);

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

  A)4

  B)3

  C)2

  D)1

(10)有以下程序

main(intargc,char*argv[])

i)len=strlen(argv[i]);

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

程序编译连接后生成的可执行文件是ex1.exe,若运行时输入带参数的命令行是:

ex1abcdefg10<

回车>

则运行的结果是:

  A)22

  B)17

  C)12

  D)9

(11)有以下程序

intfa(intx)

{returnx*x;

intfb(intx)

{returnx*x*x;

intf(int(*f1)(),int(*f2)(),intx)

{returnf2(x)-f1(x);

{inti;

i=f(fa,fb,2);

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

  A)-4

  B)1

  C)4

  D)8

(12)不合法的main函数命令行参数表示形式是

  A)main(inta,char*c[])

  B)main(intarc,char**arv)

  C)main(intargc,char*argv)

  D)main(intargv,char*argc[])

(13)假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:

PROGABCDEFGHIJKL<

,则输出结果为

  A)ABCDEFG

  B)IJHL

  C)ABCDEFGHIJKL

  D)IJKLABCDEFGH

main(intargc,char*argv[]))

{while(--argc>

0)printf(“%s”,argv[argc]);

printf(“\n”);

(14)以下程序的输出结果是

  A)1

  B)2

  C)3

  D)4

longfun(intn)

{longs;

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

elses=n-fun(n-1);

returns;

{printf(“%ld\n”,fun(3));

(15)有如下程序

longfib(intn)

{if(n>

2)return(fib(n-1)fib(n-2));

elsereturn

(2);

main0

{printf(“%d\n”,fib(3));

该程序的输出结果是

  A)2

  B)4

  C)6

(16)若有以下说明和定义

fun(int*c){}

{int(*a)()=fun,*b(),w[10],c;

在必要的赋值之后,对fun函数的正确调用语句是

  A)a=a(w);

  B)(*a)(&

c);

  C)b=*b(w);

  D)fun(b);

(17)下列程序执行后的输出结果是

  A)hello

  B)hel

  C)hlo

  D)hlm

voidfunc1(inti);

voidfunc2(inti);

charst[]="

hello,friend!

"

;

voidfunc1(inti)

{printf("

%c"

st[i]);

3){i=2;

func2(i);

voidfunc2(inti)

func1(i);

{inti=0;

func1(i);

printf("

(18)假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输入命令行:

prghellogood<

后,程序的输出结果是

  A)hellogood

  B)hg

  C)hel

  D)hellogood

main()(intargc,char*argv[])

if(argc<

-0)return;

*argv[i]);

(19)以下程序的输出结果是

  A)54321

  B)012345

  C)12345

  D)543210

{intw=5;

fun(w);

fun(intk)

{if(k>

0)fun(k-1);

printf(“%d”,k);

(20)若以下程序所生成的可执行文件名为filel.exe;

当打入以下命令执行该程序时;

FILELCHINABEIJINGSHANGHAI

程序的输出结果是

  A)CHINABEIJINGSHANGHAI

  B)FILELCHINABEIJING

  C)CBS

  D)FCB

{while(arge-->

0)

{argv;

%s"

*argv);

(21)C语言规定,程序中各函数之间

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

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

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

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

二、填空题:

(1)以下程序运行后的输出结果是【1】。

intf(inta[],intn)

{if(n>

=1)returnf(a,n-1)a[n-1];

elsereturn0;

{intaa[5]={1,2,3,4,5},s;

s=f(aa,5);

%d\n"

s);

(2)下面程序的运行结果是:

【2】

intf(inta[],intn)

1)returna[0]f(&

a[1],n-1);

elsereturna[0];

main()

{intaa[3]={1,2,3},s;

s=f(&

aa[0],3);

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

(3)以下程序运行后的输出结果是【3】

fun(intx)

{if(x/2>

0)fun(x/2);

x);

{fun(6);

(4)设函数findbig已定义为求3个数中的最大值。

以下程序将利用函数指针调用findbig函数。

请填空。

{intfindbig(int,int,int);

int(*f)(),x,yz,z,big;

f=【4】;

scanf("

%d%d%d"

&

x,&

y,&

z);

big=(*f)(x,y,z);

bing=%d\n"

big);

(5)以下程序的输出结果是【5】。

{intx=0;

sub(&

x,8,1);

sub(int*a,intn,intk)

{if(k<

=n)sub(a,n/2,2*k);

*a=k;

(6)以下程序的输出结果是【6】。

fun(intn,int*s)

{intf1,f2;

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

else{fun(n-1,&

f1);

fun(n-2,&

f2);

*s=f1f2;

}}

{intx;

fun(6,&

x);

(7)下面程序的输出是【7】。

longfun5(intn)

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

s=2;

else

s=nfun5(n-1);

return(s);

{longx;

x=fun5(4);

%ld\n"

(8)下面h函数的功能是计算如下数学函数H的值。

doublefgh(double(*f)(doublea)<

double(*g)(doubleb),

doublex,doubley)

{return(【8】);

doubleh(doublea,doubleb)

return(fgh(sin,cos,a,b)*fgh(【9】]));

}

(9)请读程序:

#include<

stdio.h>

main(intargc,char*argv[])

printf('

argc);

for(i=0;

i<

=argc1;

i)printf("

argv[i]);

若上面的程序编译、连接后生成可执行文件ABC.EXE,则输入以下命令行

abcfile1file2<

CR>

(<

表示回车)

程序执行后的输出结果是【10】。

(10)下面程序的输出结果是【11】。

fun(intx)

{intp;

if(x==0||x==1)return(3);

p=x-fun(x-2);

returnp;

{printf("

fun(9));

(11)下面程序的输出结果是【12】。

funa(inta,intb)

{returnab;

funb(inta,intb)

{returna-b;

sub(int(*t)(),intx,inty)

{return((*t)(x,y));

{intx,(*p)();

p=funa;

x=sub(p,9,3);

x=sub(funb,8,3);

x);

(12)设有如下程序:

main(intargc,char*argv[])

{while(--argc>

0)printf("

%s"

argv[argc]);

假定上述程序经编译和连接后生成可执行文件PROG.EXE,如果在DOS提示符下键入PROGABCDEFGHIJKL<

,则输出结果为【13】。

(13)以下程序调用invert函数按逆序重新放置a数组中元素的值。

a数组中的值在main函数中读入。

#defineN10

invert(int*s,inti,intj)

if(i<

j){t=*(si);

*(sj)=(sj);

*(sj)=t;

invert(s,【14】,j-1);

}}

{inta[N],i;

N;

i)scanf("

a【15】);

invert(a,0,N-1);

参考答案

一、选择题:

01)B02)A03)A04)B05)C

06)D07)A08)A09)B10)D

11)C12)C13)D14)A15)B

16)B17)C18)B19)B20)A

21)A

二、填空题:

(1)15

(2)6

(3)136

(4)findbig

(5)7

(6)8

(7)9

(8)f(xy)/g(y-x)或(*f)(xy)/g(y-x)或f(xy)/(*g)(y_x)或(*f)或(*f)(xy)/(*g)(y-x)

(9)cos,sin,a,b

(10)3abc.exefile1file2(注:

两个答案,每个1分)

(11)7

(12)17

(13)IJKLEFGHABCD

(14)i1

(15)I

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

当前位置:首页 > 工程科技 > 交通运输

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

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