C语言课后习题答案第八章.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【知识点详解】 1. 函数定义格式:C语言中,函数定义的正确形式应该是`return_type function_name(param_list) { body }`。其中,`return_type`是函数返回值的类型,`function_name`是函数名,`param_list`是参数列表。选项A符合这个规则,因此正确的函数定义形式是`double fun(int x, int y)`。 2. 函数体的正确形式:函数体内必须包含`{}`来界定函数体,并且参数应该在定义时指定类型。选项D符合这些要求,正确形式为`double fun(int x, int y) { double z; z = x + y; return z; }`。 3. 实参与形参的关系:在C语言中,实参(函数调用时传入的值)和形参(函数定义时的参数)占据独立的存储单元,选项A正确。 4. 无return语句的函数:如果一个函数没有`return`语句,那么在函数执行完毕后返回的值是不确定的,选项D正确。 5. 形参与实参的类型:C语言中,实参可以是常量、变量或表达式,但形参只能是变量。形参类型应与其对应的实参类型一致,因此选项B不正确。 6. 数据传递方式:C语言中,简单变量作为实参时,采用单向值传递,即形参接收实参的副本,改变形参不会影响实参的值,选项B正确。 7. 函数声明与调用:在示例代码中,`k=Prt_char(G);`调用了函数,但之前没有正确的函数声明。函数声明应使用函数原型,而不是`void`,因此错误在于函数声明和调用之间有冲突,选项C正确。 8. 缺省定义的函数值类型:如果C语言中函数值类型未明确指定,隐含的类型是`int`,选项B正确。 9. 函数返回值类型:函数返回值的类型是在定义函数时指定的,选项D正确。 10. 函数调用中的实参个数:在`func((exp1,exp2),(exp3,exp4,exp5));`中,有两个括号对,每个括号对被视为一个整体,因此调用含有2个实参,选项B正确。 11. 计算函数的值:根据题目描述,函数`f()`用于计算`(x+y)/(x-y)`,所以`sum`的计算应该是`sum = f(x+y, x-y) + f(z+y, z-y)`。填空答案是B和C。 12. 函数的嵌套与调用:在C语言中,函数定义不能嵌套,但函数调用可以嵌套,选项B正确。 13. 局部变量的作用域:在复合语句(大括号`{}`内的语句)中定义的变量只在该复合语句内有效,选项A正确。 14. 隐含存储类别的局部变量:未指定存储类别的局部变量,默认存储类别为`auto`,选项A正确。 15. 全局变量的存储类别:如果要定义一个只在当前源文件中可见的全局变量,应使用`static`存储类别,选项D正确。 16. 填空题:输入值为-125,程序通过`fabs(n)`将n变为正数,然后调用`fun()`函数。由于未提供完整的代码,无法确定`fun()`函数如何处理这个值,因此无法直接计算结果。但根据题目提供的部分代码,可以知道程序会先取n的绝对值,然后进行计算。 以上就是针对C语言课后习题答案第八章中的知识点详细解析,涵盖了函数定义、参数传递、作用域、类型匹配等多个方面。
剩余14页未读,继续阅读
- 粉丝: 3
- 资源: 5万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助