厦门市网站建设_网站建设公司_Ruby_seo优化
2026/1/19 19:04:49 网站建设 项目流程


🌟 第 1 题

(1)以下代码能正确初始化指针。

int a = 5; int *p = a;

判断结果:错


(2)🧸 故事讲解:钥匙和房子 🏠🔑

  • a = 5
    👉 房子里有 5 个糖果

  • p是一把钥匙

  • 但是你写的是:

int *p = a;

意思是:

👉 用“糖果数量”当地址?!

这是不对的 ❌


(3)✅ 正确写法应该是

int *p = &a;

(4)🧠 小朋友口诀

👉指针要地址,要加 &



🌟 第 2 题

(1)执行下面代码将输出 11。

int x = 10; void f() { int x = x + 1; cout << x << endl; }

判断结果:错


(2)🧸 故事讲解:影子变量 👻

在函数f()里:

int x = x + 1;

这是在说:

👉 重新定义一个x,用这个“还没出生的 x”,给自己加 1

⚠️ 这是未定义行为


(3)🚫 不是 11,也不是 任何确定的值


(4)🧠 小朋友口诀

👉 在函数中,创建变量,未赋初值,是未定义行为,无法预测



🌟 第 3 题

(1)以下 C++ 代码合法。

struct Student { string name; int age; float score; }; Student* students = new Student[20];

判断结果:对


(2)🧸 故事讲解:建一个学生班级 🏫

  • Student:学生模板

  • new Student[20]
    👉 创建20 个学生


(3)🧠 这是 使用指针,创建数组的正确写法

✔ 合法

✔ 常见

✔ Student* students =newStudent[20];new是新开一个。


(4)🧠 记忆口诀

👉new + 类型[数量] = 一排对象



🌟 第 4 题

(1)执行下面代码将输出 10。

void func(int* p) { *p = 10; } int a = 5; func(&a); cout << a;

判断结果:对


(2)🧸 故事讲解:

  • a = 5:盒子里 5 个糖

  • &a:把盒子地址给函数

  • *p = 10
    👉 直接改盒子里的糖果数量


(3)🎯 输出结果

10

(4)🧠 记忆口诀

👉指针参数给地址,函数就能修改原变量的值



🌟 第 5 题

(1)二维数组传参,函数参数写成int arr[][4]是错误的。

判断结果:错


(2)🧸 故事讲解:书架 📚

int arr[3][4];
  • 行数:可以不写

  • 列数:必须写!


(3)✅ 正确写法

void f(int arr[][4], int rows)

(4)🧠 为什么?

因为编译器需要知道:

👉每一行多宽


(5)🧠 记忆口诀

👉二维数组传参,列数不能省,行数可以省



🌟 第 6 题

(1)递推是在给定初始条件下,已知前一项求后一项的过程。

判断结果:对


(2)🧸 故事讲解:接力跑 🏃‍♂️🏃‍♀️

  • 第 1 个人知道

  • 第 2 个靠第 1 个

  • 第 3 个靠前两个……

这就是递推


(3)📌 例子:斐波那契

f[n] = f[n-1] + f[n-2];

(4)🧠 记忆口诀

👉 前人栽树,后人乘凉

👉 递推算法,怎么算

👉从前向后,逐步来推算



🌟 第 7 题

(1)虽然插入排序是 O(n²),但小数据下很受欢迎。

判断结果:对


(2)🧸 故事讲解:整理几张扑克牌 🃏

  • 5 张牌:插入排序很快

  • 10000 张牌:就慢了


(3)🎯 原因

  • 操作简单

  • 常数小

  • 小数据很快


(4)🧠 记忆口诀

👉数据小,插入好,移动单元比较少



🌟 第 8 题

(1)冒泡排序一轮后结果是{4,1,3,1,2,5}

❌️判断结果:错误


(2)🧸 故事讲解:气泡往上冒 🫧

原数组:

4 1 3 1 5 2

一轮冒泡(最大往后):

1 3 1 4 2 5

(3)👉 “冒泡排序的每一轮”是怎样换?

一轮冒泡排序 = 从左到右,相邻元素两两比较一次

⚠️ 注意关键词:

相邻
一次一格地比

不是“直接把最大换到最后”,
而是——一步一步冒过去


(4)“冒泡排序三句话口诀”🫧

1️⃣只能比相邻
2️⃣一步一步换
3️⃣一轮结束,最大的移到最后面



🌟 第 9 题

(1)以下代码只能捕获 int 类型异常。

int main() { try { throw 42; } catch (...) { cout << "Caught" << endl; } return 0; }

❌️判断结果:错误


(2)🧸 故事讲解:万能接球手 ⚾

  • catch(...)
    👉是万能接球球

  • 所有类型都能接


(3)🧠 记忆口诀

👉catch 参数写啥,只抓啥

👉catch (...)是万能接球手,所有没写的类型,它全包



🌟 第 10 题

(1)以下代码将 Hello 写入文件 data.txt。

ofstream file("data.txt"); cout << "Hello"; file.close();

判断结果:错


(2)🧸 故事讲解:写错本子 📘

  • cout:写到屏幕

  • file:是程序中创建的 ofstream 对象,它可以写到文件"data.txt"里


(3)❌ 错在哪里?

cout << "Hello"; // ❌ 写屏幕

✅ 正确写法

file << "Hello";

(4)🧠 记忆口诀

👉创建 ofstream 对象并打开文件,使用对象 与<<写入内容是关键!


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询