购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3
基本术语解释

高级编程语言(high-level programming language)

高级编程语言是一种面向过程或面向对象的参照数学语言而设计的近似于日常会话的语言,相对低级的机器级语言,有较高的可读性,更易理解。通常高级编程语言中的关键词都用英语表示。

全局变量(global variable)

如果一个变量定义在任何函数定义的外部,则称该变量为全局变量或外部变量,因为变量在其定义出现后即可被引用,所以全局变量定义通常出现在源程序文件中所有函数定义之前,其作用域和生存期与函数的作用域和生存期一样,可在整个程序执行过程中在任何地方被引用。

静态全局变量(static global variable)

C语言中提供了一种作用域仅局限在一个源程序文件中的静态全局变量。定义这种变量时,只要在全局变量定义前加关键字static即可。C语言中也可以定义静态函数,只要在函数头部的返回值类型前加static即可。静态全局变量和静态函数都只能在其定义所在的源程序文件中被引用,即作用域局限于所在文件中定义的所有函数,但其生存期为整个程序执行过程。

自动变量(automatic variable)

在C语言中,局部变量(local variable)是指在函数体内部定义的变量,函数体是由{}括起来的复合语句,局部变量的作用域仅在其定义所在的最小复合语句内。自动变量是指非静态局部变量,也称为auto型变量。

静态局部变量(static local variable)

静态局部变量也称为局部静态变量或内部静态变量,其定义位置与局部变量一样,也是定义在函数体内部,只不过需要在局部变量定义的开始加关键字static。

静态存储区(static memory area)

静态存储区是指在对程序进行链接时就已经分配好的存储区,在程序执行过程中,静态存储区中所有信息的存储位置都是固定的,程序执行结束时被释放。因此,静态存储区用于存储全局变量、静态变量和一些只读信息。

动态存储区(dynamic memory area)

动态存储区包括栈区和堆区,栈区中存放的信息由程序运行过程中相应指令的执行而进行分配,函数内部定义的非静态局部变量(自动变量)被分配在栈区;堆区中的信息则通过使用系统提供的内存管理函数,如malloc()、realloc()、calloc()、free()等,完成动态存储变量存储空间的分配和释放。

逻辑移位(logical shift)

逻辑移位是对无符号数进行的移位,它把无符号数看成一个逻辑数进行移位操作。左移时,高位移出,低位补0;右移时,低位移出,高位补0。

算术移位(arithmetic shift)

算术移位是对带符号整数进行的移位,移位前后符号位不变。移位时,符号位不动,只是数值部分进行移位。左移时,高位移出,末位补0,移出非符时,发生溢出。右移时高位补符,低位移出。移出时进行舍入操作。

循环(逻辑)移位(rotating shift)

循环移位是一种逻辑移位,移位时把高(低)位移出的一位送到低(高)位,即:左移时,各位左移一位,并把最左边的位移到最右边;右移时,各位右移一位,并把最右边的位移到最左边。

扩展操作(extending)

在计算机内部,有时需要将一个取来的短数扩展为一个长数,此时要进行填充(扩展)处理。有零扩展和符号扩展两种。

零扩展(zero extending)

对无符号整数进行高位补0的操作称为零扩展。

符号扩展(sign extending)

对补码整数在高位直接补符的操作,称为符号扩展。 2a+1tPIf8EjQrcs72h9ZUjSlkhmE1jjQH573gLkXKsMQEBsmfKiR0SSpAH/Zrnor

点击中间区域
呼出菜单
上一章
目录
下一章
×