教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

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

来源:网络收集 时间:2026-04-29
导读: } 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; print

}

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.在声明外部函数时,外部函数与原函数定义的返回值类型、函数名称和参数列表必须

一致

答案:B,D

解析:外部函数调用时要包含其所在的头文件,当调用者声明了外部函数的原型,也可以

不用包含头文件

判断题

1、局部变量就是在函数内部声明的变量。 答案:true

解析:局部变量就是在函数内部声明的变量。

2、局部变量只有当它所在的函数被调用时才会被使用,而当函数调用结束时局部变量就会失去作用。 答案:true

解析:局部变量只有当它所在的函数被调用时才会被使用,而当函数调用结束时局部变量

就会失去作用。

3、局部变量就是在函数内部声明的变量,它只在本函数内有效。 答案:true

解析:局部变量就是在函数内部声明的变量,它只在本函数内有效,也就是说,只能在本

函数内使用它。

4、局部变量只有当它所在的函数被调用时才会被使用,当函数调用结束时局部变量还会一直存在。 答案:false

解析:局部变量只有当它所在的函数被调用时才会被使用,而当函数调用结束时局部变量

就会失去作用。

简答题

1、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void func(int a, int b) { printf(\}

void main() { func(3,2); printf(\}

答案:5

解析:fun()是一个实现两个数相加的函数,在主函数中调用并传入值,得到两个数的和 2、请阅读下面的程序,在空白处填写正确的代码,将函数的结果返回给调用者。 int func(int a, int b) {

int sum = 0; sum = a + b; ; }

void main() {

int sum = 0; = func(3,2); }

printf(\两个数相加的结果为%d\答案:return sum; sum ; …… 此处隐藏:606字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言程序设计教程第四章练习题解析(1)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/594036.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)