//作者:ylotttt
//来源:http://blog.csdn.net/ylotttt/
首先要理解名字的概念。
通俗的讲名字就是程序员要用到的事物的代号(事物包括数据和函数)。在程序员写程序用到该事物时提及其名字,编译器就能找到相对应的事物。
1、什么是符号常量?(定义) 。
字面理解就是由#define定义的名字。#define指令用于把符号名字(或称为符号常量)定义为一特定的字符串。
如#define 名字 替换文本。
例:#define LOWER 0
其中LOWER就是符号常量。
2、符号常量与常量(辨析)
符号常量由#define定义的。
常量包括:整型常量、字符常量、浮点常量、枚举常量。
#define和枚举给程序员提供了将常量值与名字相关联的方法。
const常量(或称const变量)的特殊性见“C与C++部分不同(非面向对象部分)”一文。
常量表达式是其中只涉及到常量的表达式。可以在编译时计算而不必推迟到运行时。
3、enum(定义、注意)
枚举是常量整数值的列表。
在enum说明中第一个枚举的值为0,第二个为1,如此类推,除非指定了显示值。如果不是所有值都值定了,那么未指定的值将是最后一个指定值向后递增。
4、运算符(内容、优先级)
很多。一律使用括号。
5、条件运算符? : (定义、注意)
首先它是C语言中唯一的一个三元运算符。
条件表达式:表达式1?表达式2:表达方式3
先计算表达式1的值,为真(不为0),计算表达式2的值,为假,计算表达式3值,并以该值作为本条件表达式的值。
那么条件表达式结果的类型是表达式2的类型还是表达式3的类型?C语言定义其结果类型适合小变大的原则。即其结果类型是表达式2、3中占用位数大的那个类型,而不管执行了2、3中哪个表达式。
6、i++、++i、i--、--i(辨析)
加一、减一运算符只能用于变量。
在不给其它变量赋值的情况下,++作为前缀后缀的效果是一样的,即i自加1。同样,--作为前缀后缀的效果也是一样的,即i自减1。
7、sizeof()(定义、注意)
首先它是一个一元运算符。
可以用来计算对象和类型的大小,返回整型的所占空间的字节数。
sizeof 对象;
sizeof(类型名);
8、switch(定义、注意)
switch(表达式)
{
case 常量表达式: 语句序列
case 常量表达式: 语句序列
default: 语句序列
}
它根据表达式是否与若干常量整数值中的某一个匹配来相应地执行有关的分支动作。
由于在switch语句中case的作用就像标号一样,在某个case之后的代码执行完毕后,就进入下一个case执行,除非显示控制转出。可以使用break和return。
9、break、continue、return、goto(定义、辨析)
break用于for、while、do-while、switch语句中提前退出。
continue用于使其所在的for、while、do-while语句开始下一次循环。在while和do-while语句中,continue的执行意味着立即执行测试部分。在for语句中,continue的执行意味着让控制传递到for语句的增量部分。
return语句用于将程序执行控制返回到函数体之外。它同时可以携带返回值。
goto语句用于跳转到标号处继续执行的情况。标号必须与goto语句在同一函数中(标号的作用域为整个函数)。
10、typedef(定义、注意)
typedef是存储类型区分符(auto、register、statice、extern、typedef)。它并没有预留存储空间,只是给已有类型定义了一个别名,并没有引入新的类型。
11、位字段(注意)
一种可以在字内直接定义和访问字段的方法。