函数、指针与结构体练习题_参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数
(一)选择题
1.以下正确的说法是_________.
建立函数的目的之一是a)提高程序的执行效率
b)提高程序的可读性
c)减少程序的篇幅
d)减少程序文件所占存
2.以下正确的函数原型声明形式是________.
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);
3.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为______.
A)地址传递
B)单向值传递
C)由实参传给形参,再由形参传回给实参
D)由用户指定传递方式
4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是______.
a)float
b)int
c)long
d)double
5.已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array 的错误定义方式为________.
int a[3][4];
f(a);
a)f(int array[][6])
b)f(int array[3][])
c)f(int array[][4])
d)f(int array[2][5])
6.以下程序的正确运行结果是_________.
#include
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
7.以下正确的描述是____________.
a)C语言的预处理功能是指完成宏替换和包含文件的调用
b)预处理指令只能位于C源程序文件的首部
c)凡是C源程序中行首以"#"标识的控制行都是预处理指令
d)C语言的编译预处理就是对源程序进行初步的语法检查
8.在"文件包含"预处理语句的使用形式中,当#include后面的文件名用< >(尖括号)括起时,找寻被包含文件的方式是_______.
a)仅仅搜索当前目录
b)仅仅搜索源程序所在目录
c)直接按系统设定的标准方式搜索目录
d)先在源程序所在目录搜索,再按照系统设定的标准方式搜索
9.当调用函数时,实参是一个数组名,则向函数传送的是_____.
A.数组的长度
B.数组的首地址
C.数组每一个元素的地址
D.数组每个元素中的值
10.函数的值通过return语句返回,下面关于return语句的形式描述错误的是_____.
A.return 表达式;
B.return(表达式);
C.一个return语句可以返回多个函数值
D.一个return语句只能返回一个函数值
11.设函数fun的定义形式为
void fun(char ch,float x){…}
则以下对函数fun的调用语句中,正确的是_____.
A.fun("abc",3.0);
B.t=fun('D',16.5);
C.fun('65',2.8);
D.fun(32,32);
12.以下程序的输出结果是_____.
void reverse(int a[],int n)
{ int i,t;
for(i=0;i { t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;} } main( ) { int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf(" %d\n ",s); } A.22 B.10 C.34 D.30 13.阅读下列程序,则运行结果为_____. fun( ) { static int x=5; x++; return x; } main( ) { int i,x; for(i=0;i<3;i++) x=fun( ); printf("%d\n",x); } A.5 B.6 C.7 D.8 14.若使用一维数组名作函数实参,则以下正确的说法是_____. A.必须在主调函数中说明此数组的大小 B.实参数组类型与形参数组类型可以不匹配 C.在被调用函数中,不需要考虑形参数组的大小 D.实参数组名与形参数组名必须一致 15.在C语言中,定义函数时函数的类型可以缺省,此时函数的隐含类型是_____. A.void B.int C.float D.double 16.在C语言中,形参的缺省存储类别是( ). A.auto B.register C.static D.extern 17.以下关于字符串的叙述中正确的是_____. A.C语言中有字符串类型的常量和变量 B.两个字符串中的字符个数相同时才能进行字符串大小的比较 C.可以用关系运算符对字符串的大小进行比较 D.空串一定比空格打头的字符串小 18.阅读程序,选择程序的运行结果。 #include int Try(int n) { if(n>0) return (n*Try(n-2)); else return 1; } void main() {