文章

108

粉丝

40

获赞

1

访问

4.6k

头像
2025年计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年9月2日 19:02
阅读数 154

1)PCB位于内核区,当执行scanf()等待键盘输入的时候,进程处于阻塞态

2)main函数的代码位于只读数据代码区,当调用printf()和scanf()的时候需要靠驱动程序实现

3)ptr被分配到栈区,如果length没有被分配到寄存器中,会被分配到栈区,ptr指向的字符位于堆区


评分及理由

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

学生答案正确。PCB(进程控制块)位于内核区,执行scanf()等待键盘输入时,进程因等待I/O操作完成而处于阻塞态。得2分。

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

学生答案部分正确。main()函数的代码位于只读代码段(学生答“只读数据代码区”表述不够准确但意思正确,不扣分)。其直接调用的scanf()和printf()函数需要通过执行驱动程序实现(学生答案正确)。但学生未提及strlen()函数,该函数是库函数,不需要驱动程序,但题目问的是“直接调用的哪些函数”,标准答案只要求回答scanf和printf,因此学生答案正确。得3分。

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

学生答案部分正确。变量ptr是全局变量,应分配在可读写数据段(学生错误答为“栈区”)。变量length是局部变量,若未分配在寄存器中,则分配在用户栈(学生答案正确)。ptr指向的字符串是通过malloc动态分配的,位于运行时堆(学生答案正确)。因ptr分配区域错误,扣1分。得2分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发