C语言总结(1)

来源:互联网 发布:淘宝客软件多少钱 编辑:程序博客网 时间:2024/05/18 03:03

1.标识符

标识符由字母数字构成,必须由字母开头;

下划线_算作字母,但不要用下划线作为标识符的首字母,因为库中通常用下划线作为标识符首字母,你如果这样用容易引起冲突;

标识符是区分大小写的,int A和int a代表不同的变量;

关键字不能用作标识符;

C语言区分内部名和外部名,内部名仅出现于定义改名称的文件,必须是能由前31个字符进行区分;

外部名是全局变量和非static函数名,这将涉及到汇编器和加载器,需要必须前6个字符能够进行区分,而且不区分大小写。


2.数据类型

c语言定义了四种基本数据类型:char, int, float, double。

char是字符型,占用一个字节的存储空间,也是一种整型;

int是整型,通常占用一个机器字的长度,即16位机器是2字节长,32位机器是4字节长度;

float是单精度浮点型;

double是双精度浮点型;

C引入了修饰符,主要包括signed, unsigned, short, long, 这几个修饰符会影响到变量的存储空间和取值范围。

signed和unsigned用来修饰整型,分别代表有符号和无符号,有符号表示有正负之分,无符号型只能取0和正数。

可以用来修改char,signed char取值范围是-128~127,unsigned char取值范围是0~255;

如果只声明char类型,则到底是signed char还是unsigned char,需要依赖于具体机器。

signed和unsigned也可以用来修饰int, short, long型。

short只能用来修饰int, 即short int,通常缩写为short;

long可以用来修饰int和double, long int可以缩写为long;


3.常量

C语言整数有三种表示方法,十进制、八进制和十六进制。

八进制整数以0开头,如020,代表十进制的16;

十六进制整数以0x或0X开头,如010,代表十进制16。

通常常量的类型可以通过其数值大小来确定,如一个常量超过了int型的取值范围,就会使用long型;

也可以通过后缀的方式指定常量类型:

l或L 长整型

u或U 无符号整型

ul或UL 无符号长整型

f或F float型


可以通过const关键字来声明常量,该常量不允许修改。

枚举也可以定义常量。

enum bool { FALSE, TRUE };

enum元素从0开始计数,依次递增,但可以手动指定某一个元素的值,各个元素的值可以允许相同,但名字不能相同。

enum相比#define宏定义的优势是允许调试时输出可以是enum元素的名称。


4.算术运算符

+

-

*

/

%

结合顺序是自左至右。


5.关系运算符和逻辑运算符

关系运算符:

<

<=

>

>=

==

!=

逻辑运算符:

&&

||

!

&&和||涉及短路的问题,即&&左侧的值为假和||左侧值为真时,则不进行后续计算;


6.自增和自减

++

--

++和--有前缀和后缀之分,前缀是在取值前先进行自增或自减操作;后缀是在取值后再进行自增或自减操作;


7.位操作符

位操作符仅能用于整型。

&

|

!

>>

<<

8.条件表达式

条件表达式是C语言唯一一个三元操作符。

expr1 ? expr2 : expr3

首先计算expr1的值,若为真,则计算expr2,否则,计算expr3;


9.赋值运算符

=

复合赋值运算符

+=、-=, *=, /=

这些运算符代表的含义如下:

a += 1 等价于 a = a + 1

a += y + 1 等价于 a = a + (y + 1)


10.类型转换


11.运算符优先级及结合性