C语言--第二篇类型、运算符与表达式

来源:互联网 发布:网络团伙诈骗怎么处理 编辑:程序博客网 时间:2024/06/08 06:22

1变量

            局部变量一般使用较短的变量名,外部变量使用较长的名字。C语言提供一下几种基本数据类型。

char  字符型,占用一个字节,可以存放本地字符集中的一个字符。

int      整型, 通常反映了所用及机器中整数的最自然长度。

float   单精度浮点型

double 双精度浮点型

此外还可以在基本数据类型前面加上限定符,short和long两个。sighed与unsighed可以用于限定char类型或任何整型。有关类型长度定义的符号常量以及其他与及其和编译器有关的属性可以在标准头文件<limits.h>和<float.h>中找到。

这里顺便提一下32位操作系统和64位的区别。

在32位平台中                                                                     64位平台

char类型         1个字节8位                                               char                   1个字节

short 类型       2个字节                                                     short 类型          2个字节                                               

int 类型           4个字节                                                      int 类型              4个字节

long类型         4个字节                                                     long                   8个字节(区别)

long long         8个字节                                                  long long            8 个字节 

指针                 4个字节                                                     指针                   8个字节(区别)

而单精度浮点型数据通常占4个字节,而双精度浮点(double)占8个字节。字符变量在内存中存储时,将其ASCII值存入存储单元中。字符变量在输出时既可以按整型输出(ASCII值),也可以按字符输出(%c,输出是字符)。

默认情况下,外部变量与静态变量将被初始化为0.但是未经初始化的局部变量是为定义的值。

const用来限定变量的值不能修改,对于数组而言,const指定数组的所有元素的值不能被修改。

2常量

            long整型常量通常以l或者L结尾,无符号常量以u或者U结尾,ul或者UL表明是unsighed long型数据。浮点性常量则通常包含一个小数点(23.2)或者一个指数(1e-2),没有后缀通常表示double,而f或F表示float类型,l或者L表示long double类型。8进制整型常量以0开头,十六进制以0x开头。例如0XFUL表示unsighed long 类型等于十进制15。

            字符常量,一个字符常量表示一个整数,如'\0'但是它并不表示数字0.而是表示ASCii字符集中的值,与数字0没有半毛钱关系,当然还有转义字符(控制字符)如‘\n’,其中反斜杠"\"后面的字符表示转换的意思,'\n'表示转换n。还可以\000(八进制)和\xhh(十六进制)对应的ASCII值表示一个字符。

          字符串常量是一对一双撇号阔起来的字符序列。不能把一个字符串常量赋给一个字符常量。如

char c;c = "a";
上述赋值是错误的。在C语言中,每个字符串常量在结尾初加入一个'\0'作为结束标志位。'\0'表示ASCII值为0的字符,它是空操作符,不引起任何动作。它是系统自动加上的。必须用字符数组来存放字符串常量,存储字符串常量的物理内存单元比括在括号内的字符数多一个。strlen函数返回字符串的长度,不过阔'\0'。

           枚举类型是将变量的值一一列出来。它是常量。

enum boollean {YES, NO}
没有现实说明的情况下,YES 值为0,NO的值为1,以后的值自赠。

3运算符

               二元算术运算符号包括 + - * % /,从左至右运算,而正 +,负-优先级大于 * 和 /。关系运算符 > 、>=、 < 、<=优先级相同,== !=则优先级较低一级。关系运算符优先级小于算术运算符(从左至右)。逻辑运算符 &&和 || 优先级要低于关系运算符,而&&要高于 ||。 

               一般情况下,char与short类型都将转换成int类型,float类型转换成double型。强制类型转换(类型名)表达式。注意强制类型转换只是生成一个指定类型的n的值。n本省的值并没有改变。unsighed int与int运算时,int转换成unsighed。自增运算符++,如果 x = n++;n的初始值为5,那么x = 5,n = 6.

             C语言提供了6个位操作运算符。只能用于整形操作数,即char short int 和long类型。

             & 按位与(AND)    | 按位或(OR)  ^按位疑惑(XOR)  <<左移  >>右移 ~ 按位取反;

             按位异或是两个操作数中,对应位不同时设置为1,否则,将其设置为0.





 


原创粉丝点击