c语言函数练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数练习题
一、选择题(一题2分,共40分)
1.在c语言中以下不正确的说法是()
A.实参可以是常量、变量、或表达式
B.形参可以是常量、变量或表达式
C.实参可以为任意类型
D.形参应与其对应的实参类型一致
2.以下程序有语法性错误,有关错误原因的正确说法是()
int main()
{ int G=5,k;
void prt_char();
……
k=prt_char(G);
……}
A.语句void prt_char();有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
3.以下正确的说法是()
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可嵌套
C.函数的定义和调用均不可以嵌套
D.函数的定义和调用均可以嵌套
4.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()
A)函数调用可以作为独立的语句存在
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参
5.以下所列的各函数首部中,正确的是()
A、void play(var :Integer,var b:Integer)
B、void play(int a,b)
C、void play(int a,int b)
D、Sub play(a as integer,b as integer)
6.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()
A、地址传递
B、单向值传递
C、由实参传给形参,再由形参传回实参
D、传递方式由用户指定
7.有以下程序
void fun (int a,int b,int c)
{ a=456; b=567; c=678;}
int main()
{ int x=10, y=20,z=30;
fun (x,y,z);
printf("%d,/%d,%d\n",x,y,z);
return 0; }
输出结果是()
A、30,20,10
B、10,20,30
C、456,567,678
D、678,567,456
8.下述函数定义形式正确的是()。
A、int f(int x; int y)
B、int f(int x,y)
C、int f(int x, int y)
D、int f(x,y: int)
9.关于函数参数,说法正确的是()。
A、实参与其对应的形参各自占用独立的内存单元
B、实参与其对应的形参共同占用一个内存单元
C、只有当实参和形参同名时才占用同一个内存单元
D、形参是虚拟的,不占用内存单元
10.一个函数的返回值由()确定。
A、return语句中的表达式
B、调用函数的类型
C、系统默认的类型
D、被调用函数的类型
11.以下正确的函数形式是()。
A、double fun(int x,int y)
{ z=x+y; return z; }
B、fun(int x,y)
{ int z; return z; }
C、fun(x,y)
{ int x,y; double z; z=x+y; return z; }
D、double fun(int x,int y)
{ double z; z=x+y; return z; }
12.下列函数中,能够从键盘上获得一个字符数据的函数是()。
A、puts( )
B、putchar( )
C、getchar( )
D、gets( )
13.以下程序的输出结果是()。
fun(int a,int b,int c)
{ c=a+b; }
int main()
{ int c;
fun(2,3,c);
printf(“%d\n”,c);
return 0; }
A、2
B、3
C、5
D、无定值
14.分析以下程序的运行结果()。
func(int a,int b)
{ int temp=a;
a=b; b=temp; }
int main()
{ int x,y;
x=10; y=20;
func(x,y);
printf(“%d,%d\n”,x,y);
return 0 ; }
A、10,20
B、10,10
C、20,10
D、20,20
15.现有如下程序
#include "stdio.h"
int fun(int x)
{ printf("x=%d\n",++x); }
int main()
{ fun(12+5); return 0; }
则程序的输出结果是
A、x=12
B、x=13
C、x=17
D、x=18
16.以下函数fff(float x )
{ printf(“%d\n”,x*x); } 的类型是()
A、与参数X的类型相同
B、void类型
C、int 类型
D、无法确定
17. 以下正确的说法是()如果在一个函数中的复合语句中定义了一个变量,则该变量
A.只在该复合语句中有效
B.在该函数中有效
C.在本程序范围内均有效
D.为非法变量
18. 以下不正确的说法为()
A.在不同函数中可以使用相同名字的变量
B.形式参数是局部变量
C.在函数内定义的变量只在函数范围内有效
D.在函数内的复合语句中定义的变量在本函数范围内有效
19.有以下程序
void f(int v , int w)
{ int t;
t=v;v=w;w=t;}