电大C语言形成性考核答案解析

需积分: 9 5 下载量 123 浏览量 更新于2024-07-31 收藏 24KB DOCX 举报
"这篇资料是关于中央广播电视大学2010年C语言形成性考核册第三部分的答案,主要内容包括选择题,涉及C语言中的函数声明、返回类型、作用域、指针运算、数组操作以及动态内存分配等基础知识。" 文章详细内容: 1. C语言中的函数声明规范: 函数声明的正确格式至关重要,例如选项A、B和D都是合法的,但选项C中的分隔符使用错误,应使用逗号而不是分号。 2. 函数返回类型: 函数可以返回void类型(无返回值),如选项A和B所示,但不能以新的类型名(如选项C的new)作为返回类型。 3. 正确的函数原型语句: 选项B是正确的,因为它指定了返回类型void,并且参数列表用括号包围,而其他选项都有错误。 4. 函数调用中的实参数量: 函数调用func(exp1, exp2, exp3 * exp4 - exp5)中有两个实参,即exp1和exp2,表达式exp3 * exp4 - exp5作为一个整体被传递,所以是第二个参数。 5. 文件级作用域: 外部静态类标识符(选项C)具有文件级作用域,意味着它们在整个源文件中都可见,而其他选项如函数形参、语句标号和自动类标识符的作用域更有限。 6. 全局级作用域: 全局变量(选项B)在整个程序中都可见,具有全局级作用域,不同于函数形参、内部静态类标识符和自动变量。 7. 指针运算与字节数: 由于浮点型数据通常占用4个字节,所以p+1指向的地址比p的地址大4个字节。 8. 数组地址与偏移量: 在C语言中,数组的元素通常按字节存储,对于字符数组,每个元素占1字节,因此a[8]的地址比数组首地址大8个字节。 9. 数组访问与指针操作: 选项B中的*a++是错误的,因为这将尝试递增数组名,而数组名在C语言中是常量,不可修改。 10. calloc函数使用: 正确的使用方式是为每个整型元素分配足够的空间,所以选项C的calloc(10,4)是正确的,因为每个整型占4字节。 11. 指针变量的定义: 为了定义一个指向整型变量m的指针,应使用选项B的int*p=&m;。 12. 指向double类型变量的指针: 定义指向double类型变量k的指针,应使用选项B的double*p=&k;。 13. 数组元素赋值: 假定的定义语句中,pa是一个指向数组a的指针,要将数组a中下标为3的元素赋值给x,错误的语句是未提供的选项,正确的语句应该是*x = a[3];。 这些题目覆盖了C语言的基本概念,包括函数、返回类型、作用域、指针操作、数组访问和动态内存分配,这些都是学习C语言时必须掌握的关键点。通过解决这些问题,学生可以更好地理解和应用这些概念。