全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
阅读下列程序,判断正确说法。(假设已包含 <iostream>,并使用 std 命名空间) inline int token(); int main() { std::cout << token(); } inline int token() { return 7; } A. 程序不能通过编译,因为调用前只有函数原型 B. 程序能通过编译并输出 7;函数原型允许先调用后定义,inline 不保证调用处一定展开 C. 程序能通过编译并输出 7;函数原型本身已定义了 token D. 程序不能通过编译,因为 inline 函数的定义必须出现在函数原型之前
登录后查看答案
设有如下声明:int a = 7; int *p = &a; int *&r = p; 若执行 *r = 25; 后,再用 cout << *p << " " << a; 输出,则结果为____;若随后又执行 p = nullptr;,则此时 r 的值是____(填"空指针"或"a 的地址")。
设有两个整型对象 m、n,声明并初始化指针 int* const p = &m。下列填空:p 所指对象可以通过 p 修改,但 p ____ 改为指向 n。
已有变量 `int x = 8;`。若要定义 `r`,使其成为 `x` 的引用,并且之后可通过给 `r` 赋值来修改 `x`,应选择哪项? A. `int& r = x;` B. `int r = x;` C. `const int& r = x;` D. `int& r;`
下列关于指针与 const 的声明,哪一项表示“指针所指对象不能通过该指针修改,但指针本身可以改为指向其他对象”? A. const int* p B. int* const p C. const int* const p D. int& p
有如下 C++ 递归函数:int f(int n){ if(n<=0) return 1; return n*f(n-2); } 则调用 f(7) 的返回值是:A. 5040 B. 105 C. 945 D. 16
定义 int a[3][3] = {{6}, {2, 9}, {4, 1, 8}}; 按二维数组的行、列下标规则,(a[0][2], a[1][1]) 的值是哪一项? A. (0, 9) B. (6, 2) C. (0, 2) D. (6, 9)
判断:对于 `string s = "harbor";`,调用 `s.substr(4, 20)` 会因第二个参数超过从位置 4 开始的剩余字符数而抛出 `out_of_range` 异常。
在 C++ 函数内有如下三条语句:① int m = 5; ② int n(m); ③ int p = m + n; 执行完后,变量 p 的值为 ____;此时若再执行语句 n = 12;,则 p 的值变为 ____;语句③中变量 p 的初始化方式称为 ____ 初始化(填'复制'或'直接')。
判断:在 C++ 中,若循环体执行 continue,for 循环会跳过迭代表达式并重新判断循环条件;while 循环则直接重新判断循环条件。
阅读下列 C++ 代码,程序运行后输出的数值是( ) int n = 25, count = 0; while (n != 1) { if (n % 2 == 0) n /= 2; else n = 3 * n + 1; ++count; } cout << count; A. 21 B. 22 C. 23 D. 24
在 C++ 中执行定义语句 `double a = 5;` 后,变量 a 的类型为____,其初始值为____;若改用列表初始化写作 `double a{5};`,其类型与初始值将____(填:相同 / 不同)。
判断:执行下列程序段后,输出为 6,3。 int i = 0, n = 0; while (i < 7) { ++i; if (i == 2 || i == 5) continue; if (i == 6) break; ++n; } printf("%d,%d", i, n);
判断:以下变量定义与初始化语句均合法,且 c 的初值为 7:double a = 7.9; const double b = a; int c{b};
在C++中,与标准错误输出设备相关联的两个流对象是 cerr 和 clog,其中不受缓冲(信息立即输出)的是____,而cerr配合插入运算符____完成数据输出;若程序需从标准输入设备读入数据,应使用的流对象是____。
在 C++ 函数体内执行语句 `int level;` 后,变量 `level` 已被定义,但尚未获得确定的初始值;因此,不能据此认为它的值为 0。判断该表述是否正确。
在 Windows 10 桌面默认设置下,用户要选中桌面上按名称排序后位于第 1 个和第 5 个的两个图标,同时不选中它们之间的第 2、3、4 个图标。一种可行操作是:先单击第 1 个图标,再按住 Shift 键单击第 5 个图标。该说法是否正确?
为避免头文件内容在同一翻译单元中被重复处理,常用头文件保护机制;其中用于判断保护宏尚未定义的预处理指令是 ____。
某程序的组成部分标记为:①预处理指令;②main 函数头;③函数体中的语句;④函数体的左、右花括号。下列哪种排列与嵌套关系符合 C++ 程序的基本结构? A. ① ② ④ ③ ④ B. ② ① ④ ③ ④ C. ① ② ③ ④ D. ① ④ ② ③ ④
某命令行工具先从标准输入读取一个代号,随后执行 `cout << "完成"; cerr << "校验提示";`。若只考察标准输入、标准输出和标准错误流对象的对应关系,哪一项正确描述了数据来源及两段文字的去向? A. 数据来自 cin;“完成”送往 cout;“校验提示”送往 cerr B. 数据来自 cout;“完成”送往 cin;“校验提示”送往 cerr C. 数据来自 cin;“完成”送往 cerr;“校验提示”送往 cout D. 数据来自 cerr;“完成”送往 cout;“校验提示”送往 cin