全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
判断题:在 C++ 中,使用 ifstream 打开文件后,即使文件打开失败,程序也会自动终止运行并给出错误提示,因此程序员无需调用 fail() 或检查流状态即可放心地继续用 >> 读取数据。
登录后查看答案
判断:对于 list<int> 类型的双向迭代器 it,表达式 it+1 是合法的,作用与 ++it 等价。
判断:事件委托是将事件处理函数绑定在父元素上,利用子元素触发的事件冒泡到父元素,再通过 event.target 判断实际触发事件的元素。
判断:在 JavaScript 中,设 let x = "10",则表达式 x - 5 的结果为数值 5,而表达式 x + 5 的结果为数值 15。
判断题:在 JavaScript 中,运算符「===」在进行比较时,若两个操作数的类型不同,则直接返回 false,不会进行类型转换。
判断:在同一层叠上下文中,普通块级元素保持 position:static,即使设置 z-index:999,也会因该数值大于 1 而覆盖 DOM 顺序更靠后的 position:relative、z-index:1 的重叠元素。
在 Flex 容器中,justify-content 用于控制项目沿交叉轴的对齐方式。判断该表述是否正确。
某元素设置 `box-sizing: border-box; width: 240px; padding-left: 17px; padding-right: 23px; border-left: 2px solid; border-right: 4px solid`,且不计外边距。有人据此断言该元素的内容区宽度为 198px。判断该断言是否正确。
判断:CSS 属性 `text-align: center;` 用于设置元素内文本的水平对齐方式。
判断:执行 `ofstream out("data.txt", ios::app);` 打开文件后,若 data.txt 原本已有内容,则随后通过 `out << "日志"` 写入的文本会覆盖原内容的开头部分,导致文件内容变为“日志”加原文件剩余内容。
程序尚未执行任何输入操作,且标准输入流 cin 的初始状态未被改变时,调用 cin.good() 的结果为 true。
判断:设有类模板定义 template<typename T> class Pair { T a, b; public: Pair(T x, T y):a(x),b(y){} };,则语句 Pair p(1, 2); 在 C++17 及以后标准中是合法的,编译器可根据构造函数实参自动推导出 Pair<int>;但在 C++17 之前的标准中,类模板使用时必须显式指定类型实参,写成 Pair<int> p(1, 2); 才合法。
判断:执行 `vector<int> v{6, 12, 18, 24}; auto it = v.begin() + 1; v.insert(v.begin(), 3);` 后,迭代器 `it` 仍有效并指向原来的元素 12。
判断题:定义函数模板 template<class T> T getMax(T a, T b); 后,调用 getMax(3, 5) 时,编译器会根据实参的类型将模板参数 T 推导为 int,因此该调用是正确的。
判断下列说法是否正确: #include <iostream> using std::cout; struct Base { virtual void f() { cout << "B"; } }; struct Derived : Base { void f() override { cout << "D"; } }; int main() { Derived d; Base* p = &d; p->f(); } 程序执行时,表达式 p->f() 调用 Base::f,因为指针 p 的静态类型是 Base*。
判断:若基类含有纯虚函数,派生类即使为该函数提供了匹配的覆盖实现,也仍然必定是抽象类。
判断以下说法的正误:设有 int a = 7; const int* p = &a; 则语句 *p = 9; 是合法的,因为对象 a 本身并不是 const 类型。
判断:设有声明 int x = 5; const int* p = &x; 与 int& r = x; 其中语句 *p = 8; 无法通过编译,而 r = 8; 可以通过编译并使 x 变为 8,两个说法都正确。
假设类 Point 有可访问的默认构造函数。在 C++ 中,语句 Point p[3]; 会创建 3 个 Point 对象并调用 3 次默认构造函数;语句 Point* q = new Point[3]; 也会创建 3 个 Point 对象并调用 3 次默认构造函数。因此 p 和 q 都是指向 Point 对象的指针,二者完全等价,都可以用 p[i] 或 q[i] 访问第 i 个对象,也都可以用 delete p; 或 delete[] q; 释放。该说法正确吗?
判断:定义 int data[5] = {4, 7}; 后,data[1] 引用第二个元素且值为 7,data[4] 引用第五个元素,而 data[5] 是该数组最后一个元素的合法引用。