文章

183

粉丝

0

获赞

1

访问

39.4k

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


评分及理由

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

学生答案正确指出进程控制块位于内核区,执行scanf()等待时进程处于阻塞态。与标准答案完全一致。得2分。

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

学生答案正确指出main函数代码位于只读代码段,并正确识别出scanf()和printf()需要调用驱动程序。与标准答案一致。得3分。

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

本题需要分析三个部分:ptr变量、length变量、ptr指向的字符串的存储位置。
标准答案:ptr(全局变量)位于可读写数据段;length(局部变量)若不在寄存器则位于用户栈;ptr指向的字符串(malloc分配)位于堆区。
学生第一次识别结果:ptr分配在“运行时堆型”(应为“运行时堆区”),length分配在“可读写数据段”,ptr指向“运行时堆区”。其中,ptr变量的位置判断错误(应为数据段而非堆区),length变量位置判断错误(应为栈而非数据段),ptr指向的字符串位置判断正确。
学生第二次识别结果:ptr分配在“只读代码段”,length分配在“可读写数据段”,ptr指向“运行时堆区”。其中,ptr变量的位置判断错误(应为数据段而非代码段),length变量位置判断错误(应为栈而非数据段),ptr指向的字符串位置判断正确。
综合两次识别,学生对于ptr和length的存储区域判断均存在逻辑错误,仅对ptr指向的字符串位于堆区判断正确。因此,本小题得1分(仅给字符串位置正确的分数)。

题目总分:2+3+1=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发