c语言中常量有何作用,C语言中的常量

实型常量只有十进制形式。如果不加说明,实型常量为正值,否则常量前面使用负号。

日常生活中所使用的带小数的常数,又称为实数、浮点数。C语言中的实数有小数形式和指数形式:

浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。

当使用小数形式表示时,必须包含整数部分、小数部分,或同时包含两者。当使用指数形式表示时,

必须包含小数点、指数,或同时包含两者。带符号的指数是用 e 或 E 引入的。

小数形式:由数字0~9和小数点组成。分为整数和小数两部分,可以是纯小数,小数点不能省略。

例如:100.5,-1.0,.123,5.,0.0、3.14159等。

指数形式:由尾数(十进制小数)、符号E或e及指数(十进制整数)三部分组成。

例如:123.0E-1,1.23E3,4.89e-4 314159E-5L 510E 210f .e55。

字符常量

C语言允许在定义变量的同时使变量初始化。

如: int a=3; // 指定a为整型变量,初值为3

float

f=3.56; // 指定f为浮点型变量,初值为3.56

char c=

‘a’; // 指定c为字符变量,初值为‘a’

计算机上可显示的全部符号,即ASCII码表上的全部字符。每个字符对应唯一的码值(次序值),例如:

‘0’表示数字字符0,其码值为48;

‘A’表示英文字符A,其码值为65等。

字符常量只能是单个字符。

字符常量可以是一个普通的字符(例如 'x')、一个转义序列(例如 '\t'),或一个通用的字符(例如

'\u02C0')。

字符常量有三种表示方法:

1、用一对单引号括起来的一个字符:

例如:‘A’、‘1’、‘b’、‘&’等。其中的单引号‘’是字符常量的边界,不表示字符本身。

2、用该字符的ASCII码值:

例如:用十进制数65(或八进制数0101或十六进制数0x41)表示大写字母'A'。

3、用转义字符:

C语言中采用转移字符表示ASCII码字符集中不可打印的控制字符和其它特定功能的字符。

如用于表示字符常量的单引号(')、用于表示字符串常量的双引号(")以及反斜杠(\)等都必须用转义字符表示。转义字符是一种以反斜线“\”开头,后跟一个或几个字符的字符。

在 C

中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义,被用来表示如换行符(\n)或制表符(\t)等。下表列出了一些这样的转义序列码:

转义序列

含义

\\

\ 字符

\'

' 字符

\"

" 字符

\?

? 字符

\a

警报铃声

\b

退格键

\f

换页符

\n

换行符

\r

回车

\t

水平制表符

\v

垂直制表符

\ooo

一到三位的八进制数

\xhh . . .

一个或多个数字的十六进制数

下面的实例显示了一些转义序列字符:

实例

#include

<stdio.h>

int main()

{

printf("Hello\tWorld\n\n");

return 0;

}

当上面的代码被编译和执行时,它会产生下列结果:

HelloWorld

字符串常量

由一对双引号(“”)括起来的由0个或多个字符组成的字符序列,任何字母、数字、符号和转义字符都可以组成字符串。一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。

您可以使用空格做分隔符,把一个很长的字符串常量进行分行。

下面的实例显示了一些字符串常量。下面这三种形式所显示的字符串是相同的。

"hello, dear" "hello, \ dear" "hello, " "d" "ear"

例如:

“a”是由一个字符a构成的字符串;

“Happynew Year”是由多个字符序列构成的字符串等,

双引号“”是字符串的边界,不是字符串的一部分。

注意字符串常量与字符常量的区别:如'a'为字符常量,"a"则为字符串常量,

两者虽然都只有一个字符,但在内存中占用实际内存单元的数量不同。字符常量'a'在内存中占1个字节,字符串常量"a"在内存中占2个字节,除字符a外还有字符串结束符‘\0’,该字符也将占用一个字节空间,以表示字符串的结束。

2、标识符

定义常量

在 C 中,有两种简单的定义常量的方式:

使用 #define 预处理器。

使用 const 关键字。

#define 预处理器

下面是使用 #define 预处理器定义常量的形式:

#defineidentifier value

具体请看下面的实例:

实例

#include

<stdio.h>

#define LENGTH

10

#define WIDTH

5

#define NEWLINE

'\n'

int

main()

{

int

area;

area =

LENGTH *

WIDTH;

printf("value

of area : %d",

area);

printf("%c",

NEWLINE);

return

0;

}

当上面的代码被编译和执行时,它会产生下列结果:

value of area:50

说明:如再用赋值语句给LENGTH、WIDTH赋值是错的

LENGTH、WIDTH/* 错误,不能给符号常量赋值

说明:程序中用#define命令行定义LENGTH、WIDTH代表常量10、5,此后凡在本文件中出现的LENGTH、WIDTH都代表10、5,可以和常量一样进行运算.

const 关键字

您可以使用 const 前缀声明指定类型的常量,如下所示:

consttype variable=value;

3、符号常量

当某个常量引用起来比较复杂而又经常引用时,将该常量定义为符号常量,即用标识符表示这个常量,并在程序中需要使用该常量的地方直接引用标识符。符号常量在使用前必须先定义。

定义格式:#define 标识符 常量

#define是预处理命令(以"#"开头),功能是将标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代表一个常量值。

习惯上,符号常量名用大写英文标识符。

具体请看下面的实例:

实例

#include <stdio.h> int main() { const int LENGTH = 10; const int WIDTH = 5; const charNEWLINE =

'\n'; int area; area = LENGTH * WIDTH; printf("value

of area :

%d", area); printf("%c",NEWLINE); return 0; }

当上面的代码被编译和执行时,它会产生下列结果:

value of area : 50

请注意,把常量定义为大写字母形式,是一个很好的编程实践。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值