C++编程复习题与解析
需积分: 9 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++的人来说是一份不错的练习材料。
2021-10-07 上传
2021-06-16 上传
2021-02-01 上传
2021-09-07 上传
点击了解资源详情
简单即优雅
- 粉丝: 0
- 资源: 1
最新资源
- giraphql:GiraphQL是用于使用强类型代码优先方法在打字稿中创建GraphQL模式的库
- opencv-python-4.x
- bayes
- cex-gen.rar_Windows编程_Unix_Linux_
- node-limbo-i18n:适用于Limbo应用程序的i18n库
- 最大化WPF窗口
- qxmpp:跨平台C ++ XMPP客户端和服务器库
- 元素:元素音频插件主机
- ProjetoTabela.rar_单片机开发_Visual_C++_
- Criacao:为UUNDC(联邦大学儿童教育中心儿童发展中心)制作的系统和数字媒体课程综合项目2015.1
- dotfiles:我的(Linux)点文件
- BatallaNaval
- 愿景:计算机视觉实践和探索计算机视觉的实践和探索
- netgear_cm700_status:Scrape DOCSIS状态页面
- upgrade_to_akka_typed
- Dragon Web Extension-crx插件