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);
}
相关推荐
ALex_zry8 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
Zw-awa8 小时前
01-写了include之后到底发生了什么
c语言
CodeStats12 小时前
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
java·linux·c语言·c++·python·rust·go
文祐13 小时前
C语言用双向链表实现单调递减(递增)队列
c语言·开发语言·链表
gugucoding14 小时前
28. 【C语言】通用数据操作:`void *` 与类型无关编程
c语言·开发语言
凉、介15 小时前
ARMv8 架构下的刷 Cache 操作
c语言·笔记·学习·架构·嵌入式·arm
灯厂码农1 天前
C语言动态内存分配完全指南(malloc、calloc、realloc、free)
java·c语言·算法
wuyk5551 天前
24. C 语言模块化:不是拆几个.c 文件那么简单
c语言·开发语言·stm32·单片机
qq_241585611 天前
可用在中断中浮点数打印类似printf
c语言
C语言小火车1 天前
C++ 快速排序(Quick Sort)深度精讲:分治思想、Lomuto 分区法及三数取中优化,面试手撕必会
c语言·开发语言·c++·面试·排序算法·快速排序