C++编程复习题与解析

需积分: 9 4 下载量 27 浏览量 更新于2024-07-29 收藏 303KB DOC 举报
"C++复习题库电子版汇总(王坦).doc" 这篇文档是一个C++复习题库,包含了多项选择和判断题,适用于C++的学习者进行自我测试和复习。让我们详细探讨一下其中的一些知识点: 1. **标识符**:在C++中,标识符是用来命名变量、函数、类等的符号,不能与关键字相同。题目中提到的`switch`、`file`、`break`和`do`都是C++的关键字,因此不能作为自定义标识符。正确答案没有给出。 2. **运算符优先级**:`%`(取模运算符)的优先级最低,其次是`=`, `<=`, `+`。因此,选项D是正确的。 3. **逻辑运算符**:`||`操作符(逻辑或)具有短路特性,如果左侧表达式为真,右侧表达式不会被执行。因此,`(m=a==b)||(n=c==d)`,如果`a`和`b`相等,`m`将被赋值为1,而不论`c`和`d`的值,`n`的值不会被赋值。所以,如果`a`和`b`不相等,`n`的值取决于`c`和`d`的相等性。由于没有具体值,无法确定正确答案。 4. **字符串长度**:在C++中,字符串长度计算不包括结束的空字符`\0`。因此,字符串"vm\x43\\\np\102qu"的长度是16,不包括`\0`。 5. **复合赋值运算符**:语句`a+=a-=a*a;`等同于`a = a - (a * a) + a;`,当`a`为6时,计算结果为`-24`。 6. **do-while循环**:在do-while循环中,条件检查是在循环体执行之后,所以无论条件是否满足,循环至少会执行一次。在这个例子中,`!x`在`x`为-1时为假,因此循环体执行一次后,`x`变为1,`!x`变为假,循环结束。所以选项C是正确的。 7. **for循环**:for循环的描述中,D选项是正确的。for循环的循环体可以包含多条语句,但需要用大括号括起来以形成一个复合语句。 8. **do-while循环与控制表达式**:do-while循环的条件`1<=x<=2`是一个非法的控制表达式,因为C++不支持这种连续比较。实际上,`1<=x`的结果是一个布尔值,不能直接与`2`比较。因此,这个循环体是不合法的,选项D正确。 9. **标准库函数**:用户可以直接调用标准库函数,不需要重新定义。选项B是正确的。 10. **参数传递**:在C++中,形参在函数调用时分配存储空间,实参可以是常量、变量或表达式,但形参不能是常量或表达式。形参和实参的类型和个数必须匹配,选项B是正确的。 11. **数组作为函数参数**:当数组名作为函数参数时,实际传递的是数组的地址,而不是数组的副本。因此,主调函数和被调函数共享同一段内存,选项B是正确的。 这些题目覆盖了C++的基础知识,如运算符优先级、逻辑运算、循环控制、字符串处理、变量作用域、数组参数等方面,对于学习C++的人来说是一份不错的练习材料。