c语言程序设计习题答案(8)

2018-12-12 23:03

while(y) { w=x%y; x=y; y=w;} return x;}

A)8 B)7 C)6 D)5

7. 阅读下面程序段,则执行后的结果是( C )。

#include “stdio.h” fun (int a) { int x=5; x+=a++; print(“%d”,x); } main( ) { int a=3,x=1; fun(a); x+=a++; printf(“%d\\n”,x); }

A)82 B)83 C)84 D)85 8. 阅读下面程序段,则执行后的结果是( D )。

#include “stdio.h” int x=1; main( ) { int md=4; fun(md);

printf(“%d,%d\\n”,md,x);} fun(int k) { k+=x; x+=k; { char x=?B?;

printf(“%d,”,x-?A?); } printf(“%d,%d,”,k,x); }

A)1,6,5,4,6 B)1,5,4,6,4 C)1,4,6,5,4 D)1,5,6,4,6 9. 阅读下面程序段,则执行后的结果是( C )。

#include “stdio.h” main( )

{ fun3(fun1( ),fun2( ));} fun2( ) { int a=15;

return a;}

fun1( ) { int k=20; return k;} fun3(int a,int b) { int k; k=(a-b)*(a+b); printf(“%d\\n”,k);}

A)0 B)184 C)175 D)编译不通过 10.阅读下面程序段,则执行后的结果是( D )。

#include “stdio.h” main( )

{ int a=4,b=6,c=7; double d,fun(int,int,int); d=fun(a,b,c); printf(“%lf\\n”,d);} double fun(int a,int b,int c) { double s; s=a%b*c; return s;}

A)27 B)27.000000 C)28 D)28.000000

11.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( D a) 函数调用可以作为独立的语句存在

b) 函数调用可以作为一个函数的实参 c) 函数调用可以出现在表达式中 d) 函数调用可以作为一个函数的形参

12.以下不正确的说法是( D )。

a)在不同的函数中可以使用相同名字的变量 b)函数中的形参是局部变量

c)在一个函数内定义的变量只在本函数范围内有效

d)在一个函数内的复合语句中定义的变量只在本函数范围内有效

13.以下正确的说法是( C )。

a) 定义函数时,形参的类型说明可以放在函数体内

b) return后面的值不能为表达式

c) 如果函数值的类型与返回值类型不一致,以函数值类型为准 d) 如果形参与实参的类型不一致,以实参类型为准

14.以下正确的说法是( D )。

a) 函数可以嵌套定义但不能嵌套调用

。 )

b) 函数既可以嵌套调用也可以嵌套定义

c) 函数既可以不嵌套调用也不可以嵌套定义 d) 函数可以嵌套调用但不可以嵌套定义

15.C语言规定,函数返回值的类型是由( D )。

a)return语句中的表达式类型所决定的

b)调用该函数时的主调函数类型所决定 c)调用该函数时系统临时决定

d)在定义该函数时所指定的函数类型所决定

16.以下不正确的说法是( C,D )。

a)c程序中,函数可以直接或间接的调用自己

b)函数调用时,函数名必须与所调用的函数名一致

c)函数说明语句中的类型必须与函数返回值的类型一致 d)实参个数可以与形参个数不一致

17.以下不正确的说法是( C )。

a)C语言规定,不能在一个函数的内部再定义函数

b)在没有声明函数返回值类型的情况下,默认的函数返回值类型为int型 c)函数的类型可以是整型,实型,字符型,但不能是指针型 d)函数可以没有形参,但函数名后的一对括号不能省略

18.在函数调用过程中,如果如果funA调用了函数funB,函数funB又调用了函数funA,则( B )。

a)称为函数的直接递归调用 b)称为函数的间接递归调用

c)称为函数的循环调用

d)C语言中不允许这样的递归调用

19.言中规定,若对函数类型未加显式说明, 函数的隐含类型为( C )。

(A)void (B)double (C)int (D)char

20.以下叙述正确的是( C )。

a)在c程序中,main函数位于程序的最前面

b)c程序的每一行只能写一个语句

c)c语言本身没有输入输出语句

d)在对c程序进行编译的过程中,可以发现注释中的错误

二.填空题

1.一个源程序文件由 一个或多个 函数以及其他有关内容(如命令行、数据定义等)组成。一个 源程序 是一个编译单位,在程序编译时是以源程序文件为单位进行编译的,而不是以 函数 为单位进行编译的。

2.所有函数都是平行的,即在定义函数时是分别进行的,是互相 独立 的。一个函数

并不从属于另一函数,即函数不能 嵌套 定义。函数间可以互相调用,但不能调用 main() 函数。main()函数是系统调用的。

3.从用户使用的角度看,函数有两种: 标准函数 、 用户定义的函数 用以解决用户的专门需要。

4.从函数的形式看,函数分两类: 无参函数 、 有参函数 。 5.在C语言中,实参向形参的数据传递是 值传递 ,单向传递,只由 实参 传给 形参 ,而不能由 形参 传回来给 实参 。在内存中,实参单元与形参单元 是 不同 单元。

6.如果实参表列包含多个实参,则各参数间用逗号隔开。实参与 形参 的个数应相等, 类型 应匹配。实参与形参按顺序对应,一一传递数据。

7.声明的作用是把 函数名 、函数参数的 类型 和参数 个数 等信息通知编译系统,以便在遇到函数调用时,编译系统能正确识别函数并检查调用是否合法。

8.在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的 递归 。 9.在一个函数内部定义的变量是 内部变量 ,它只在 本函数 范围内有效,也就是说只有在 本函数 内才能使用它们,在此函数以外是不能使用这些变量的。这称为 局部变量 。

10.形式参数也是 局部 变量。 11.求两个数中较大的一个数。

#include void main() {

int max(int x, int y); int a,b,c;

scanf(“%d,%d”,&a,&b); c=max(a,b);

printf(“max is %d”,c); }

int max (int x, int y) { int z; z=x>y? x:y; return(z) ; }

12.求两个数中较小的一个数。

#include void main() {

int min(int x, int y); int a,b,c;

scanf(“%d,%d”,&a,&b); c= min(a,b) ; printf(“min is %d”,c); }

int min (int x, int y) { int z; z=x

13.求两个数的最大公约数。

#include “stdio.h” int aa(int x,int y); main( )

{ int a=24,b=16,c; c=aa(a,b);

printf(“%d\\n”, c ); }

int aa(int x,int y) { int w; while(y) { w=x%y; x=y; y=w;} return( x); }

14. 求两个数的最大公约数。

#include “stdio.h” int aa(int x,int y); main( )

{ int a=24,b=16,c; c=aa(a,b); printf(“%d\\n”,c); }


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

下一篇:生命安全与救援 网络公选课 答案

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

马上注册会员

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