C语言-常量

什么是常量?

答:常量是在程序执行过程中,其值不发生改变的量,常量分为++直接常量++ 和++符号常量++两种。

其中直接常量又可以分为整型常量、实型常量、字符型常量、字符串常量。

直接常量

1.整型常量

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

十进制很简单,就是我们一般使用的进制。

八进制 :以数字0为前缀,后面由0~7组成,例如066,01234567等等;注意八进制数是无符号数即没有负号 - 和正号 + 。这意味着八进制数只能是正数,如 -0123是错误的。

十六进制 :以0x0X为前缀,注意是数字的零,不是字母o,x大小写都是正确的。后面是由0~9和字母A~F(大小写均可)组成,如0x12ab。同八进制数一样十六进制数也是无符号数。

2.实型常量

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

(1)小数形式:由整数部分,小数点和小数部分组成,当小数部分或整数部分为0时可以省略不写,但是小数点不能省略。例如:1.234 , 3. , -.123等等都是正确的。

注意必须要有小数点,且小数点前后至少一边有数字。

(2)指数形式:由尾数部分,字母e或E和指数部分组成。如1.234e11,表示为1.234×10¹¹。

注意e或E前后必须要有数字,并且指数部分只能是整数。

3.字符型常量

字符常量指单个字符,用一对单引号及其括号所括起来的字符来表示。如 'a' , 'c' , '+' 等等。

注意以下三点:

(1):字符常量只能用单引号括起来,不能用其他符号。

(2):字符常量只能是单个字符,不能用多个字符。

(3):字符可以是ASCLL字符集中的任意字符。

使用字符常量时,每个字符在内存中占用一个字符,用于储存它的ASCLL码值。所以c语言的字符量具有数值特性,可以像整数一样参与运算,此时相当于字符的ASCLL码值参与运算。

对于控制字符(回车换行等)和不可见字符,在c语言中通过转义字符来表示。如:回车换行\n。

4.字符串常量

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

字符串里面可以有数字,字母,汉字,空格等等。

字符串还可以使用空字符,如:""表示空串,即不包含任何字符。

cpp 复制代码
main()
{
	3.14,-3e-2;
	10,2;
	'a','A','D';
	"abcdefg","hjds";
}

符号常量

在c语言中,可以用一个标识符来表示一个常量,称为符号常量。

如宏定义:

define 标识符 常量值

举例:

define PI 3.1415926

cs 复制代码
#define PI 3.14
main()
{
    int r;
	scanf("%d",&r);
	printf("圆的周长为: %f\n",2*PI*r);
}
相关推荐
云泽8087 小时前
STM32 USART 详解(八):C I/O 串口重定向原理与实现
c语言·stm32·嵌入式硬件
ThornArmor8 小时前
重铸1996|肉体渲染:关节的裂缝:分段模型积木拼装与未成熟的 RSP 矩阵骨骼动画形变
c语言·汇编·c++·python·硬件架构·游戏机
T1mzhou8 小时前
ARM64 Linux 6.10 内核驱动(12):dd.c:probe/ remove、延迟 probe
linux·服务器·c语言·arm开发·arm
白色的北极熊9 小时前
c语言 scanf 输入流有空格,逗号 说明
c语言
Logic1019 小时前
C语言/数据结构位运算题解:异或XOR找出货船中的“独特载货量“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
xx~t13 小时前
嵌入式——51单片机3
linux·c语言·嵌入式硬件·51单片机
山下梅子酒22514 小时前
洛谷-入门-B2042
c语言
ysu_031414 小时前
08-二叉树遍历:四种方式详解
c语言·数据结构·算法·leetcode
ocean210314 小时前
2025-2026年C语言专题面试高频知识点洞察
c语言·面试·面试经验
Lzh编程小栈15 小时前
STM32 DMA深度解析|原理、完整工作流程、寄存器、中断联动,嵌入式面试高频考点(F1系列)
c语言·stm32·单片机·mcu·面试