第2章 开始学习C++
2.6 复习题
1. C++程序的模块叫什么?
函数
2.下面的预处理器编译指令是做什么用的?
#include <iostream>
该编译指令导致预处理器将 iostream 文件的内容添加到程序中。
这是一种典型的预处理器操作:在源代码被编译之前,替换或添加文本。
include编译指令导致 iostream 文件的内容随源代码文件的内容一起被发送给编译器。
实际上, iostream 文件的内容将取代程序中的代码行#include
原始文件没有被修改,而是将源代码文件和 iostream 组合成一个复合文件,编译的下一阶段将使用该文件。
每个头文件都支持一组特定的工具。
对于纯粹的C++头文件(如iostream)来说,去掉h不只是形式上的变化,没有h的头文件也可以包含名称空间。
3.下面的语句是做什么用的?
using namespace std;
使用名称空间对 std 中 cout,cin等进行调用。
按照这种方式,类、函数和变量便是C++编译器的标准组件,它们现在都被放置在名称空间 std 中。仅当头文件没有扩展名h时,情况才是如此。
这意味着在 iostream 中定义的用于输出的cout变量实际上是std::cout,而endl实际上是std::endl。
std::cout;
std::cin;
using namespace std; //这个using编译指令使得 std 名称空间中的所有名称都可用。这是一种偷懒的做法。
using std::cout;
using std::cin;
然而,多数用户并不喜欢将引入名称空间之前的代码(使用iostream.h和cout)转换为名称空间代码(使用iostream和std::cout),除非他们可以不费力地完成这种转换。
于是,using编译指令应运而生。上面第二段代码表明,可以使用 std 名称空间中定义的名称,而不必使用std::前缀:
总之,让程序能够访问名称空间std的方法有多种,下面是其中的4种。
- 将using namespace std;放在函数定义之前,让文件中所有的函数都能够使用名称空间std中所有的元素。
- 将using namespace std;放在特定的函数定义中,让该函数能够使用名称空间std中的所有元素。
- 在特定的函数中使用类似using std::cout;这样的编译指令,而不是using namespace std;,让该函数能够使用指定的元素,如cout。
- 完全不使用编译指令using,而在需要使用名称空间std中的元素时,使用前缀std::。
4.什么语句可以用来打印短语“Hello, world”,然后开始新的一行?
5.什么语句可以用来创建名为cheeses的整数变量?
6.什么语句可以用来将值32赋给变量cheeses?
7.什么语句可以用来将从键盘输入的值读入变量cheeses中?
8.什么语句可以用来打印“We have X varieties of cheese,”,其中X为变量cheeses的当前值。
using namespace std;
cout << "Hello World" << endl;
int cheeses = 32;
cin >> cheeses;
cout << "We have " << cheese << "varieties of cheeses.";
9.下面的函数原型指出了关于函数的哪些信息?
int froop(double t);
void rattle(int n);
in 七 prune (void) ;
声明函数的返回类型,函数名,函数接受的参数数量和类型。
10.定义函数时,在什么情况下不必使用关键字return?
一种是 main() 函数末尾;
一种是 函数返回值为 void;
当向它传递参数23.5时,它将在屏幕上显示$23.50。由于这个函数把值发送给屏幕,而不是调用程序,因此不需要返回值。可以在原型中使用关键字 void 来指定返回类型,以指出函数没有返回值:
11.假设您编写的main( )函数包含如下代码:
cout << "Please enter your PIN: ";
而编译器指出cout是一个未知标识符。导致这种问题的原因很可能是什么?指出3种修复这种问题的方法。
std::cout << "Please enter your PIN: ";
using namespace std;
using std::cout;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下