1、函数(一)及答案解析(总分:18.00,做题时间:90 分钟)一、B选择题/B(总题数:12,分数:12.00)1.以下程序的输出结果是_。 main () int x=5,n=3,s,j; for(j=0;j2;j+) s=fun(x,n);printf(“%d“,s); fun(int a,int b) static int n=0,i=2; i=n+1; n=i+a-b; return(n);(分数:1.00)A.3 7B.3 5C.3 6D.3 32.有如下程序 int func(int a,int b) return (a+b); main() int x=2,y=5,z=8,r;
2、r=func(fnnc(x,y),z); printf(“%d/n“,r); 该程序的输出结果是_。(分数:1.00)A.12B.13C.14D.153.程序中对 fun()函数有如下说明 void *fun(); 此说明的含义是_。(分数:1.00)A.fun 函数无返回值B.fun 函数的返回值可以是任意的数据类型C.fun 函数的返回值是无值型的指针类型D.指针 fun 指向一个函数,该函数无返回值4.sizeof(float)是_。(分数:1.00)A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合适法的表达式5.C 语言规定,简单变量作实参时,它和对应形参之间的数据
3、传递方式是_。(分数:1.00)A.由实参传给形参,再由形参传回给实参B.地址传递C.单向值传递D.由用户指定传递方式6.以下正确的说法是_。(分数:1.00)A.定义函数时,形参的说明可以放在函数体内B.return 后边的值不能为表达式C.如果函数值的类型与返回值类型不一致,以函数值类型为准D.如果形参与实参的类型不一致,以实参类型为准7.有以下程序_。 #define P 3 void F(int x) return(P*x*x); main() printf(“%d/n“,F(3+5); 程序运行后的输出结果是_。(分数:1.00)A.192B.29C.25D.编译出错8.以下不正确的
4、说法是_。(分数:1.00)A.在不同函数中可以使用相同名字的变量B.形式参数是局部变量C.在函数内定义的变量只在本函数范围内在效D.在函数内的复合语句中定义的变量在本函数范围内在效9.C 语言中实现数据输出的标准库函数是_。(分数:1.00)A.printfB.scanfC.putcharD.getchar10.下列程序的输出结果是_。 int t(int x,int y,int cp,int dp) cp=x*X+y*y; dp=x*x-y*y; main() int a=4,b=3,c=5,d=6: t(a,b,c,d); printf(“%d%d/n“ ,c,d);(分数:1.00)A
5、.4 5B.4 6C.5 6D.5 511.以下对 C 语言函数的有关描述中,正确的是_。(分数:1.00)A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.函数既可以嵌套定义,又可以递归调用C.函数必须有返回值,否则不能使用函数D.有调用关系的所有函数必须放在同一个源程序文件中12.若调用 fputc()函数输出字符不成功,则其返回值是_。(分数:1.00)A.EOFB.NULLC.非 0 值D.输出的字符二、B填空题/B(总题数:3,分数:6.00)13.以下程序运行后的输出结果是_。 void swap(int x,int y) int t; t=x;x=y;y=t;p
6、rintf(“%d %d “,x,y); main() int a=3,b=4; swap(a,b);printf(“%d %d/n“,a,b); (分数:2.00)填空项 1:_14.以下程序运行后的输出结果是_。 fun(int a) int b=0; static int c=3; b+:c+; return (a+b+c); main() int i,a=5; for (i=0;i3;i+)pruntf(“%d%d“,i,fun(a); printf(“/n“); (分数:2.00)填空项 1:_15.以下程序通过函数 sunFun 求 (分数:2.00)填空项 1:_函数(一)答案解
7、析(总分:18.00,做题时间:90 分钟)一、B选择题/B(总题数:12,分数:12.00)1.以下程序的输出结果是_。 main () int x=5,n=3,s,j; for(j=0;j2;j+) s=fun(x,n);printf(“%d“,s); fun(int a,int b) static int n=0,i=2; i=n+1; n=i+a-b; return(n);(分数:1.00)A.3 7B.3 5C.3 6 D.3 3解析:2.有如下程序 int func(int a,int b) return (a+b); main() int x=2,y=5,z=8,r; r=fun
8、c(fnnc(x,y),z); printf(“%d/n“,r); 该程序的输出结果是_。(分数:1.00)A.12B.13C.14D.15 解析:3.程序中对 fun()函数有如下说明 void *fun(); 此说明的含义是_。(分数:1.00)A.fun 函数无返回值B.fun 函数的返回值可以是任意的数据类型C.fun 函数的返回值是无值型的指针类型 D.指针 fun 指向一个函数,该函数无返回值解析:4.sizeof(float)是_。(分数:1.00)A.一个双精度型表达式B.一个整型表达式 C.一种函数调用D.一个不合适法的表达式解析:5.C 语言规定,简单变量作实参时,它和对应
9、形参之间的数据传递方式是_。(分数:1.00)A.由实参传给形参,再由形参传回给实参B.地址传递C.单向值传递 D.由用户指定传递方式解析:6.以下正确的说法是_。(分数:1.00)A.定义函数时,形参的说明可以放在函数体内B.return 后边的值不能为表达式C.如果函数值的类型与返回值类型不一致,以函数值类型为准 D.如果形参与实参的类型不一致,以实参类型为准解析:7.有以下程序_。 #define P 3 void F(int x) return(P*x*x); main() printf(“%d/n“,F(3+5); 程序运行后的输出结果是_。(分数:1.00)A.192B.29C.2
10、5D.编译出错 解析:8.以下不正确的说法是_。(分数:1.00)A.在不同函数中可以使用相同名字的变量B.形式参数是局部变量C.在函数内定义的变量只在本函数范围内在效D.在函数内的复合语句中定义的变量在本函数范围内在效 解析:9.C 语言中实现数据输出的标准库函数是_。(分数:1.00)A.printf B.scanfC.putcharD.getchar解析:10.下列程序的输出结果是_。 int t(int x,int y,int cp,int dp) cp=x*X+y*y; dp=x*x-y*y; main() int a=4,b=3,c=5,d=6: t(a,b,c,d); print
11、f(“%d%d/n“ ,c,d);(分数:1.00)A.4 5B.4 6C.5 6 D.5 5解析:11.以下对 C 语言函数的有关描述中,正确的是_。(分数:1.00)A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B.函数既可以嵌套定义,又可以递归调用C.函数必须有返回值,否则不能使用函数D.有调用关系的所有函数必须放在同一个源程序文件中解析:12.若调用 fputc()函数输出字符不成功,则其返回值是_。(分数:1.00)A.EOFB.NULLC.非 0 值 D.输出的字符解析:二、B填空题/B(总题数:3,分数:6.00)13.以下程序运行后的输出结果是_。 void
12、 swap(int x,int y) int t; t=x;x=y;y=t;printf(“%d %d “,x,y); main() int a=3,b=4; swap(a,b);printf(“%d %d/n“,a,b); (分数:2.00)填空项 1:_ (正确答案:4 3 3 4)解析:14.以下程序运行后的输出结果是_。 fun(int a) int b=0; static int c=3; b+:c+; return (a+b+c); main() int i,a=5; for (i=0;i3;i+)pruntf(“%d%d“,i,fun(a); printf(“/n“); (分数:2.00)填空项 1:_ (正确答案:0 10 1 11 2 12)解析:15.以下程序通过函数 sunFun 求 (分数:2.00)填空项 1:_ (正确答案:x, x*x+1)解析: