C语言测试五(带有答案).doc

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)

1亿VIP精品文档

相关文档