五邑大学程序设计原理试题解析

需积分: 6 0 下载量 118 浏览量 更新于2024-07-26 收藏 142KB DOC 举报
"中山大学计算机语言试题,包含C++相关知识,涵盖选择题,涉及C++源程序扩展名、字符串常量、条件表达式、类型转换、编译程序功能、逻辑运算符、if-else语句配对规则、函数声明、指针操作等概念。" 在计算机编程领域,C++是一种广泛应用的面向对象的编程语言,本试题主要测试学生对C++基础知识的理解和应用。试题中涉及到的知识点包括: 1. C++源程序文件的扩展名通常为`.cpp`,这对应选项A。 2. 字符串常量在C++中以双引号包围,合法的字符串常量不会包含算术运算,因此选项B和D包含非法字符串,而选项C所有项都是合法的字符串常量。 3. 条件表达式`a>b?a:b<c?c:d`中,当`a`不大于`b`时,取`a`的值;若`a`大于`b`且`b`小于`c`,则取`c`的值,因为`a`=1,`b`=2,`c`=3,所以表达式的值为`c`,即3。 4. 关于类型转换,选项D错误,因为在C++中,`a/(double)b`会导致`a`被隐式转换为`double`型,结果也是`double`型。 5. 编译程序的作用是将高级语言(如C++)程序转换为目标程序,对应选项C。 6. 逻辑运算符如`&&`和`||`的两侧可以是任何类型的数据,只要能进行布尔逻辑判断即可,因此选项D正确。 7. C++中的`else`子句总是与它前面最近未配对的`if`子句配对,对应选项B。 8. 在函数声明中,函数体是不需要的,只有函数参数的类型和参数名、函数名和函数类型是必需的,对应选项D。 9. 在给定的指针操作语句中,`c`最初指向`a`的地址,然后`p`被赋值为`c`,接着`p`被赋值为`b`的地址。因此,执行后`c`仍然指向`a`,选D。 10. 定义一维数组`inta[5],*p=a;`后,表达式`p=p+1`使指针`p`向后移动一位,合法;`a=a+1`是非法的,因为`a`是数组名,不能当作指针来加减;`p-a`计算两者之间的偏移量,合法;`*p++`是合法的,但题目中给出的形式不完整。 这些题目涵盖了C++的基础知识,包括文件扩展名、字符串常量、条件表达式、类型转换、编译过程、逻辑运算符的使用、条件语句的配对规则、函数声明的理解以及指针操作等核心概念,对于学习和掌握C++编程至关重要。