GESP8 · 2024年12月真题

客观题逐题精讲

15 道单选 + 10 道判断。每题保留题干、选项、答案、考点、分步推导和易错提醒,适合投影讲评与课后复习。

一、考点地图

不定方程计数1 题
动态规划实现方式1 题
对数函数1 题
多重循环计数1 题
二维数组参数1 题
二维数组内存布局1 题
二项式定理1 题
二项式系数与杨辉三角1 题
分类计数1 题
广度优先搜索1 题
哈希冲突1 题
结构体作用域1 题

二、单选题逐题讲

单选题 1 分类计数

小杨家响应国家“以旧换新”政策,将自家的汽油车置换为新能源汽车,正在准备自编车牌。自编车牌包括5位数字或英文字母,要求第5位必须是数字,前4位中可以有最多1位英文字母。英文字母必须是大写,而且不能是O或I(因为容易与数字0或1混淆)。请问自编车牌共有多少种可能性?()。

  1. A100,000
  2. B1,060,000
  3. C1,360,000
  4. D1,460,000
展开解析
答案:B
分类计数
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 第5位必须是数字,有 10 种。
  2. 前4位分两类:全是数字时有 10^4=10000 种;
  3. 恰有1位字母时,位置有 4 种,字母有 24 种,其余3位数字有 10^3 种。
  4. 所以总数为 10×(10000+4×24×1000)=1,060,000,对应 B。
易错点:字母不能取 O 和 I,所以是 24 个,不是 26 个。
单选题 2 圆排列与捆绑法

新年到,四家人在一起聚会。其中两家有三口人,另外两家有两口人。现在要安排大家在一张十人圆桌坐下,要求一家人必须相邻就座。由于有“主座”的习俗,每个座位都被认为是不同的。请问共有多少种就座方案?()。

  1. A8640
  2. B6912
  3. C144
  4. D60
展开解析
答案:A
圆排列与捆绑法
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 把四家人看成4个块,块大小分别为 3、3、2、2。
  2. 先算块在有主座圆桌上的排法:选一个分界起点有 10 种,4 个块的环形顺序有 3! 种,但每种安排会被 4 个块边界重复计数一次,所以块排法为 10×4!/4=60。
  3. 每个3口之家内部有 3! 种,两家共 3!×3!;
  4. 每个2口之家内部有 2! 种,两家共 2!×2!。
  5. 总数 60×3!×3!×2!×2!=8640,选 A。
易错点:“有主座”说明旋转后座位不同,不能直接套无标号圆排列的 (n-1)!。
单选题 3 C++ 继承与抽象类

下面关于C++类继承的说法,错误的是()。

  1. A一个类可以继承多个类。
  2. B一个类可以被多个类继承。
  3. C一个类可以继承另一个类的子类。
  4. D抽象类必须被至少一个类继承,否则会编译错误。
展开解析
答案:D
C++ 继承与抽象类
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. A、B、C 都是允许的:C++ 支持多重继承,一个基类也能被多个派生类继承,继承关系还可以继续往下延伸。
  2. D 错在“必须被继承”。
  3. 抽象类即使没有任何派生类,也不会编译错误;
  4. 只有试图直接实例化抽象类时才会报错。
易错点:抽象类的限制是“不能实例化”,不是“必须马上被继承”。
单选题 4 有向图邻接表

使用邻接表表达一个简单有向图,图中包含 v 个顶点、e 条边,则该出边表中边节点的个数为()。

  1. A𝑣 × ( 𝑣 − 1 ) v×(v−1)
  2. B𝑣 × 𝑣 v×v
  3. C2 × 𝑒 2×e
  4. De
展开解析
答案:D
有向图邻接表
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 出边邻接表中,每条有向边只会出现在其起点的链表里一次。
  2. 因此图里有 e 条边,就对应 e 个边结点,选 D。
  3. 2e 是无向图邻接表常见的边结点数。
易错点:有向图与无向图的邻接表存储次数不同,不要把 2e 套过来。
单选题 5 二维数组参数

以下将二维数组作为参数的函数声明,哪个是符合语法的?()。

  1. Avoid Bubble(int a[10][], int m);
  2. Bvoid Bubble(int a[][], int n, int m);
  3. Cvoid Bubble(int (*a)[20], int n);
  4. Dvoid Bubble(int * a[20], int n);
展开解析
答案:C
二维数组参数
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 把二维数组作为参数时,除第一维外,其余各维大小必须已知。
  2. int (*a)[20] 表示“指向含 20 个 int 的数组的指针”,能正确接收二维数组的一行地址。
  3. A 少了第二维,B 两维都未定且语法损坏,D 是“含 20 个 int* 的数组”,不是二维数组,所以正确项是 C。
