第二章 类型、运算符与表达式

来源:互联网 发布:制作书签的软件 编辑:程序博客网 时间:2024/06/08 13:16

1. 位模式 bit pattern

\ooo(ooo代表1到3个八进制数字)用来直接表示对应数字的ASC码
\xhh(hh是1到2个十六进制数字)用来直接表示对应数字的ASC码


2. 常量表达式

常量表达式就是只含有常量,不含有变量。这种表达式在编译时求值,而非运行时求值。
注意,全局变量只会进行一次初始化操作,而且是程序开始执行之前进行,并且初始化表达式必须为常量表达式。
而局部变量如果有显式初始化,则每次进入函数或者程序块都会初始化一次,且初始化表达式可以为任何表达式。


3. const限定符

用来限定变量时,变量值不能被修改。
用来限定数组时,数组所有元素的值都不能修改。
当数组作为某个函数的参数时,如int strlen(const char[ ]),用const来限定函数的数组形参,表示函数不能修改传递过来的数组元素的值。


4. 枚举类型

理解

枚举类型可以结合typedef来理解,倘若一种类型的变量只有几种可能的取值,就可以枚举类型来定义它

格式

1)enum weekday {sun,mon,tue,wed,thu,fri,sat};
以上定义了一种新的枚举类型weekday,这种类型只有七种取值。可以用这种新类型再来定义变量,如weekday workday;weekday weekend;等。
2)enum {sun,mon,tue,wed,thu,fri,sat} workday,weekend;这样是直接定义了两个这种类型的变量,但并未给这种类型命名。
3)大括号中的7个不是变量,是枚举元素或枚举常量,因编译系统把他们当成常量处理。因此不能再对他们赋值。
4)若在定义时不显式为枚举元素赋值,则从0开始顺序加1,若有部分显式赋值,则未赋值部分从最后一个显示赋值元素后自动顺序加1。
5)workday=(enum weekday)2;使用强制类型转换符来对枚举元素再次赋值,相当于将顺序号为2的元素赋值给workday,相当于workday=tue。

5. 声明与定义

声明:说明变量或者函数的性质,但并不分配存储单元。也就是仅仅告诉编译系统有这么一个性质的东西。
定义:创建变量或分配存储单元。
声明的位置没有限制:对函数声明来说,只要是调用此函数之前的任何地方。对于全局变量来说,在哪里声明,该全局变量的作用域就被扩展到了哪里。
函数的声明是函数原型,函数的定义是函数本身。可以有多个声明,但只有一个定义。

逻辑运算符

||与&&特殊点在于,它们从左往右顺序进行求值,一旦知道最终结果为真或假,立刻停止运算。


0 0
原创粉丝点击