电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

C语言程序设计教程 陈明主编 第4章答案

  • 资源ID:132054243       资源大小:164.50KB        全文页数:14页
  • 资源格式: DOC        下载积分:0金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要0金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

C语言程序设计教程 陈明主编 第4章答案

第4章 习题解答一、选择题1在C语言中,函数返回值的类型最终取决于 A)函数定义时的函数首部所说明的函数类型B)return语句中表达式值的类型C)调用函数时主调函数所传递的实参类型D)函数定义时形参的类型解析:函数返回值类型最终取决于定义函数时所定义的函数类型。答案:A2设函数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);解析:选项A中"abc"是字符串,与形参不匹配:由于Fun函数的返回值类型为void,所以选项B中进行了赋值操作是不正确的;在选项C中,65是不合法的字符形式,单引号中应该是单个字符。只有选项D才是合法的函数调用形式。答案:D3有以下程序:/* 文件路径名:ex4_1_3main.c */#include <stdio.h>/* 标准输入/输出头文件 */int f1(int x, int y) return x > y ? x : y; int f2(int x, int y) return x > y ? y : x; int main(void)/* 主函数main() */int a = 4, b = 3, c = 5, d = 2, e, f, g;/* 定义变量 */e = f2(f1(a, b), f1(c, d); f = f1(f2(a, b), f2(c, d);/* 调用函数 */g = a + b + c + d - e - f;/* 算术运算 */printf("%d,%d,%dn", e, f, g);/* 输出e,f,g */return 0; /* 返回值0, 返回操作系统 */程序运行后的输出结果是 。A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7解析:函数f1用于求两个数中的最大数,而函数f2用于求两个数中的最小数。因此有:e=f2(f1(a,b),f1(c,d)=f2(f1(4,3),f1(5,2)= f2(4,5)=4;f=f1(f2(a,b),f2(c,d) =f1(f2(4,3),f2(5,2) =f1(3,2)=3;g=a+b+c+d-e-f=4+3+5+2-4-3=7。答案:A4若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是 。A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不会占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元解析:在C语言中,函数的形参和实参是分别占用不同的存储单元的,因此,选项D是正确的。答案:D5有以下程序:/* 文件路径名:e4_1_5main.c */#include <stdio.h>/* 标准输入/输出头文件 */int a = 1;/* 全局变量 */int f(int c)/* 定义函数 */static int a = 2;/* 静态变量 */c+;/* c自加1 */return (a+) + c;/* 返回函数值 */int main(void)/* 主函数main() */int i, k = 0;/* 定义变量 */for (i = 0; i < 2; i+) int a = 3; k += f(a); /* 循环调用f()函数 */k += a;/* 将全局变量a的值加到k */printf("%dn", k);/* 输出k */return 0; /* 返回值0, 返回操作系统 */程序的运行结果是 。A)14 B)15 C)16 D)17解析:题中“static int a=2”定义了一个static局部变量,编译程序为其生成永久存储单元,在调用函数f()时,值一直都保存着,在主函数中,for循环进行两次,第一次循环得f(3)=2+3+1=6,从而k+=f(3)=6,第二次循环由于static局部变量a变成了3,从而f(3)=3+3+1= 7,故k+=f(3)=13,最后执行k+=a时,此时a的值为全局变量,其值为1,所以k的值为14,选项A是正确的。答案:A6有以下程序:/* 文件路径名:e4_1_6main.c */#include <stdio.h>/* 标准输入/输出头文件 */int a = 4;/* 全局变量 */int f(int n)/* 定义函数 */int t = 0;/* 局部变量 */static int a = 5;/* 静态变量 */if (n % 2) int a = 6; t += a+; else int a = 7; t += a+; return t + a+;/* 返回函数值 */int main(void)/* 主函数main() */int s = a, i;/* 定义变量 */for (i = 0; i < 2; i+) s += f(i);/* 循环调用f()函数 */printf("%dn", s);/* 输出s */return 0; /* 返回值0, 返回操作系统 */程序运行后的输出结果是 。A)24 B)28 C)32 D)36解析:main()函数在开始时,s=a=4,其中的a为全局变量。第1次循环时,i=0,f(i)=f(0),将0传递给形参n,首先执行if语句中的条件“n%2”;条件为假,则执行else下的复合语句“ int a = 7; t += a+; ”,可知t=0+7=7,使用return返回t=7+(a+)=7+5=12,a运算完后自增1,变为6,这里的a为函数f()内,复合语句之外的a,返回主函数后s=4+12=16。第2次循环时,当i=1时,f(i)=f(1),将1传递给形参n,首先执行if语句中的条件“n%2”;条件为真,则执行if下的得合语句“ int a = 6; t += a+; ”,可知t=0+6=6,使用return返回t=6+(a+)=6+6=12,这里的a为函数f()内,复合语句之外的a,返回主函数后s=16+12=28。答案:B7有以下程序:/* 文件路径名:e4_1_7main.c */#include <stdio.h>/* 标准输入/输出头文件 */Fun(int x, int y)static int m = 0, i = 2;/* 静态变量 */i += m + 1; m = i + x + y;/* 对静态变量作赋值运算 */return m;/* 返回函数值 */int main(void)/* 主函数main() */int j = 1, m = 1, k;/* 定义变量 */k = Fun(j, m);/* 调用函数Fun() */printf("%d,", k);/* 输出k */k = Fun(j, m);/* 调用函数Fun() */printf("%dn", k);/* 输出k */return 0; /* 返回值0, 返回操作系统 */执行后的输出结果是 。A)5,5 B)5,11C)11,11 D)11,5解析:在第1次调用Fun()函数时,x=1,y=1,函数Fun()的静态变量i=2+0+1=3,m=3+1+1=5,返回m=5。在第2次调用Fun()函数时,x=1,y=1,函数Fun()的静态变量i=3+5+1=9,m=9+1+1=11,返回m=11。答案:B8在一个C源程序文件中所定义的全局变量,其作用域为 。A)所在文件的全部范围B)所在程序的全部范围C)所在函数的全部范围D)由具体定义位置和extern说明来决定范围解析:全局变量的作用域不但从具体定义位置开始,直到文件结束为止,而且还可用extern声明来扩大作用域围,所以此选项D正确。答案:D9在C语言中,函数的隐含存储类别是 。A)auto B)static C)extern D)无存储类别解析:C语言规定,函数的隐含存储类别为外部类型,即extern类型,允许其他文件中的函数调用。答案:C10有以下程序:/* 文件路径名:ex4_1_10main.c */#include <stdio.h>/* 标准输入/输出头文件 */int Fun(int x)if (x = 0 | x = 1) return 3;/* 递归结束 */else return x - Fun(x - 2);/* 递归调用 */int main(void)/* 主函数main() */printf("%dn", Fun(7);/* 输了Fun(7) */return 0; /* 返回值0, 返回操作系统 */执行后的输出结果是 。A)7 B)3 C)2 D)0解析:x=7,通过递归调用Fun()函数后得到Fun(7)= 7-Fun(5)= 7-(5-Fun(3) =2+3-Fun(1)=2。答案:C*11下面选项中不属于面向对象程序设计特征的是 。A)继承性B)多态性C)类比性D)封装性解析:面向对象技术有三个重要特性:封装性、继承性和多态性;而类比性不属于面向对象的特征。答案:C12对于一个正常运行的C程序,以下叙述中正确的是 。A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束解析:C程序的执行总是从main函数开始,完成对其他函数的调用后返回到main函数,最后由main函数结束整个程序。一个C源程序有且公有一个main函数。答案:A二、填空题1以下程序中,函数Fun()的功能是计算x2-2x+6,主函数中将调用Fun()函数计算:y1 = (x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6请填空。/* 文件路径名:e4_2_1main.c */#inclu

注意事项

本文(C语言程序设计教程 陈明主编 第4章答案)为本站会员(飞****9)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

分享当前资源【C语言程序设计教程 陈明主编 第4章答案】到朋友圈,您即可以免费下载此资源!
微信扫一扫分享到朋友圈
二维码
操作提示:任选上面一个二维码,打开微信,点击“发现”使用“扫一扫”,即可将选择的网页分享到朋友圈
您可能感兴趣的------------------------------------------------------------------------------------------------------



关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.