易错点:int (*a)[20]int *a[20] 含义完全不同,括号位置不能看错。
单选题 6 直线斜率公式

已知两个点 A、B 在平面直角坐标系下的坐标分别为 ( 𝑥 𝑎 , 𝑦 𝑎 ) (xa,ya)和 ( 𝑥 𝑏 , 𝑦 𝑏 ) (xb,yb),并分别定义变量 double xa,ya,xb,yb;存储坐标。假设直线 AB 的斜率存在,下列哪个表达式可以用来表达它?()。

  1. A(xa - xb) / (ya - yb)
  2. B(xa - xb) / (yb - ya)
  3. C(ya - yb) / (xa - xb)
  4. D(ya - yb) / (xb - xa)
展开解析
答案:C
直线斜率公式
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 直线 AB 的斜率是“纵坐标变化量 ÷ 横坐标变化量”,所以 k=(ya-yb)/(xa-xb)。
  2. A 是倒数,B 分母符号错,D 等于斜率的相反数,因此应选 C。
易错点:斜率一定是 y 的差除以 x 的差,别把分子分母写反。
单选题 7 二项式定理

二项式 ( 𝑥 + 𝑦 ) 6 (x+y) 6 的展开式中 𝑥 3 𝑦 3 x 3 y 3 项的系数是()。

  1. A6
  2. B15
  3. C20
  4. D120
展开解析
答案:C
二项式定理
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 在 (x+y)^6 中要得到 x^3y^3,等价于从 6 个因子里选 3 个提供 x,其余 3 个提供 y。
  2. 系数就是组合数 C(6,3)=20,所以选 C。
易错点:这里求的是组合数,不要再额外乘排列数。
单选题 8 动态规划实现方式

以下关于动态规划的说法中,错误的是()。

  1. A动态规划方法有递推和递归两种实现形式。
  2. B递归实现动态规划方法的时间复杂度总是不低于递推实现。
  3. C动态规划方法将原问题分解为一个或多个相似的子问题。
  4. D动态规划方法通常能够列出递推公式。
展开解析
答案:B
动态规划实现方式
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. B 说“递归实现动态规划的时间复杂度总是不低于递推实现”太绝对。
  2. 带记忆化的递归和递推版 DP 在很多问题里访问的状态数相同,时间复杂度可以一样。
  3. A、C、D 都是常见正确描述,所以错误项是 B。
易错点:递归写法可能常数更大,但复杂度并不一定严格更差。
单选题 9 位运算与 lowbit

在下面的程序中,使用整数表示一种组合。整数二进制表示的某一位为1,表示该位对应的数被选中,反之为0表示未选中。例如,从0 - 5这6个数中选出3个,则0b111000代表选中3,4,5三个数,0b011001代表选中0,3,4三个数。zuhe_next函数按组合对应的整数由大到小的顺序,求出组合c的下一个组合。横线处可以填入的是()。

int intlow2(int c) {
    return ___; // 在此处填入选项
}
int zuhe_next_incur(int c, int n, int l) {
    if (n == 1) return c;
    if ((c & (1 << 1)) == 0) {
        int d = intlow2(c);
        c = (c & ~d);
        c = (c | (d >> 1));
    } else {
        c = (c & ~(1 << 1));
        c = zuhe_next_incur(c, n - 1, l + 1);
        int d = intlow2(c);
        c = (c | (d >> 1));
    }
    return c;
}

// 从n个数中选m个,当前组合为c
int zuhe_next(int c, int n, int m) {
    return zuhe_next_incur(c, n, 0);
}
  1. A((c - 1)^c)
  2. B((c - 1)^c) + 1)
  3. C((c - 1)^c) >> 1)
  4. D((((c - 1)^c) + 1) >> 1)
展开解析
答案:D
位运算与 lowbit
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. (c-1)^c 会得到从最低位 1 开始向右的连续全 1 掩码。
  2. 若要只保留原来最低的那一位 1,就先加 1 形成更高位的单独 1,再右移 1 位。
  3. 因此 intlow2(c) 应写成 ((((c - 1)^c) + 1) >> 1),选 D。
易错点:直接用 (c-1)^c 得到的是一串 1,不是单独的最低位 1。
单选题 10 多重循环计数

下面程序的输出为()。

