C语言常量(整型、实型、字符型、字符串、符号常量)

对于C语言常量,该文章有详讲,由于文章太长,可参考如下思维导图和目录,可通过目录选择自己所需要的内容阅读。

C语言常量(整型、实型、字符型、字符串、符号常量)_第1张图片

直接常量

1.整型常量

整型常量即整数,包括正整数、负整数和零。C语言中,整型常量可以用十进制、八进制、和十六进制表示。

十进制表示:

由数字0-9,正、负号组成,如369,-663等;

八进制表示:

以0(数字0)为前缀,其后由数字0-7组成,如0163,036等;八进制数一般是无符号数。如0192、-011都是不合法的八进制常量。

十六进制表示:

以0x或0X为前缀,其后由数字0-9和字母A-F(字母大小写均可)组成,如0x12cd,0X6Fa等。十六进制数一般是无符号数。

注意:
  1. 在一个整型常量后面加一个字母u或U,认为是unsigned int型,如246U。

  1. 在一个整型常量后面加一个字母l或L,认为是long int 型,如12L。

2.实型常量

实型常量即实数,又称为浮点型。C语言中,实数只能用十进制形式表示,实数的表示方法有2种:小数形式和指数形式。

    • 小数形式

由整数部分、小数点、和小数部分组成,当整数部分或小数部分为0时,可以省略不写,但是小数点不可省略。如12.345,-.123等均为正确的实数。

    • 指数形式

由尾数部分、字母E或e和指数部分组成,格式为:+(-)尾数E指数。

如1.23E-2、3.14E+3等,他们表示的数值分别为1.23 X 10^(-2)、3.14 X10^3。

注意
  1. 以小数形式表示实数时,必须有小数点,并且小数点的前、后至少一边要有数字。

  1. 以指数形式表示实数时,字母E(或e)的前后必须有数字,并且指数部分只能是整数。如12.-E3、1.5E、E6都是不正确的实数。

在C语言中,实型常量默认为是double型的实数,如果在数的后面加字母f或F(如1.65f、654.87F),则认为是float型的实数。

3.字符型常量

字符常量指单个字符,用一对单引号及其括号所括起的字符来表示。如'a'、'B'、'='、'$'、'?'都是合法的字符常量。在C语言中,字符常量有以下

特点:
  1. 字符常量只能用单引号括起来,不能用双引号或其他括号;

  1. 字符常量只能是单个字符,不能是字符串。

  1. 字符可以是ASCII字符集中的任意字符。

使用字符常量时,每个字符在内存中占用一个字节,用于存储他的ASCII码值。所以C语言中的字符常量具有数值特征,可以像整数一样参加运算,此时相当于对字符的ASCII码进行运算。

4.字符串常量

字符串常量是由一对双引号”“括起来的零个或多个字符序列,如”HelloWorld"。

字符串中可以使用空格字符、转义字符和其他字符,也可以使用汉字等文字符号。如:“china"、”你好Visual C"、“\t Visual C"等。字符串中还可以使用空字符,如:”“表示空字符串,及不包含任何字符。

1.字符串常量在内存中占用一段连续的存储单元,系统自动在每个字符串的尾部加上'\0'作为字符串的结束标志,因此,n个字符组成的字符串,在内存中要占用n+1个字节空间。

可以使用sizeof运算符来计算字符串占用的内存空间大小。

如字符串常量”Hello\nWor"占用10个字节的内存空间,存储图示如下:

H

e

l

l

o

\n

W

o

r

\0

2.字符串的长度等于该字符串中所包含的有效字符的个数,如“HelloWorld"的长度为10。在字符串中,如遇到'\0'('\0'是字符串结束符)则认为该字符串结束,如”Hello\0World"的长度为5。如果字符串中有转义字符,则一个转义字符作为一个字符,如“HelloWorld\t"的长度为11。可以使用strlen()函数来计算字符串长度。

注意

字符常量和字符串常量在内存中的存储情况是不同的,如'6'在内存中占1个字节,存储的是其ASCII码,而”6“在内存中占2个字节,一个字节储存'6',另一个字节存储”\0"。可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量,在C语言中,由于没有提供字符串类型的变量,字符串一般用字符数组来解决。

符号常量

在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用前必须先定义,其一般形式为:

#define 标识符 常量值

其中#define是一条编译预处理命令,称为宏定义命令,其功能是把该标识符定义为其后的常量值,该标识符称为符号常量。一个#define命令只能定义一个符号常量,若要定义多个符号常量,需使用多个#define命令。

符号常量的使用,可以为编写程序提供很多

好处:
  1. 增加程序的可读性:通过标识符就知道该常量的意思,即见名知义。

  1. 提高程序的可维护性:通过符号常量使得修改常量很方便,只需在常量的定义处修改即可。

  1. 简化程序代码:通过符号常量可以简化复杂表达式的重复输入。

  1. 方便数组的定义:可以将整型符号常量最为数组的长度。

你可能感兴趣的:(C语言常量,c语言)