第六部分函数
一、单项选择题
1.C语言中的函数返回值的类型是由(D)决定
A.return语句中的表达式            B.调用函数的主调函数   
C.调用函数时临时D.定义函数时所指定的函数类型
2.下面不正确的描述是(B)。
A. 调用函数时,实参可以是表达式
B. 调用函数时,实参和形参可以共用内存单元
C. 调用函数时,将形参分配内存单元
D. 调用函数时,实参与形参的类型必须一致
3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是(D)
A.地址传递                B.值传递   
C.由实参传递给形参,并由形参传回给实参    D.由用户指定传递方式
4.下面的函数调用语句中含有(A)个实参
inta,b,c;
intsum(intx1,intx2);
……
total=sum((a,b),c);
A.2B.3C.4    D.5
5.在C语言中(C)
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义和调用均不可以嵌套
C. 函数的定义不可以嵌套,但是函数的调用可以嵌套
D. 函数的定义和调用均可以嵌套       
6.关于C语言中的return语句正确的是(C)
A. 只能在主函数中出现
B. 在每个函数中都必须出现
C. 可以在一个函数中出现多次
D. 只能在除主函数之外的函数中出现
7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D
A.inta(floatx[],intn)
B.inta(float*x,intn)
C.inta(floatx[10],intn)
D.inta(floatx,intn)
8.在C语言中,函数的数据类型是指(A)
A.函数返回值的数据类型
B.函数形参的数据类型
C.调用该函数时的实参的数据类型
D.任意指定的数据类型
9.已知如下定义的函数:
fun1(a)
{printf("\n%d",a);
}
则该函数的数据类型是(C)
A.与参数a的类型相同
B.void型
C.整型
D.无法确定
10.定义一个函数实现交换x和y的值,并将结果正确返回。能够实现此功能的是(D)
A.swapa(intx,inty)
{inttemp;
temp=x;x=y;y=temp;
}
B.swapb(int*x,int*y)
{inttemp;
temp=x;x=y;y=temp;
}
C.swapc(int*x,int*y)
{inttemp;
temp=*x;*x=*y;*y=temp;
}
D.swapd(int*x,int*y)
{int*temp;
temp=x;x=y;y=temp;
}
11.求一个角的正弦函数值的平方。能够实现此功能的函数是(B)
A.
sqofsina(x)
{floatx;
return(sin(x)*sin(x));
}
B.doublesqofsinb(x)
{floatx;
return(sin((double)x)*sin((double)x));
}
C.doublesqofsinc(x)
{return(((sin(x)*sin(x));
}
D.sqofsind(x)
{floatx;
return(double(sin(x)*sin(x)));
12.已知函数定义如下:
floatfun1(intx,inty)
{floatz;
z=(float)x/y;
return(z);
}
主调函数中有inta=1,b=0;可以正确调用此函数的语句是(D)
A.printf("%f",fun1(a,b));B.printf("%f",fun1(&a,&b));
C.printf("%f",fun1(*a,*b));D.调用时发生错误c语言用递归函数求n的阶乘
13.下面函数的功能是(B)
a(s1,s2)
chars1[],s2[];
{while(s2++=s1++);
}
A.字符串比较
B.字符串复制
C.字符串连接
D.字符串反向
二、填空题
1.在C语言中,存储类型为局部自动型的变量,只能在使用它们时才占用存储空间。
2.在一个源文件中定义的全局变量的作用域为整个源程序。
3.下面程序的执行结果是84
intd=1;
fun(intp)
{
intd=5;
d+=p++;
printf(%d,d);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。