C语言程序设计习题集(9)

2019-08-31 09:53

四、习题答案

(一)、是非题

1.A 2.A 3.B 4.B 5.B 6.B 7.B 8.B 9.A 10.A 11.B 12.B 13.A 14.B 15.A 16.B 17.B 18.B 19.A 20.B (二)、选择题

1.C 2.D 3.C 4.D 5.C 6.D 7.B 8.A 9.A 10.D 11.D 12.A 13.B 14.B 15.C 16.C 17.D 18.C 19.A 20.C 21.C 22.C 23.B 24.D 25.C 26.A 27.B 28.A 29.B 30.B

41

第6章 函数

二、习题

(一)是非题

1.在C程序中,main()函数必须有且只有一个。

A.对 B.错

2.如果某个函数在定义时省略了存储类型,则默认的存储类型是int。

A.对 B.错

3.C程序中,定义函数时的参数是“实际参数”,调用函数时的参数是“形式参数”。

A.对 B.错

4.函数的定义可以嵌套,但函数的调用不可以嵌套。

A.对 B.错

5.若函数定义的头部为:double cacl(float x,float y),则该函数是外部函数。

A.对 B.错

6.若用数组名作为函数调用的实参,传递给形参的是数组中的第一个元素的值。

A.对 B.错

7.C程序中所有的全局变量都是静态存储的。

A.对 B.错

8.函数中的多个return语句,可以实现调用该函数后,多个值同时被返回。

A.对 B.错

9.如果在一个函数中的复合语句内定义了一个变量,则该变量在该函数中都有效。

A.对 B.错

10.有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。

A.对 B.错

11.在函数之间数据传递的方式有三种,即返回值、参数、全局变量。

A.对 B.错

12.在C语言中,除了main()函数外,其余所有的函数都能够被调用。

A.对 B.错

13.在main()函数中定义的变量称为全局变量。

A.对 B.错 14.在C语言中形参与实参共用内存单元。

A.对 B.错

15.在C语言中定义的auto变量,若没有对其进行显式初始化,则初值是一个不确定的值。

A.对 B.错 (二)选择题

1.以下说法中正确的是________。

42

A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始执行 D.C语言程序中的main()函数必须放在程序的开始部分

2.在C语言中,函数值类型在定义时可以缺省,此时函数值的隐含类型是________。 A.void B.int C.float D.double 3.在C语言中,函数返回值的类型最终取决于________。 A.函数定义时在函数值首部所说明的函数类型 B.return语句中表达式值的类型

C.用函数时主调函数所传递的实参类型 D.函数定义时形参的类型

4.以下程序的执行结果为________。 #include \float fun(int x,int y) { return(x*y); } main()

{ int a=2,b=5,c=8;

printf(\ A.-24 B.24 C.-168 D.168 //嵌套调用。 fun(2+5,8) 返回得到 56; fun(56,2-5) 56*(-3)=-168

5.以下程序运行后的输出结果是________。 #include \int f(int x); main()

{ int n=1,m; m=f(f(f(n)));

printf(\int f(int x) {return x*2;} A.1 B.2 C.4 D.8 6.如下函数调用语句中,含有的实参个数是________。

fun(arg1,arg2+arg3,(arg4,arg5)); //实参可以是表达式 A.3 B.4 C.5 D.有语法错误 7.以下程序的输出结果是________。 #include \main()

{ int w=5;fun(w); } fun(int m)

43

{ if(m>0)fun(m-1); printf(\

A.5 4 3 2 1 B.0 1 2 3 4 5 C.1 2 3 4 5 D.5 4 3 2 1 0 8.在一个C源程序文件中所定义的全局变量,其作用域为________。 A.所在文件的全部范围 B.所在程序的全部范围

C.所在函数的全部范围 D.由具体定义位置和extern说明来决定范围 9.以下程序的运行结果是________。

#include \int a=1; int f(int c)

{ static int a=2; c=c+1;

return (a++)+c; } main()

{ int i,k=0;

for(i=0;i<2;i++) { int a=3; k+=f(a); } k+=a;

printf(\A.13 B.14 C.15 D.16 10.以下程序执行后变量w的值是________。

#include \int fun1(double a) {return a*=a;}

int fun2(double x,double y) { double a=0,b=0;

a=fun1(x);b=fun1(y);return(int)(a+b); } main()

{ double w;

w=fun2(1.1,2.0); ?? }

A.5.21 B.5 C.5.0 D.0.0

11.以下程序执行时,给变量x输入10,程序的输出结果是________。

#include \int fun(int n)

{ if(n==1) return 1;

else return(n+fun(n-1)); } main() { int x;

44

scanf(\ x=fun(x);

printf(\

A.45 B.54 C. 55 D. 65 12.以下叙述中错误的是________。

A.C程序必须由一个或一个以上的函数组成 B.函数调用可以作为一个独立的语句存在

C.若函数有返回值,必须通过return语句返回 D.函数形参的值也可以传回给对应的实参 13.以下叙述中正确的是________。

A.预处理命令行必须位于C源程序的起始位置 B.在C语言中,预处理命令行都以\开头

C.每个C程序必须在开头包含预处理命令行:#include \D.C语言的预处理不能实现宏定义和条件编译的功能 14.以下叙述中正确的是________。

A.局部变量说明为static,其生存期将得到延长 B.全局变量说明为static,其作用域将被扩大

C.任何存储类的变量在未赋初值时,其值都是不确定的 D.形参可以使用的存储类说明符与局部变量完全相同

15.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则________。

A.称为函数的直接递归调用 B.C语言中不允许这样的递归调用 C.称为函数的循环调用 D.称为函数的间接递归调用 16.以下程序的输出结果是________。

#include \long fib(int n)

{ if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } void main()

{ printf(\A.2 B.4 C.6 D.8 17.以下所列的各函数首部中,正确的是________。

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) 18.以下程序的输出结果是________。

#include \#define f(x) x*x void main()

{ int a=6,b=2,c; c=f(a)/f(b);

45


C语言程序设计习题集(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:土建施工员专业基础知识(1) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: