九、常量

 常量:是指在程序运行期间其数值不发生变化的数据;

 1.整型常量:通常称为整数,整数可以是八进制以0开头、十六进制0x开头、十进制;

 2.浮点常量:又称为实数,只有十进制;分为单精度和双精度,同时该常量有两种表现形式,即指数形式和一般形式;

  一般形式:3.14,-5.21;指数形式由尾数部分,字母e和指数部分组成:1.176e+10,该数值表示1.176*[email protected]

  -3.14e-8,该数值表示-3.14*[email protected]

 3.字符常量:如‘A’,'b'这样的形式,在C语言中,字符常量是具有数值,字符常量的值就是对应ASCII码表字符的值,
对应字符的ASCII值,可以把字符常量看作是一个字节的正整数;常用的字符常量A=65,空格32;大小写字母差32;所以
大小写字母的切换便是加减空格;字符‘0’和数字0相差十进制数48;
下面让我们来举例说明:将字符0转化成数字0;

九、常量
上图中程序直接将字符‘0’进行printf输出,输出的便是48;所以我们将程序修改如下:

九、常量
九、常量
现在我们可以看到正常输出数字0;让我们在看一个转换大小写英文字母的例子,如下:
九、常量
九、常量
 从上程序可以看出,变量b赋值字母A,变量c输出小写字母a,完成了字母的大小写转换;
 4.字符串常量:是指双引号括起来的一串字符来表示的数据,如:“student”,"姓名";
 实际应用当中,经常使用数组或指针指向字符串首地址来存储字符串常量,值得注意的是,
 字符串均是以‘\0’字符常量结尾;
 让我们通过以下例子来观察字符串的长度示例
九、常量
九、常量
 从上面的程序可以看出,字符串的长度其实是以\0结尾的;
 5.标识常量:也叫符号常量,一般用大写英文字母的标识符,在使用之前必须预先定义,一般我们叫宏定义
 说明形式为:#define 标识常量名称 常量 例如:#define PI 3.141592654
 值得说明的是,定义一个宏定义后,可以在其他宏定义中使用:
 下面我们还是以一个例子说明:
九、常量
九、常量
 值得特别注意的是,define 在进入程序预编译时,只是对程序常量的简单的替换,并不会自主的将每个部分
 自动合并为整体,下面看一个例子,在此先说明一个命令,gcc -e xx.c -o xx.i 这个命令可将文件转换成预编译
 文件:
 如下程序
九、常量
 我们运行gcc -E define1.c -o define1.i,生成define.i文件,打开后,我们直接跳到849行,可以看到,
a=1+1*2+1+1直接替换two*2+two,进行了简单的替换,并没有加括号;如果我们想表达(1+1)*2+(1+1)
就要人为的加上括号;
九、常量