#include <iostream>
using namespace std;
int main() {
    int N = 15, cnt = 0;
    for (int x = 0; x + x + x <= N; x++)
        for (int y = x; x + y + y <= N; y++)
            for (int z = y; x + y + z <= N; z++)
                cnt++;
        cout << cnt << endl;
        return 0;
}
  1. A174
  2. B447
  3. C816
  4. D4096
展开解析
答案:A
多重循环计数
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 程序统计的是满足 0≤x≤y≤z 且 x+y+z≤15 的三元组个数。
  2. 按循环条件完整枚举后,总计数为 174。
  3. coutreturn 不在三重循环内部,所以程序只输出一次最终的 cnt,对应 A。
易错点:容易误把输出语句当成在外层循环里,从而把中间结果也算进去。
单选题 11 最长公共子序列 DP

下面最长公共子序列程序中,横线处应该填入的是()。

#define MAX(A, B) ((A) > (B)) ? (A) : (B))
#define MIN(A, B) ((A) < (B)) ? (A) : (B))
int dp[MAX_L + 1][MAX_L + 1];
int LCS(char str1[], char str2[]) {
    int len1 = strlen(str1);
    int len2 = strlen(str2);
    for (int i = 0; i < len1; i++)
        for (int j = 0; j < len2; j++)
            if (str1[i] == str2[j])
                dp[i + 1][j + 1] = dp[i][j] + 1;
        else
            // 在此处填入选项
        return dp[len1][len2];
    }
}
  1. Adp[i + 1][j + 1] = dp[i][j + 1] + dp[i + 1][j]
  2. Bdp[i + 1][j + 1] = MIN(dp[i][j + 1], dp[i + 1][j])
  3. Cdp[i + 1][j + 1] = MAX(dp[i][j + 1], dp[i + 1][j])
  4. Ddp[i + 1][j + 1] = MAX(dp[i][j + 1], dp[i + 1][j]) + 1
展开解析
答案:C
最长公共子序列 DP
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. str1[i] != str2[j] 时,LCS 只能来自“去掉 str1[i]”或“去掉 str2[j]”这两个子问题,因此转移应取两者较大值。
  2. 所以应填 dp[i + 1][j + 1] = MAX(dp[i][j + 1], dp[i + 1][j]),选 C。
易错点:+1 只在字符相等时出现,不匹配时不能加。
单选题 12 Dijkstra 松弛操作

下列Dijkstra算法中,横线处应该填入的是()。

typedef struct Edge {
    int in, out; // 从下标in顶点到下标out顶点的边
    int len; // 边长度
    struct Edge * next;
} Edge;
// v: 顶点个数, graph: 出边邻接表, start: 起点下标, dis: 输出每个顶点的最短距离
void dijkstra(int v, Edge * graph[], int start, int * dis) {
    const int MAX_DIS = 0x7fffff;
    for (int i = 0; i < v; i++)
        dis[i] = MAX_DIS;
    dis[start] = 0;
    int * visited = new int[v];
    for (int i = 0; i < v; i++)
        visited[i] = 0;
    visited[start] = 1;
    for (int t = 0; ; t++) {
        int min = MAX_DIS, minv = -1;
        for (int i = 0; i < v; i++) {
            if (visited[i] == 0 && min > dis[i]) {
                min = dis[i];
                minv = i;
            }
        }
        if (minv < 0)
            break;
        visited[minv] = 1;
        for (Edge * e = graph[minv]; e != NULL; e = e->next) {
            ___ // 在此处填入选项
        }
    }
    delete[] visited;
}
  1. A1 if (dis[e->out] > e->len) 2 dis[e->out] = e->len;
  2. B1 if (dis[e->out] > min + e->len) 2 dis[e->out] = min + e->len;
  3. C1 if (dis[e->in] > e->len) 2 dis[e->in] = e->len;
  4. D1 if (dis[e->in] > min + e->len) 2 dis[e->in] = min + e->len;
展开解析
答案:B
Dijkstra 松弛操作
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 当前已确定的顶点是 minv,其最短距离为 min
  2. 沿出边 e 松弛时,应检查经过 minve->out 是否更短,即 dis[e->out] > min + e->len
  3. 因此更新语句应写成 B,目标点也是 e->out 而不是 e->in
易错点:Dijkstra 更新的是“起点到邻点的累计距离”,不是只看当前边长。
单选题 13 Dijkstra 复杂度

假设图 graph 中顶点数 v、边数 e,上题程序的时间复杂度为()。

  1. A𝑂 ( 𝑒 ) O(e)
  2. B𝑂 ( 𝑣 2 ) O(v 2 )
  3. C𝑂 ( 𝑣 log ⁡ 𝑣 + 𝑒 ) O(vlogv+e)
  4. D𝑂 ( ( 𝑣 + 𝑒 ) log ⁡ 𝑣 ) O((v+e)logv)
