视频加载失败

C 语言常量

1227 字
6 分钟
C 语言常量

【一】常量的理解#

常量是指在程序运行期间其数值不发生变化的数据。

常量包括以下几种:

  • 整型常量
  • 浮点常量
  • 字符常量
  • 字符串常量
  • 标识常量

【二】整型常量#

整型常量通常简称为整数。

整数可以是十进制数、八进制数和十六进制数。

例如,十进制的数值3356可以有下列三种不同的表示形式:

  • 二进制数 0b1101 0001 1100
  • 十进制数 3356
  • 八进制数 06434
  • 十六进制数 0xd1c

【三】浮点常量#

浮点常量又称为实数,一般含有小数部分。

C语言中,实数只有十进制的实数,它又分为单精度实数和双精度实数,它们的表示方法基本相同。

实数有两种表示方法,即一般形式和指数形式。

一般形式的基本形式如下: [ + | - ] M.N

例如:3.5,-12.5,3.1415926

指数形式的实数一般是由尾数部分、字母e或E和指数部分组成。 当一个实数的符号为正号时,可以省略不写。

表示形式如下:

[+|-]M.N<e|E>[+|-]T

例如:

1.176e+10 表示 1.176x10^10
-3.5789e-8 表示 -3.5789x10^-8

通常表示特别大或特别小的数。

【五】字符常量#

字符常量是指一个单一字符,其表示形式是由两个单引号包括的一个字符。

例如:

'A', 'a', 'Q', '0', '9', '+', ':', '?', ' ', '$'

都是字符常量。

在C语言中,字符常量具有数值。字符常量的值就是该字符的ASCII码值。

因此,可以这样说字符常量实际上是一字节的正整数。

练习-字符常量#

  • 计算并输出下面字符的结果
char a, b, u, v ; // 说明a、b、u和v为字符变量
a = 'F' ; // 将70送给a
b = 'A'+2; // b存放的是 'c' 字符
u = ' ' + 'B'; // u存放的是 'b' 字符
v= 'b' - 32; // v存放的是 'B' 字符
  • 等价运算
#include <stdio.h>
int main() {
char a, b, u, v; // 说明 : a b u v 是字符变量
a = 'F'; // 将 70 赋值给 a
b = 'A' + 2; // b 存放的是 'C' 的字符
u = ' ' + 'B'; // u 存放是的是 'b' 的字符
v = 'b' - 32; // v 存放的是 'B' 的字符
printf("a=%d\n", a); // 70
printf("b=%d\n", b); // 65 + 2 = 67
printf("u=%d\n", u); // 66 + 32 = 98
printf("v=%d\n", v); // 98 - 32 = 66
}
a= 70;
b= 65+2;
u= 32+66 ;
v= 97-32;

【六】字符串常量#

字符串常量是指用双引号括起来的一串字符来表示的数据。

下面给出几个字符串常量的例子:

"Helloworld!", "Student", "9", "LINUX", "李四"
"北京海淀成府路***号", "姓名:", "******@qq.com"
"what matters is what you do, not what you think"
"行动比空想更重要。"

【七】标识常量#

标识常量是指用标识符代替常量使用的一种常量,其名称通常是一个标识符,别名宏。

标识常量也叫符号常量,为了不与一般变量的名称相混淆,标识常量的名称一般使用大写英文字母的标识符。

标识常量在使用之前必须预先定义。

标识常量的一般说明形式为:

#define <标识常量名称> <常量>

例如:

#define MAX 50
#define PI 3.1415926
#define NULL 0
#define EOF -1
#define ERROR -1

其中,MAX、PI、NULL、EOF和ERROR都是标识常量,它们代替的常量分别是50、3.1415926、0、-1和-1。

这里,每个标识常量说明式子只能给出一个标识常量,并且占据一个书写行。

以下是图片内容的 Markdown 格式转换:

练习-水分子数#

一个水分子的质量约为3.0*10^-23g,1夸脱水大约有950g,编写程序,要求输入水的夸脱数,然后显示这么多水中包含多少水分子。

  • 代码实现:
#include <stdio.h>
#include <windows.h> // 引入 windows 头文件,用于设置控制台编码
// 定义一个水分子的质量(单位:克)
#define WATER_MOLECULES 3.0e-23
int main() {
// 强制控制台输出使用 UTF-8 编码,确保中文显示正常
SetConsoleOutputCP(65001);
// 提示用户输入水的夸脱数
printf("请输入水的夸脱数:");
// 声明变量用于存储用户输入的夸脱数
int num;
// 读取用户输入的整数(夸脱数)
scanf("%d", &num);
// 显示用户输入的夸脱数
printf("水的夸脱数为:%d\n", num);
/* 计算水分子数量的公式说明:
* 1. 首先计算总质量:夸脱数 × 950(每夸脱的质量)
* 2. 然后除以一个水分子的质量(3.0e-23克)
* 3. 得到的就是总的水分子数量
*/
printf("%d 夸脱中 包含 %e 个水分子\n", num, num * 950 / WATER_MOLECULES);
}
  • 运行结果
请输入水的夸脱数 >:10
num=10
10 夸脱的水中有 3.166667e+026 个水分子

练习-求圆面积#

输入圆的半径计算圆的面积和周长

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
Profile Image of the Author
Dream
Hello, I'm Dream.
公告
欢迎来到我的博客!爱学习爱进步。
分类
标签
最新动态
站点统计
文章
11
分类
1
标签
26
总字数
23,674
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Vercel
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录