文章

185

粉丝

0

获赞

0

访问

35.0k

头像
2025年(408)计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年12月16日 18:38
阅读数 18


评分及理由

(1)得分及理由(满分2分)

学生两次识别结果均正确指出进程控制块位于内核区,执行scanf()等待键盘输入时进程处于阻塞态。与标准答案完全一致。得2分。

(2)得分及理由(满分3分)

学生两次识别结果均正确指出main()函数代码位于只读代码段(第一次识别为“R段代码段”,可理解为只读代码段,不扣分)。对于需要驱动程序实现的函数,第一次识别为scanf()和printf(),第二次识别为scanf()和printf()(但表述为“系统调用”,驱动程序是实现系统调用的底层模块,此表述在操作系统语境下可接受,且与标准答案一致)。因此答案正确。得3分。

(3)得分及理由(满分3分)

本题有三个小问。学生两次识别结果均正确指出length变量分配在用户栈,ptr指向的字符串位于运行时堆(即堆区)。对于变量ptr的分配区域,学生的两次识别结果存在矛盾:第一次识别先说“ptr被分配在运行时堆区”,紧接着又说“ptr被分配在可读写数据段”;第二次识别重复了同样的矛盾表述。根据C语言语义,ptr是一个全局指针变量,其本身应存储在可读写数据段(.data或.bss),而非堆区。学生虽然给出了正确位置“可读写数据段”,但同时也给出了错误位置“运行时堆区”,造成了逻辑矛盾。因此,对于“ptr被分配在哪个区域”这一问,不能给分。其余两问正确。故本小题扣1分,得2分。

题目总分:2+3+2=7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发