计算机程序设计 · 2023 年真题(回忆版 + 结构化)
类型:考生回忆 + 公开抽取整理(B 级)| 200 分 · 150 分钟 边界:回忆版 / 公开整理,非考试院原卷 PDF 镜像;个别措辞以正版真题册为准。见 00-资料来源与使用说明 本地:
资料/计算机真题原卷/2023.txt
试卷结构
| 题型 | 题量 | 分值 |
|---|---|---|
| 一、单项选择 | 20 | 60 |
| 二、判断 | 10 | 20 |
| 三、填空 | 5 | 20 |
| 四、简答 | 4 | 40 |
| 五、计算 | 3 | 30 |
| 六、应用 | 3 | 30 |
一、选择题(回忆要点)
- 不能做标识符 → C.
&a fopen失败 → B.NULL- 取第 i 结点及前驱最省时 → C. 顺序表
a=4,b=3,c=2为真 → D.a&&b||c- 算法分析两方面 → D. 时间 + 空间复杂度
- 结构体错误说法 → B. 由系统直接提供
- 选存储结构不考虑 → B. 各结点值如何
scanf正确 → C.scanf("%f%f",&c,&d)b=*(p++),p=&a[1],a[5]={10..50}→ A. 20- 栈特点 → C. LIFO
for(int i=1;i++<4;);次数 → A. 3- 完全二叉树 12 结点叶子 → B. 6
- 操作链表须找到 → D. 表头
- 删
q(p前驱)→p->next=q->next; free(q); person是变量不是类型名- 双重 for → O(n²)
- 二分查找 → 键值有序顺序表
- 字符串连接 →
strcat - 树深度错误:各结点度最大值
int a[5];输入 →scanf("%d",a)
二、判断(回忆)
| # | 命题 | 参考 |
|---|---|---|
| 1 | 注释只能在程序最开始 | 错 |
| 2 | 满二叉树是完全二叉树特殊情形 | 对 |
| 3 | if 表达式只能是逻辑表达式 | 错 |
| 4 | 程序一定是算法 | 错 |
| 5 | 栈和队列都是线性表 | 对 |
| 6 | C 可嵌套调用 | 对(调用可嵌套) |
| 7 | 循环链表不一定成环 | 错 |
| 8 | 结构体成员存续期驻留内存 | 对 |
| 9 | fclose 成功返回 0 | 对 |
| 10 | 同一队列元素类型可不同 | 错 |
三、填空(回忆)
char占 1 字节- 图:元素 多对多
a[][3]={0},{1},{2},a[1][2]=0- 图遍历:深度优先 + 广度优先
- 合并升序 5 与 9:最少比较约 5(最坏 13,以教材为准)
四、简答要点
- 字符数组:输入
scanf/gets/fgets,输出printf/puts - 文件:文本 / 二进制
- 数据 vs 数据对象
- 递归:优缺点(简洁 / 栈开销)
五、计算题
递归 sub(6) → 21;i 仍为 6
跳过不及格平均 → n=5,avg=81.20
静态链表输出 → 2 然后 4
六、应用题(默写)
c
// 1. 三次成绩取最大
int a,b,c,m; scanf("%d%d%d",&a,&b,&c);
m=a; if(b>m)m=b; if(c>m)m=c; printf("%d\n",m);
// 2. 正负零
int x; scanf("%d",&x);
if(x>0) puts("正数"); else if(x<0) puts("负数"); else puts("零");
// 3. 十班人数查 y
int a[10],y,i,ok=0;
for(i=0;i<10;i++) scanf("%d",&a[i]);
scanf("%d",&y);
for(i=0;i<10;i++) if(a[i]==y){ ok=1; break; }
puts(ok?"Success":"Fail");回炉
- 原卷 PDF
- 2024 全量详解 · 考点拆分
返回:_索引 · 总索引