C语言常量的类型
C语言常量的类型
在C语言中,其值不能被改变的量称为常量。常量有5种类型:整型常量、实型常量、字符常量、字符串常量和符号常量。下面一起来详细看看!
(一)数值转换
数字的四种表现形式:
①:二进制:所有数字由0,1构成,逢二进一,二进制数中不会出现2.。
例:110101
②:八进制:以数字0(注意不是以字母O,o)开头,所有数字由0~7构成,逢八进一,八进制数中不会出现8。
例:0112,0123,077等
③:十进制:所有数字由0~9构成,逢十进一,十进制数中不会出现10。
例:0,12,-15等
c语言和c++区别④:十六进制:以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)由一对单引号括起来,以反斜杠开头,后跟若干数字或者字母,比如‘ ’,其中““是转义的意思,后面跟不同的字符表示不同的意思,这类字符常量叫转义字符。具体如图所示 。
转义字符 转义字符的意义 ASCII码
回车换行 10
横向跳到下一制表位置 9
退格 8
回车 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称为符号常量。习惯上我们用大写字母来表示符号常量,小写字母表示变量,这样比较容易区别。
【拓展内容】
C语言变量理解
一、变量的概念
程序设计就是让计算机按照一定的指令来进行工作,可以说数据的处理是程序设计的主要任务。那么数据是怎么加入到计算机的内存中呢?计算机最初的功能就是能够存储数据并处理数据的机器。那么数据是怎么加入到计算机的内存中呢?在学习程序设计之前,很多学生对计算机的硬件设施都大概已经很熟悉了。计算机的硬件设施中有一个区域是用来存储数据的,计算机在工作的过程中会频繁的从这个区域读入和读出数据。要想让计算机按照某些指令(程序)自动工作,首先必须把数据存储到计算机的存储空间中。在某种计算机语言中实现这种数据存储功能的就是变量。变量就是计算机内存中的某一个存储单元。
二、变量的定义
C语言中变量在使用之前必须先对其进行定义,变量的定义的一般形式如下:【存储类别】数据类型变量名;其中存储类别是可以省略的。
1、存储类别计算机的内存一般分为三个部分:1)程序区;2)静态存储区;3)动态存储区;为了高效的发挥计算机的功能,不同类型的变量存放在不同的内存区域。变量的存储类别决定了变量中的数据在计算机内存中的存储位置。C语言中局部变量存放在动态存储区,全局变量或者静态变量存放在静态存储区。
2、数据类型在用程序处理问题之前,首先必须确定用何种方式描述问题中所涉及到的数据。这个问题在C语言中是由数据类型来决定的。变量的本质表现为在计算机中的存在时间和存储空间。变量的数据类型是用来决定变量在计算机中占用内存空间的大小。比如:整型数据在TC编译系统中占用两个字节的存储空间。C语言变量的类型不仅确定了数据在计算机内存中的存储区域的大小,同时确定了该数据能够参与的各种运算。任何一个C语言的变量必须有确定的数据类型,不管这个变量如何变化,变量的值都必须符合该变量数据类型的规定。
3、变量的名字通过以上介绍我们知道C语言中的变量就是计算机的某个存储单元,假设你给某个变量赋予了一个数值,对变量的处理其实就是对这个数据的处理。那么计算机是如何快速准确的到这个数据呢?计算机的内存是以字节为单位进行划分的。每个存储单元都有自己的地址编号,就向宾馆中房间的房间号一样。计算机就是通过地址来准确的确定数据的存储位置。但是对于程序员特别是非专业计算机人士,如果用计算机内存地址记录数据是非常难操作的。
为了更好的掌控变量,C语言规定可以给每个变量其一个容易识别的名字。这个名字的命名规则遵循C语言的标识符命名规则。C语言的变量名的命名在遵循C语言标识符规则的前提下,原则上可以是任意长度字符的组合。但是目前很多的C语言编译系统只能识别前31个字符,如果两个变量的前31个字符相同,则编译系统会认为这两个变量时同一个变量。为了避免这种混淆的出现最好避免使用多余31个字符的变量名。变量的理解变量就是计算机中的某个存储单元。定义某个变量本质上就是向计算机申请一些存储区域。这个存储区域的大小由变量的数据类型决定,这个存储区域的位置有变量的存储类类别决定。给变量赋予某个数值,其实就是向该变量对应的存储单元读入数据,对变量的处理就是对这个存储单元中的数据的处理。并且这个存储单元中的数据在程序的运行期间是可以发生变化的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论