跳转到内容

编程基础/标志概念

来自维基教科书,开放的书籍,为开放的世界
方格旗

标志通常用于控制或指示特定操作的中间状态或结果。[1]

标志揭示数据结构是否处于可能的范围内,并且可能指示位域属性,用户需要特殊权限才能访问。 处理器具有许多状态,这些状态存储多个标志值,这些标志值可能有助于后处理。 一个例子是算术溢出。 如果内存超过限制,例如除以 0,标志将跳入以帮助处理。

标志概念的一个例子是在命令行程序开始时设置解析器的开关。 这些开关被转换为标志,然后进行处理。

计算机实现 =

[编辑 | 编辑源代码]

任何保存数据的变量或常量都可以用作标志。 可以将存储位置视为旗杆。 存储在变量中的值传达了一些含义,可以将其视为标志。 一个例子可能是名为:marital_status 的变量,其数据类型为字符。 通常存储在变量中的两个值是:‘S’ 和 ‘M’,表示单身和已婚。 然后,在程序中的某个地方,我们可能会查看变量以做出决定

控制 if then 控制结构的标志

if marital_status equals 'M'
    display "Are you filing your taxes jointly?"
    get answer from user store in filing_jointly variable

查看标志意味着使用关系运算符(在我们上面的示例中:相等)将变量中的值与另一个值(常量或另一个变量中的值)进行比较。

控制结构通过使用测试表达式来“控制”,测试表达式通常是布尔表达式。 因此,查看变量中的值并将其与另一个值进行比较的标志概念对于理解所有控制结构的工作原理至关重要。

两个具有相同含义的标志

[编辑 | 编辑源代码]

有时我们会使用 do while 的迭代控制结构来让我们决定是否要再次执行循环操作。 变量可能被命名为“loop_response”,用户提示他们输入 ‘y’ 表示是或 ‘n’ 表示否。 从键盘获取答案并将其存储在我们的“loop_response” 标志变量中后,控制循环的测试表达式可能为

简单的标志比较

loop_response equals 'y'

这很好,但如果用户不小心打开了大写锁定键。 然后,‘Y’ 的响应将不会使控制结构循环并再次执行操作。 解决方案在于两次查看标志。 考虑

复杂的标志比较

loop_response equals 'y' or loop_response equals 'Y'

我们通过使用包含关系运算符和逻辑运算符的更复杂的布尔表达式来查看标志是否为小写 y 或大写 Y。

一个字节中的多个标志

[编辑 | 编辑源代码]

在汇编语言编程和许多控制特殊设备的技术程序中,使用单个字节来表示多个标志是很常见的。 这是通过让构成字节的 8 位中的每一个都代表一个标志来实现的。 每个位的值为 1 或 0,可以表示真假、开或关、是或否等。

关键词

[编辑 | 编辑源代码]
标志
一个用于存储信息的变量,该信息通常用于控制程序。
大洋洲的旗帜

参考资料

[编辑 | 编辑源代码]
华夏公益教科书