首页>计算机等级考试>模拟试题>正文
最经典的C语言试题

www.zige365.com 2010-7-15 8:44:43 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

 

 

 

 

4.2函数

一、选择题

【例3】(2000年4月)下列程序执行后的输出结果是( )。

void func1(int  i);

void func2(int  i);

char st[]="hello,friend!";

void func1(int  i)

    printf("%c",st[i]);

   if(i<3){i+=2;func2(i);}

}

void func2(int  i)

{  

    printf("%c",st[i]);

   if(i<3){i+=2;func1(i);}

}

main()

{int i=0;func1(i); printf("\n");}

A. hello         B. hel             

C. hlo              D. hlm

【答案】C

【考点解析】这道题中两个函数里面都发生了嵌套调用,过程如下,i=0,调用func1(0)函数输出st[0],i=2,调用func2(2)输出st[2],i=4,调用func1(4)输出st[4]。

【例4】(2000年9月)有如下函数调用语句

func(rec1,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是( )。

A. 3             B. 4            

C. 5             D. 有语法错

【答案】A

【考点解析】函数的实际参数是以逗号分隔开的,题目中rec2+rec3是算术表达式作为一个参数,(rec4,rec5)是逗号表达式作为一个参数。

【例6】(2000年9月)有如下程序

long  fib(int  n)

{  

    if(n>2) return(fib(n-1)+fib(n-2));

    else return(2);

}

main()

    { printf("%d\n",fib(3)); }

该程序的输出结果是( )。

A. 2             B. 4            

C. 6             D. 8

【答案】B

【考点解析】题目中fib(3)=fib(2)+fib(1)=2+2=4。

【例7】(2000年9月)在C语言中,函数的隐含存储类别是( )。

A. auto              B. static

C. extern        D. 无存储类别

【答案】C

【考点解析】在C语言中,如没有特别说明函数的隐含存储类别都是extern类型。

【例8】(2000年9月)有以下函数

char fun(char *p)

{ return p; }

该函数的返回值是(  )。

A. 无确切的值。                  B. 形参p中存放的地址值。

C. 一个临时存储单元的地址。       D. 形参p自身的地址值。

【答案】B

【考点解析】题目中,p是一个字符型指针作为形式参数,在调用函数的时候存放实际参数的地址,所以返回是返回p中存放的地址而不是p自身的地址。

【例10】(2001年4月)当调用函数时,实参是一个数组名,则向函数传送的是( )。

A. 数组的长度。              B.    数组的首地址。

C.  数组每一个元素的地址。      D.  数组每个元素中的值。

本新闻共24页,当前在第17页  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
最经典的C语言试题