什么是c语言常量?

C&C++ / 564人浏览 / 0人评论

C语言常量可以这么理解:时常存在的量,就是只要定义了就不会被改变(程序执行期间不会改变)的量叫做常量(你可以理解为固定值),又叫做字面量,常量就只需要这么理解。

什么是c语言常量?

常量可以这么理解:时常存在的量,就是只要定义了就不会被改变(程序执行期间不会改变)的量叫做常量(你可以理解为固定值),又叫做字面量,常量就只需要这么理解。

那么常量是什么数据类型呢?

其实常量可以是任何的基本数据类型,例如整数常量、浮点数常量、字符相关的常量,也有枚举类型的常量以及字符串字面值常量。

如果你定义了一个常量,程序执行过程中你想改变它,是万万不可的,因为它是常量。

整数常量可以带一个后缀,后缀是U和L的组合,U表示无符号整数(unsigned),L表示长整数(long);后缀可以大写,也可以小写,其U和L无先后顺序,且每个只能出现一次。

整数常量

一个整数常量,C语言中可以使用十进制、八进制或者十六进制来表示。

C语言中没有二进制输入,你可用函数去实现。

如何表示十六进制(使用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F来表示,16个大小不同的数,即逢16进1)?

前缀指定:0x或0X表示十六进制。

比如:0x52、0X2A等。

如何表示八进制(使用0、1、2、3、4、5、6、7来表示,即逢8进1)?

前缀指定:0表示是八进制。

比如:052、026等。

如何表示十进制(使用0、1、2、3、4、5、6、7、8、9来表示,即逢10进1)?

不带前缀则默认表示十进制。

比如:120、100、360

常量举例说明

521 // 十进制
0520 // 八进制
0x2e // 十六进制
50 // 十进制整数
120u // 无符号整数
120l // 长整数
63lu // 无符号长整数

浮点常量

C语言中浮点常量是由整数部分、小数点、小数部分和指数部分组成。

你可以使用小数形式或者指数的形式来表示浮点常量。

如果你使用小鼠形式表示浮点常量,那么这个浮点常量需包含整数部分、小数部分、要么两者同时包含。

如果你使用指数来表示浮点常量,那么这个浮点常量需要包含小数点、指数、或者同时包含两者。

带符号的浮点常量,是用e或者E引入的。

120.12
12.258E1 // = 122.58
1286e-2 // = 12.86
-5.5e-3 // = -0.0055
43E-4 // = 0.0043

字符常量

字符常量在一对单引号内,如:'a',可以存储在char类型的变量中。

字符常量用于表示执行字符集内的字符。

字符常量可以是一个普通的字符,如:'b'、一个转义序列c如:'t',或一个通用的字符,如:'u02C0'。

在C语言中,有一些特定的字符,如果它们前面有反斜杠,它们就会具有特殊的含义,被用来表示如换行符(n)或制表符(t)等。

转义序列码举例

转义序列含义
\ 字符
'' 字符
"" 字符
?? 字符
a警报铃声
b退格键
f换页符
n换行符
r回车
t水平制表符
v垂直制表符
ooo一到三位的八进制数
xhh . . .一个或多个数字的十六进制数

转义序列码输出案例

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("我爱您,");
    printf("我的祖国!\n");
    printf("C语言教程\n");
    printf("C语言\t学习\n");
    printf("C语言从何学起?\n");
    return 0;
}

打印输出

我爱您,我的祖国!
C语言教程
C语言   学习
C语言从何学起?

Process returned 0 (0x0)   execution time : 0.479 s
Press any key to continue.

字符串文本

字符串文本在一对双引号内(如:"Hello")的字符序列。

字符串表示一起构成以null结尾的字符串的字符序列。

必须在宽字符串文本前添加字母L作为前缀。

字符串文本有char类型数组(即char[])。

宽字符字符串有wchar_t类型数组,即wchar_t[ ]

字符串是包含类型为char的元素的数组。

数组中的元素数等于字符串中的字符数加上结尾的null字符。

字符串的字符将按顺序存储在连续内存位置。

字符串文本中的转义序列(例如,\ 或 " )将作为单个字符进行计数。

null字符(由 0 转义序列表示)自动追加到每个字符串并标记该字符串的末尾。

这会在转换阶段 7 出现。

请注意:编译器无法在两个不同的地址存储两个相同的字符串。

/GF强制编译器将相同字符串的单个副本置于可执行文件中。

转载注明:

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我