文章
317
粉丝
1
获赞
220
访问
83.0k

评分及理由
(1)得分及理由(满分2分)
学生两次识别均正确回答:进程控制块位于内核区;执行scanf()时进程处于阻塞态。答案与标准答案完全一致,逻辑正确。因此得2分。
(2)得分及理由(满分3分)
学生回答存在部分错误。
首先,关于main()函数的位置:第一次识别为“用户块”,第二次识别为“用户栈”,均为错误。main()函数的代码应位于只读代码段(.text段)。此部分逻辑错误,扣1分。
其次,关于需要驱动程序实现的函数:学生两次识别均只提到scanf()函数,遗漏了printf()函数。根据标准答案,scanf()和printf()都需要通过执行驱动程序实现。此部分回答不完整,扣1分。
因此,本小题得分为 3 - 1 - 1 = 1分。
(3)得分及理由(满分3分)
学生回答存在部分错误。
关于变量ptr的位置:两次识别均正确回答“可读写数据段”,得1分。
关于变量length的位置:两次识别均错误回答“只读代码段”。length是main函数内的局部变量,若未分配在寄存器,应位于用户栈。此部分逻辑错误,扣1分。
关于ptr指向的字符串位置:两次识别均正确回答“运行时堆区域”(或“可运行时堆区域”),表述与标准答案“堆区”一致,得1分。
因此,本小题得分为 1 + 0 + 1 = 2分。
题目总分:2+1+2=5分
登录后发布评论
暂无评论,来抢沙发