展开解析
答案:B
Dijkstra 复杂度
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 这份代码每轮都线性扫描全部 v 个顶点来找当前最小未访问点,这一步重复 v 次,代价是 O(v^2)
  2. 遍历所有邻接表总共再花 O(e),合起来是 O(v^2+e),通常记作 O(v^2),选 B。
易错点:只有使用堆优化时,Dijkstra 才常写成 O((v+e)log v)。
单选题 14 快速排序分区

下面的快速排序程序中,两处横线处分别应填入的是()。

void quick_sort(int a[], int n) {
    if (n <= 1)
        return;
    int pivot = 0, l = 0, r = n - 1;
    while (____) { // 在此处填入选项
        while (r > pivot && a[r] >= a[pivot])
            r--;
        if (r > pivot) {
            int temp = a[pivot];
            a[pivot] = a[r];
            a[r] = temp;
            pivot = r;
        }
        while (l < pivot && a[l] <= a[pivot])
            l++;
        if (l < pivot) {
            int temp = a[pivot];
            a[pivot] = a[l];
            a[l] = temp;
            pivot = l;
        }
    }
    quick_sort(a, pivot);
    quick_sort(____); // 在此处填入选项
}
  1. A1 | l < r 2 | a + pivot + 1, n - pivot - 1
  2. B1 | l < r 2 | a + pivot + 1, n - pivot
  3. C1 | l <= r 2 | a + pivot + 1, n - pivot - 1
  4. D1 | l <= r 2 | a + pivot + 1, n - pivot
展开解析
答案:A
快速排序分区
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 分区完成的停止条件是 l < r 不再成立,也就是左右指针相遇时结束。
  2. 枢轴最终落在 pivot 位置,右半段应从 a + pivot + 1 开始,长度为 n - pivot - 1,所以两空都对应 A。
易错点:右半部分长度要减去枢轴本身占的 1 个位置。
单选题 15 快速排序平均复杂度

上题程序的时间复杂度为()。

  1. A𝑂 ( 𝑛 ) O(n)
  2. B𝑂 ( 𝑛 2 ) O(n 2 )
  3. C𝑂 ( 2 𝑛 ) O(2 n )
  4. D𝑂 ( 𝑛 log ⁡ 𝑛 ) O(nlogn)
展开解析
答案:D
快速排序平均复杂度
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 快速排序平均情况下每次划分比较均衡,递归深度约为 O(log n),每层处理总代价为 O(n)
  2. 因此平均时间复杂度是 O(n log n),选 D。
易错点:快速排序最坏是 O(n^2),但题目按常规默认考查平均复杂度。

三、判断题逐题讲

判断题 1 字符运算与类型提升

表达式 '3' + '5' 的结果为 '8',类型为 char。

  1. 正确正确
  2. 错误错误
展开解析
答案:错误
字符运算与类型提升
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. '3''5' 参与运算时会先提升为 int,其编码值分别是 51 和 53,相加得到 104。
  2. 结果既不是字符 '8',类型也不是 char。
易错点:字符加法算的是编码值,不是把字符当十进制数字直接相加。
判断题 2 结构体作用域

在C++语言中,可以在函数内定义结构体,但该结构体类型只能在该函数内使用。

  1. 正确正确
  2. 错误错误
展开解析
答案:正确
结构体作用域
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 在函数体内部定义的结构体类型,其名字只在该函数的局部作用域内可见。
  2. 函数外部无法直接使用这个类型名。
易错点:类型定义也受作用域约束,不只是普通变量才受作用域影响。
判断题 3 排序复杂度比较

对n个元素的数组进行排序,快速排序和归并排序的平均时间复杂度都为 𝑂 ( 𝑛 log ⁡ 𝑛 ) O(nlogn)。但快速排序存在退化情况,使得时间复杂度升高至 𝑂 ( 𝑛 2 ) O(n 2 );归并排序需要额外的空间开销。

  1. 正确正确
  2. 错误错误
展开解析
答案:正确
排序复杂度比较
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 快速排序和归并排序的平均时间复杂度都可达 O(n log n)
  2. 同时,快速排序确实可能退化到 O(n^2),而归并排序通常需要额外辅助数组。
  3. 所以题目整体表述正确。
易错点:不要把快速排序的平均复杂度和最坏复杂度混为一谈。
判断题 4 二维数组内存布局

二维数组的最后一维在内存中一定是连续的,但第一维在内存中可能不连续。

  1. 正确正确
  2. 错误错误
