PAGE
PAGE 1
测试五(函数) 姓名: 学号:
一.选择题?
1.?以下正确的函数定义形式是:(?)?
a)??double?fun(int?x,int?y)? b)??double?fun(int?x;int?y)?
c)??double?fun(int?x,int?y);? d)??double?fun(int?x,y);?
2.?以下正确的函数形式是:(?)
?a)??double?fun(int?x,int?y)? b)??fun(int?x,y)
{?z=x+y;?return?z;?} {?int?z;?return?z;?}
? ?c)??fun(x,y)? d)???double?fun(int?x,int?y)?
{?int?x,y;?double?z;?z=x+y;?return?z;?}??? {?double?z;?z=x+y;?return?z;?}?
3.???以下正确的说法是:(?)?
a)???实参和与其对应的形参各占用独立的存储单元?
b)??实参和与其对应的形参共占用一个存储单元?????
c)??只有当实参和与其对应的形参同名时才共占用存储单元?????
d)???形参是虚拟的,不占用存储单元?
4.???以下程序有语法性错误,有关错误原因的正确说法是:(?)
main()?
?{??int?G=5,k;????void?prt_char();????…?…?
? ??k=prt_char(G);????…?…?}?
a)??语句void?prt_char();有错,它是函数调用语句,不能用void说明?
b)??变量名不能使用大写字母?
c)??函数说明和函数调用语句之间有矛盾 ?d)???函数名不能使用下划线
5.???已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的错误定义方式是:(?)
?a)??f(int?array[ ][6])? b)??f(int?array[3][ ]) ?c)??f(int?array[ ][4])? d)??f(int?array[2][5])?
6.???在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是:(?)?
a)??extern????? b)??register? ??c)??auto? ????d)??static?
7.???若使用一维数组名作函数实参,则以下正确的说法是:(?)
a)???必须在主调函数中说明此数组的大小?
b)??实参数组类型与形参数组类型可以不匹配??
c)??在被调函数中,不需要考虑形参数组的大小
d)???实参数组名与形参数组名必须一致?
8.???以下不正确的说法是:(?)
a)??在不同函数中可以使用相同名字的变量????? ??b)??形式参数是局部变量?
c)??在函数内定义的变量只在本函数范围内有效?
d)???在函数内的复合语句中定义的变量在本函数范围内有效?
9.???若有以下程序:??
#include?stdio.h
void?num()?
?{??extern?int??x,y;????int?a=15,b=10;????x=a-b;????y=a+b;? }??
int?x,y;??
main( )?
{??int?a=7,b=5;????x=a+b;????y=a-b; num( );? printf(“%d,%d\n”,x,y);? }?
程序的正确运行结果是:(?)?
a)??12,2????????????????????b)??不确定? c)??5,25????????????????????d)??1,12?
10.???若有以下程序:??
main()?
?{??int?a=2,i;????for(i=0;i3;i++)?printf(“%4d”,f(a));? ?}?
f(int?a)??
{??int?b=0;????static?int?c=3;????b++;?c++;????return(a+b+c);? }?
程序的正确运行结果是:(?)?
a)??7??7??7????????????????????b)??7??10??13? c)??7??9??11???????????????????d)??7??8??9?
11.???若有以下程
原创力文档

文档评论(0)