Hi!请登陆

【C语言】C语言常量<四>

2020-10-17 57 10/17

在程序运行中,其值不能被改变的量称为常量。常量有5种类型:整型常量、实型常量、字符常量、字符串常量和符号常量。

(一)数值转换

数字的四种表现形式:

①:二进制:所有数字由0,1构成,逢二进一,二进制数中不会出现2.。
例:110101
②:八进制:以数字0(注意不是以字母O,o)开头,所有数字由0~7构成,逢八进一,八进制数中不会出现8。
例:0112,0123,077等
③:十进制:所有数字由0~9构成,逢十进一,十进制数中不会出现10。
例:0,12,-15等
④:十六进制:以0x或者0X(数字0加字母x)开头,所有数字由0~9,A~F(或者a~f)构成,逢十六进一(其中A、B、C、D、E、F分别代表10、11、12、13、14、15)
例:0x4A、0X14c7等

在计算机内部,数字均以二进制形式表示和存放,用户输入的普通十进制数字都要被计算机转换成二进制才能在计算机内部存储,同样计算机的运算结果也为二进制,一般要将其转换成十进制数再输出给用户阅读,这种转换通常由计算机自动实现。

-(1)将十进制转换二进制、八进制和十六进制

除法:将十进制数除以2,记录余数,得到的商继续除以2,直到商为0,然后将各次相处所得的余数从后往前逆序排列,所得余数数字序列就是该十进制数对应的二进制数。八进制和十六进制转换方法同上。

例:十进制数13转换成二进制数的值为1101,转换八进制为015,转换成十六进制为D.

-(2)将二进制、八进制和十六进制转换成十进制

乘积求和:将二进制的每一位从低位到高位(右边为低位,左边为高位)分别乘以20,21,22。。。。,然后将这些积求和。

例如:(1101)2=(13)10 (317)8=(207)10 (23E)16=(574)10

-(3)二进制与八进制、十六进制数之间的相互转换

①:二进制转八进制:从右往左每三位一组转换成十进制数,将所得数据组合就是对应的八进制数(注意:高位不足三位补零)。
例:(010 110 111)2=(267)8
②:二进制转十六进制:从右往左每四位一组转换成十进制数,将所得数据组合就是对应的十六进制数(注意:高位不足四位补零)。
例:(0101 1011)2=(5B)16
③:八进制转化二进制:每一位数字转换为三位二进制数字
例:(13)8=(001 011)2=(1011)2
(注意:去掉前面的两个00,因为0在高位没有意义)
④:十六进制转化二进制:每一位数字转换为四位二进制数字
例:(E3)16=(1110 0011)2

(二)整型常量

整型常量有3种形式:十进制整型常量、八进制整型常量和十六进制整型常量。

(注意:c语言中没有直接表示二进制的整型常量,在c语言源程序中不会出现二进制。)

书写方式如下:

十进制整型常量:123 , 0 ,-24 , 85L(长整型常量) 等
八进制整型常量:051 ,-026 ,0773 等
十六进制整型常量:0x55 , 0x1101 , 0x , 0x5AC0 , -0xFF。
其中L为长整型。

(三)实型常量

实型常量有两种表示形式:小数形式和指数形式。

小数形式:5.4   0.074      -23.0
指数形式:5.4e0 4.3e-3 -3.3e4
(1)小数部分为0的实型常量,可以写为453.0 或453。
(2)用小数表示时,小数点的两边必须有数,不能写成“ .453“和“453.“,而应该写成“0.453“和“453.0“。
(3)用指数写法时,e前必须有数字,e后面的指数必须为整数(注意:整数阶码可以是正数,负数,也可以是八进制数、十六进制数,但必须为整数)。

(四)字符常量

字符常量的标志是一对单引号‘ ’,c语言中的字符常量有两类:

(1)由一对单引号括起来的一个字符,如‘a ’, ‘r’ ,‘#’。注意: ′a′ 和 ′A′ 是两个不同的字符常量。
(2)由一对单引号括起来,以反斜杠开头,后跟若干数字或者字母,比如‘n’,其中““是转义的意思,后面跟不同的字符表示不同的意思,这类字符常量叫转义字符。具体如图所示 。

转义字符    转义字符的意义         ASCII码
\n              回车换行                        10
\t               横向跳到下一制表位置    9
\b              退格                                8
\r               回车                               13
\f               走纸换页                        12
\\               反斜线符"\"                    92
\'               单引号符                         39
\”              双引号符                         34
\a              鸣铃                                 7
\ddd         1~3位八进制数所代表的字符
\xhh        1~2位十六进制数所代表的字符

(五)字符串常量

C语言中,以双引号括起来的,由若干个字符组成的序列即为字符串常量。

例:“ni hao” “happy”等等。

(六)符号常量

符号常量是由宏定义“#define“定义的常量,在C程序中可用标识符代表一个常量。

例:计算圆的面积的c程序。

#include
#define  PI   3.14159
main()
{
float  r,s;
r=12.5;
S=PI *r*r;
printf(“s= %f ”,s);
}

说明:#define 是宏定义,此程序中所有出现PI的地方都代表3.14159,同时PI称为符号常量。习惯上我们用大写字母来表示符号常量,小写字母表示变量,这样比较容易区别。

相关推荐