时间无关性的先决条件是哪些东西不能被外界改变?
A.常量
B.变量
C.指针值
D.资源的状态
正确答案:BCD
答案解析:
选项A:常量在程序设计中本身就具有固定值,通常不会在程序运行期间被外界轻易改变(除非通过一些未定义的、违反常规编程逻辑的手段,但这不属于正常讨论范畴),所以常量本身的性质就保证了其相对稳定性,一般不将其作为时间无关性先决条件中“不能被外界改变”重点关注对象。例如数学常量π,其值固定,在正常编程中不会被外界改变。
选项B:变量在程序运行过程中用于存储数据,如果变量的值被外界随意改变,会使程序的执行状态和结果不可预测。例如在一个计算平均值的程序中,用于存储数据总和及数据个数的变量,若被外界无规律改变,计算出的平均值就会随变量值的改变而改变,无法保证结果与时间无关,所以变量不能被外界改变是时间无关性的重要先决条件,B选项正确。
选项C:指针值指向内存中的特定位置,如果指针值被外界随意改变,程序对其所指向的数据访问就会出错,导致程序运行结果不稳定。比如一个链表结构中,节点指针若被外界错误修改,链表的遍历、插入、删除等操作都会产生错误结果,影响程序运行的时间无关性,所以指针值不能被外界改变是时间无关性的先决条件,C选项正确。
选项D:资源状态,如文件资源的打开关闭状态、网络资源的连接状态等,若被外界随意改变,程序对这些资源的操作结果就会不可控。例如一个正在向文件写入数据的程序,若文件被外界突然删除(改变了文件资源状态),写入操作就会失败,程序结果会因这种外界对资源状态的改变而不同,所以资源状态不能被外界改变是时间无关性的先决条件,D选项正确。
版权声明
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益
请联系本站我们将配合处理!
