数据对象:泛指数据存储区的术语,数据存储区能用于保存值。
左值:用于标识一个特定的数据对象的名字。
右值:指的是能赋给可修改的左值的量。
例如,变量的名字是一个左值。所以数据对象指的是实际的数据存储,左值是用于识别或定位那个存储的标识符。
运算符:有算术运算符、关系运算符。关系运算符的优先级低于算术运算符,但高于赋值运算符。
表达式:表达式是运算符和操作数的组合。每个表达式都有一个值。
语句:语句是对计算机的命令。有简单语句和复合语句。简单语句以一个分号结束。复合语句或代码块由一个或多个括在花括号里的语句构成。简单语句包括声明语句、赋值语句、函数调用语句
副作用:副作用是对数据对象或文件的修改。
顺序点:顺序点是程序执行中的一点;在该点处,所有的副作用都在进入下一步前被计算。在C中,语句里的分号标志了一个顺序点。它意味着一个语句中赋值运算符、增量运算符及减量运算符所做的全部改变必须在程序进入下一个语句前发生。
逗号运算符:1.逗号运算符是一个序列点,所以逗号左侧项的所有副作用都在执行逗号右侧项之前发生。2.整个逗号表达式的值是最右侧项的值。
参数(argument)与参量(parameter)
C99文档已经规定:对实际参数或者实际参量使用术语参数,对形式参量或者形式参数使用术语参量。
程序结构包括3种:顺序结构、循环结构、分支结构。
循环结构:
While循环和for循环都是入口条件循环,即在循环的每次迭代之前检查测试条件,所以有可能根本不执行循环体中的内容。Do while是出口条件循环,即在循环的每次迭代之后检查测试条件,保证了至少执行循环体中的内容一次。
选择哪一种循环结构?首先确定需要入口条件循环还是出口条件循环。入口循环用for还是while,二者皆可。一般而言,当循环涉及初始化和更新变量时,用for循环比较合适,而在其他情况下用while循环更好。
Else和if配对的规则是,如果没有花括号,else与离它最近的if匹配,除非最近的if被花括号括起来。
Break在switch语句中的作用是让程序离开switch语句,跳至switch语句后面的下一条语句。如果没有break语句,就会从匹配标签开始执行到switch末尾。
缓冲分为两类:完全缓冲I/O和行缓冲I/O。完全缓冲指的是当缓冲区被填满时才刷新缓冲区,通常出现在文件输入中。缓冲区的大小取决于系统,常见的大小是512B和4096B。行缓冲I/O指的是出现换行符时刷新缓冲区。键盘输入通常是行缓冲输入,所以按下Enter键后才刷新缓冲区。ANSI C后后续的C标准都规定输入是缓冲的。
从概念上看,C程序处理的是流而不是直接处理文件。流是一个实际输入或输出映射的理想化数据流。这意味着不同属性和不同种类的输入,由属性更统一的流来表示。
重定向输入:echo_eof < words,程序echo_eof将words文件作为标准输入流。
重定向输出:echo_eof > savewords,程序echo_eof将savewords文件作为标准输出流。
>>运算符可以把数据添加到现有文件的末尾,|运算符能把一个文件的输出连接到另一个文件的输入。
C中的对象指的是存储数据的一块内存。标识符可以用来指定对象的内容。
作用域和链接描述了标识符的可见性。存储期描述了通过对象的生存期。
作用域描述程序可以访问标识符的区域。一个C变量的作用域可以是块作用域、函数作用域、函数原型作用域或文件作用域。块作用域的可见范围是从定义处到包含该定义的块的末尾。函数的形参也具有块作用域,属于函数体这个块。函数作用域仅用于goto语句的标签。即使一个标签首次出现在函数的内层块中,它的作用域也延伸至正割函数。函数原型作用域用于函数原型中的形参名。在函数外面定义的变量具有文件作用域,从它的定义处到该定义所在的文件的末尾均可见。
C变量有3种链接属性:外部链接、内部链接或无链接。具有块作用域、函数作用域或函数原型作用域的变量都是无链接变量。意味着这些变量属于定义它们的块、函数或原型私有。具有文件作用域的变量可以是外部链接或内部连接。外部链接可以在多个文件程序中使用,内部链接变量只能在一个翻译单元中使用。
C对象有4种存储期:静态存储期、线程存储期、自动存储期、动态分配存储期。
可用枚举类型声明符号名称来表示整型常量,使用枚举类型的目的是提高程序的可读性。
C语言基本术语
最新推荐文章于 2024-08-06 15:14:19 发布