函数、指针与结构体练习题_参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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()

{

相关文档
最新文档