第一范文网 - 专业文章范例文档资料分享平台

C语言程序设计教程第四章练习题解析(1)

来源:用户分享 时间:2025/6/16 23:12:14 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

if (n==1 || n==2) s=2; else s=n-fun(n-1); return s; }

void main() { printf(\}

A.1 B.2 C.3 D.4

答案:A 解析:fun()函数传入3时,返回3-fun(2);fun()函数传入2时,返回2。所以fun(3)返回3-2=1。 23、在C语言中,函数的隐含存储类别是()。 A.auto B.static C.extern D.无存储类别 答案:C

解析:为简化编程,C语言中允许在定义外部函数时省略关键字extern。 24、以下叙述中不正确的是()。

A.在不同的函数中可以使用相同名字的变量 B.函数中的形式参数是局部变量

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

D.在一个函数内的复合语句中定义的变量在本函数范围内有效 答案:D

解析:函数内的复合语句中定义的变量仅仅在该复合语句中有效。 25、以下程序运行后,输出结果是()。 int func(int a, int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return m; }

void main() { int k=4,m=1,p; p=func(k,m); printf(\ p=func(k,m);

}

printf(\

A.8,15 B.8,16 C.8,17 D.8,8 答案:C

解析:函数体内的静态局部变量不随函数的调用结束而销毁,而是一直存在。 26、以下程序的输出结果是()。 int d=1; int fun(int p) { static int d=5; d+=p; printf(\ return d; }

void main() { int a=3; printf(\}

A.6 9 9 B.6 6 9 C.6 15 15 D.6 6 15 答案:C

解析:首先调用fun(d),将全局变量d=1带入,此时fun()函数内的静态局部变量d的值是

1,d+=p后d的值是6,输出d的值,返回d的值;

然后调用fun(a+6),将局部变量a=3带入,此时fun()函数内的静态局部变量d的值是6,

d+=p后d赋值15,输出d的值,返回d的值。

27、在C语言中,若需一变量只在本文件中所有函数使用,则该变量的存储类别是()。 A.extern B.register C.auto D.static 答案:D

解析:static修饰全局变量时,表示该变量仅在本文件中可使用。 28、下列程序的输出结果是()。 int b=2;

int func(int *a) { b += *a; return b;

}

void main() { int a=2, res=2; res += func(&a); printf(\}

A.4 B.6 C.8 D.10 答案:B

解析:func()函数中,对全局变量b自增a的值,func()函数返回4;res+=4,res赋值为6。 29、请读程序: void main() { int a=1,b=2,c=3; ++a; c+=++b; { int b=4,c; c=b*3; a+=c; printf(\ a+=c; printf(\ } printf(\}

该程序的输出是()

A.first: 12,4,12 Second: 26,4,12 third: 4,3,6 B.first: 14,4,12 Second: 26,12,12 third: 26,3,4 C.first: 14,4,12 Second: 26,4,12 third: 26,3,6 D.first: 14,4,12 Second: 26,6,12 third: 26,4,6 答案:C 解析:程序运行到第6行时,a=2,b=3,c=6;程序运行到第10行时,a=14,局部变量b=4,

c=12;程序运行到第13行时,a=26,局部变量b=4,c=12;程序运行到第15行时,a=26,b=3,c=6。

30、以下程序运行后,输出结果是()。 int d=1; int fun(int p) { int d=5; d+=p++;

printf(\}

int main() { int a=3; fun(a); d+=a++; printf(\}

A.84 B.99 C.95 D.44

答案:A

解析:fun()函数调用时代入局部变量a的值,fun()函数体内局部变量d自增3,输出d的

值,即8,fun()函数返回8,此时全局变量d的值不变。d+=a++后,全局变量d自增3,此时全局变量d的值是4,输出全局变量d的值。

31、以下程序的输出结果是()。 int a, b; void fun() { a=100; b=200; }

void main() { int a=5, b=7; fun(); printf(\}

A.100200 B.57

C.200100 D.75 答案:B

解析:fun()函数改变的是全局变量的值,printf()函数输出的是局部变量的值,fun()函数不

会改变局部变量a、b的值。

多选题

1、在调用外部函数时,下列描述中正确的是()(多选) A.只要有函数名,就能调用外部函数

B.调用外部函数要包含外部函数所在的头文件 C.外部函数与调用者定义在同一个源文件下

D.在声明外部函数时,外部函数与原函数定义的返回值类型、函数名称和参数列表必须

C语言程序设计教程第四章练习题解析(1).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9ivrt784733ef8k93tpg_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top