展开解析
答案:错误
二维数组内存布局
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 普通二维数组在内存中是按行连续存放的,整块空间本身连续,因此最后一维连续,第一维对应的一整行一整行也连续排列。
  2. 所以“第一维可能不连续”这个说法错误。
易错点:要区分“二维数组”与“指针数组”,后者才可能出现行不连续。
判断题 5 对数函数

使用 math.h 或 cmath 头文件中的函数,表达式 log ⁡ ( 1000 ) log(1000)的结果类型为 double、值约为 3。

  1. 正确正确
  2. 错误错误
展开解析
答案:错误
对数函数
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. log(1000) 在标准库里表示自然对数,值约为 6.9078,不是 3。
  2. 返回类型是 double 这一点对,但数值判断错了。
易错点:只有以 10 为底时 log10(1000) 才等于 3,log 默认不是常用对数。
判断题 6 不定方程计数

你有三种硬币,分别面值2元、5元和7元,每种硬币都有足够多。买一本书需要27元,则有8种硬币组合(组合与顺序无关,“1个2元+1个5元+1个2元”与“1个5元+2个2元”认为是同样的组合)可以正好付清,且不需要对方找钱。

  1. 正确正确
  2. 错误错误
展开解析
答案:正确
不定方程计数
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 求非负整数解 2a+5b+7c=27
  2. 逐个枚举可得共有 8 组解,因此正好付清 27 元的组合数是 8。
易错点:题目按“组合”计数,不区分硬币出现顺序。
判断题 7 哈希冲突

使用哈希函数 𝑓 ( 𝑥 ) = 𝑥 % 𝑝 f(x)=x%p建立键值为 int 类型的哈希表,只要 p 取小于等于哈希表大小的素数,可保证不发生碰撞。

  1. 正确正确
  2. 错误错误
展开解析
答案:错误
哈希冲突
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 哈希函数 f(x)=x%p 即使 p 取素数,也只能改善分布,不能保证无碰撞。
  2. 只要两个整数相差 p 的倍数,它们的哈希值就相同。
易错点:素数模数常用于降低冲突概率,但不是“绝不冲突”的充分条件。
判断题 8 二项式系数与杨辉三角

杨辉三角中的第n行、第m项,即为将二项式 ( 𝑎 + 𝑏 ) 𝑛 (a+b) n 展开后 𝑎 𝑛 − 𝑚 𝑏 𝑚 a n−m b m 项的系数。

  1. 正确正确
  2. 错误错误
展开解析
答案:错误
二项式系数与杨辉三角
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. (a+b)^n 展开后,a^(n-m)b^m 的系数对应的是组合数 C(n,m)
  2. 若按常见编号方式把杨辉三角第一行记作第 0 行,则它位于第 n 行第 m+1 项,而不是题目说的“第 m 项”。
易错点:杨辉三角的“第几项”与幂指数里的 m 往往会差 1,取决于编号从 0 还是 1 开始。
判断题 9 广度优先搜索

判断图是否连通,可以通过广度优先搜索实现。

  1. 正确正确
  2. 错误错误
展开解析
答案:正确
广度优先搜索
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 从任意一个顶点做 BFS,如果最终能访问到图中所有顶点,就说明图连通;
  2. 否则不连通。
  3. 因此 BFS 可以用来判断图是否连通。
易错点:判断连通性时要看“是否访问到全部顶点”,不是只看搜索能否开始。
判断题 10 判别式条件

要求解一元二次方程 𝑥 2 + 𝑎 𝑥 + 𝑏 = 0 x 2 +ax+b=0,需要先判断表达式 𝑎 2 − 𝑏 × 4 ≥ 0 a 2 −b×4≥0是否为真。

  1. 正确正确
  2. 错误错误
展开解析
答案:错误
判别式条件
思考路径:先抓住题目的考点,再把题干条件转成可以计算、判断或套用性质的步骤;最后用选项反查是否有常见陷阱。

分步推导

  1. 若只讨论实数解,x^2+ax+b=0 的判别式确实是 a^2-4b
  2. 但题目说“要求解方程就需要先判断该条件是否为真”过于绝对,因为并不是所有求解场景都只限于实数范围。
  3. 因此这个断言按题目表述应判为错误。
易错点:“判断是否有实数解”与“是否能求解方程”不是完全相同的表述。
答案速查表

单选题

1B2A3D4D5C6C7C8B9D10A11C12B13B14A15D

判断题

1错误2正确3正确4错误5错误6正确7错误8错误9正确10错误