C语言学习笔记一(常量)

C语言程序设计————基本数据类型(常量) C语言程序设计————基本数据类型{整型常量,浮点型常量,字符型常量(字符常量和字符串常量),枚举型常量和符号常量。} 阅读详情

一、常量的分类

1. 字面常量(Literal Constants)

直接写在代码中的固定值,没有标识符名称。

1.1 整型常量

  • 表示方式:

    • 十进制:123, -45

    • 八进制(以 0 开头):0123(十进制83)

    • 十六进制(以 0x 或 0X 开头):0x1A(十进制26)

  • 后缀:

    • L 或 l:表示长整型(如 123L)

    • LL 或 ll:表示长长整型(如 123LL)

    • U 或 u:表示无符号整型(如 123U)

1.2 浮点型常量

  • 表示方式:

    • 小数形式:3.14, -0.5

    • 指数形式(科学计数法):1.23e5(即1.23×10⁵)

  • 后缀:

    • F 或 f:单精度浮点(如 3.14F)

    • 默认无后缀为double类型(如 3.14)

1.3 字符常量

  • 单引号括起来的单个字符:'A', '5', '#'

  • 转义字符:

    • \n(换行)、\t(制表符)、\\(反斜杠)、\'(单引号)、\"(双引号)

    • ASCII码值:\x41(十六进制,表示'A')、\101(八进制,表示'A')

1.4 字符串常量

  • 双引号括起来的字符序列:"Hello, World!"

  • 存储方式:以\0(空字符)结尾的字符数组。


2. const修饰的常量
  • 通过const关键字定义,具有类型和内存地址。

  • 语法:

    const int MAX = 100;

  • const float PI = 3.14f;

  • 特点:

    • 不可修改(编译时报错)。

    • 作用域取决于定义位置(全局或局部)。

    • 实际存储于内存中,可通过指针强制修改(不推荐)。


3. 枚举常量(Enum)
  • 通过enum定义一组整型常量。

  • 语法:

    enum Week { Mon, Tue, Wed, Thu = 5, Fri };
    // Mon=0, Tue=1, Wed=2, Thu=5, Fri=6
  • 特点:

    • 默认从0开始递增,可显式赋值。

    • 枚举值是整型常量,可直接用于比较和运算。


4. 宏常量(#define)
  • 通过预处理器指令#define定义。

  • 语法:

    #define MAX 100
    #define PI 3.14159
    #define MSG "Hello"
  • 特点:

    • 预处理阶段直接替换文本,不占用内存。

    • 无类型检查,可能导致意外错误。

    • 作用域从定义处到文件结束,可用#undef取消定义。


二、常量的应用场景

  1. 避免魔法数字:用常量代替代码中的直接数值,提高可读性。

    #define MAX_STUDENTS 50
    const int BUFFER_SIZE = 1024;
  2. 配置参数:定义程序中固定不变的参数。

    const float GRAVITY = 9.8f;
    #define TIMEOUT 30
  3. 接口约束:限制函数参数范围。

    enum ErrorCode { SUCCESS = 0, ERROR_INVALID_INPUT, ERROR_FILE_NOT_FOUND };

三、注意事项

  1. const与#define的区别:

    • const有类型检查,#define是文本替换。

    • const占用内存,#define不占用。

    • const支持作用域规则,#define全局有效。

  2. 字符串常量的拼接:

    char* str = "Hello" " World!"; // 等效于"Hello World!"
  3. 枚举的底层类型:

    • C语言中枚举常量本质是整型,C11标准允许指定枚举的底层类型(如enum Week : char)。

  4. 指针与常量:

    • 常量指针:const int* p(指向内容不可变)

    • 指针常量:int* const p(指针本身不可变)


四、代码示例

#include <stdio.h>

#define PI 3.14159
const int MAX = 100;

enum Color { RED, GREEN, BLUE };

int main() {
    const float gravity = 9.8f;
    printf("PI = %f\n", PI);       // 输出宏常量
    printf("MAX = %d\n", MAX);     // 输出const常量
    printf("Gravity = %.1f\n", gravity);
    printf("RED = %d\n", RED);     // 输出枚举常量
    return 0;
}

五、总结

常量类型优点缺点
字面常量直接使用,无需定义可读性差,难维护
const常量类型安全,支持作用域占用内存
枚举常量提高代码可读性仅支持整型值
宏常量(#define)不占内存,灵活无类型检查,调试困难

根据需求选择合适的常量类型,建议优先使用const和枚举以提高代码健壮性。

C语言学习笔记(一) C语言的介绍及入门: 变量、常量、指针入门、值传递和地址传递、标识符、运算符以及简单的键盘输入语句 bug汇总: vs中的scanf()和scanf_s() 阅读详情

相关推荐

C 语言学习笔记:变量与常量

在编程世界里,变量和常量是两个基础概念。简单来说,内容会改变的量就是变量,而内容不可变的量则是常量。用生活中的例子来理解,变量就如同汽车行驶的速度,会因路况、驾驶习惯等因素而变化;常量则像一年的月份数量,始终固定为 12 个 ,不会轻易改变。赋初始值:一定要给变量赋初始值,否则使用未初始化的变量可能会导致不可预期的结果。例如,当你定义一个int类型的变量num却未初始化,直接使用输出时,可能会得到一个随机的数值,因为未初始化的变量在内存中的值是不确定的。避免重名。

2403_89107873的博客 1195

C语言的整型常量与实型常量

一、整型常量

sdt17719的博客 3万+

Win10/Win11共享打印机0x00000709终极修复指南:从注册表到LPD协议的全面解决方案

本文提供了Win10/Win11共享打印机0x00000709错误的终极修复指南,涵盖从注册表修改到LPD协议的全面解决方案。通过详细分析错误根源、基础修复四步法、高阶LPD协议方案及企业级深度修复策略,帮助用户彻底解决打印机共享问题,提升局域网打印效率。

weixin_33724046的博客 312

C语言中的常量变量,数据类型,操作符

在C语言中,数据有两种表现形式:常量和变量。我们通常称那些不能被改变的量为常量,例如1000,52等,常量通常分为以下几类........

cilmy23的note 4093

ComfyUI节点流实战:用Wan2.1制作电商短视频全流程(附人物/商品模板)

本文提供了一份详尽的ComfyUI实战教程,指导用户如何利用通义万相Wan2.1图生视频模型,高效制作适用于抖音等平台的电商短视频。内容涵盖从环境部署、核心工作流搭建,到针对服装、3C数码等品类的高级提示词模板与参数调优,旨在帮助电商从业者快速生成高质量、高保真商品展示视频,显著提升内容生产效率。

potato的博客 1281

南京银行信息技术岗提前批笔试与面试

1、笔试 笔试大致可以分为三部分:性格测试、行测题目、专业知识 性格测试 性格测试一般会有较多的体量,可能一共大概有一百多道接近两百道的样子,这个是不限时的。 前面有100道是这样的题目,就是有四个选项都是各种形容词,然后分别选出最符合自己的与最不符合自己的选项。这种题你就顺着自己的潜意识填就行了,但是前后要一致,我怀疑他出这么多题,可能就是考一考你记不记得前面填了啥。比如你做到第90题的时候,可能会出现和前面第2题类似的四个形容词,更有甚者就是一模一样的,你要对自己之前选的什么有个比较清楚的记忆。

qq_40971025的博客 6922

c语言 常量整数,C语言的整型常量

本节介绍C语言中的整型常量。整型常量就是整型常数。在C语言程序中,整型常量主要有十进制、八进制和十六进制三种形式。(1)十进制整型常量十进制整型常量用到的数字有0~9。例如32767、65535、0等。整型常量开头数字不能为0。(2)八进制整型常量八进制整常数必须以0开头,即以0作为八进制数的前缀。数码取之为0~7。八进制数通常是无符号数。如015(十进制为13)、0101(十进制为65)、017...

weixin_35710941的博客 8227

多机器人协同:水下机器人集群的分布式控制与ROS仿真实践

本文探讨了多自主水下机器人(AUV)集群的分布式控制方法,重点分析了欠驱动6自由度AUV模型的反馈线性化技术。通过ROS/Gazebo仿真平台,详细介绍了系统架构设计、通信延迟补偿策略及环境扰动应对方案,为水下协同作业提供实用参考。

jupi8的博客 688

C语言常量(整型、实型、字符型、字符串、符号常量)

对于C语言常量,该文章有详讲,由于文章太长,可参考如下思维导图和目录,可通过目录选择自己所需要的内容阅读。

m0_75115696的博客 1万+

Android/AutoMotive 多用户文件操作与权限管理

本文深入探讨了Android/Automotive多用户系统的文件操作与权限管理机制。文章阐述了多用户隔离与共享的核心原理,重点介绍了如何使用adb指令精准管理不同用户的应用与数据,并提供了在Android Automotive车载场景下实现安全跨用户数据共享与权限控制的最佳实践。

weixin_29214691的博客 163

从Chimera到ChimeraX:科研绘图升级指南,让你的论文配图更专业

本文详细介绍了从UCSF Chimera升级到ChimeraX的科研绘图指南,帮助研究者提升论文配图质量。ChimeraX在渲染引擎、大分子处理能力和动画功能上具有显著优势,特别适合生命科学和结构生物学领域。文章涵盖材质设置、专业配色、工作流程和期刊适配等核心技巧,助力产出出版级分子可视化图像。

weixin_33670786的博客 935

C语言学习笔记(一)变量与常量

本篇为我在VS环境下学习C语言的记录与笔记,包含我目前所学到的知识以及我对C语言的认识,其中可能有说法错误或用词不准确,欢迎各位指正,也欢迎一同学习C语言的同学讨论,研究和学习。

m0_74310998的博客 811

深入解析SAP MM模块OBYC自动科目分配机制:从T030表到实战配置

本文深入解析SAP MM模块中OBYC自动科目分配机制,阐明其作为连接物流与财务核心桥梁的作用。文章以T030表为核心,详细拆解其字段结构与检索逻辑,并通过采购收货、生产发料等实战场景,手把手演示配置步骤与关键要点,帮助读者掌握从原理到实践的完整知识体系,实现业财无缝对接。

nft7creator的博客 358

C语言学习笔记(一):变量与常量

局部变量的作用域是变量所在的局部范围,而全局变量的作用域是整个工程。在test1.c里面定义,可以在test2.c里面加个extern。转义字符 :主要的\n换行,\\转义\,\tj进行tab操作,\ddd八进制,\xdd十六进制,要知道大概做什么。变量分为局部和全局,他俩的区别:int main{}里面是局部,外面全局变量。由“ ”组成的一串字符叫做字符串,strlen是计算字符串长度。4.选择与循环语句,if()后面没有分号,可以不加大括号。

weixin_45344790的博客 187

C语言设计模式全面解析:从理论到28个实战示例

本文系统介绍了23种经典设计模式在C语言中的实现方法。通过结构体、函数指针等技巧,C语言可以优雅地模拟面向对象特性,实现代码复用与解耦。文章分类详解了创建型、结构型、行为型三大类模式,并提供了28个完整代码示例,包括单例、策略、观察者等核心模式的精简实现。这些模式在嵌入式系统、操作系统内核等场景中广泛应用,如状态机、事件驱动等。学习C语言设计模式的关键在于理解模式意图,掌握函数指针和结构体组合等技巧,并在实际项目中灵活运用。本文为C语言开发者提供了全面的设计模式参考指南。

数字人生 364

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

C语言学习笔记(一)-编译器的使用、数据类型、变量和常量

本文是笔者自己的学习笔记,目的是为了计算机二级和提升自己希望和大家学习和交流。本文详细介绍了写C语言的准备步骤以及数据类型、变量和常量等基本内容,并用代码和文字进行了详细的解释。

weixin_47648913的博客 1944

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

C语言学习笔记一(宏和常量)

1、 判断预处理命令是否被定义 #ifdef symbol //statements #endif 举例 #ifndef _toupper #define _toupper …….. #endif 2、 进行IF_ELSE预处理 #ifdef symbol //statements #else //other statements #endif 举例: #ifdef

425

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

计算机二级C语言学习笔记(一)

老实看知识点,认真刷题

LinGavinQ 7208

【C语言学习笔记】一、基础语法

C 语言 这套笔记是参考bilibili上,小甲鱼的视频,讲得非常不错。搜小甲鱼就能找到他的视频,这是他的网站:www.fishc.com 谨以此笔记献给无私奉献的小甲鱼先生。 (一)基本认识 1、对C语言的基本理解 编程语言排行榜TIOBE的排名,C语言是千年老二。老一是Java。 但是,C语言作为底层开发的基础语言,语法上基本很难有太大的改变,因为牵一发而动全身,所以还是非常有必要学一学的。 入门:语法-程序的调试技巧 进阶:指针的应用-多线程、多进程程序的开发-数据库的调用和管理 探索

因为热爱所以坚持 1679

C语言学习笔记,学懂C语言,看这篇就够了!(上)

一份较为全面的C语言学习笔记(上)

weixin_69675605的博客 2615

C语言学习笔记一

初始化:= 所有的变量在第一次被使用(出现在赋值运算符的右边)之前应该赋值一次。//执行完毕返回0值。因为两个整数的运算结果只能是整数,所以10和10.0在C语言中是完全不同的数→10.0是浮点数。出现在scanf的格式字符串里面的东西,是他一定要你输入的东西,而不是他会给你看的东西。

2402_87497721的博客 1024

C语言学习笔记:常量与变量

用编译预处理命令。

2403_88736889的博客 1251

C语言学习笔记-初阶(6)标识符 & 变量 & 常量

标识符、变量、常量

2301_79907403的博客 1167

C语言学习--常量

在程序设计中,常量是一个至关重要的概念。它们代表固定不变的值,能够提高代码的可读性、可维护性和安全性。常量的使用不仅可以避免魔法数字(magic numbers)的出现,还可以确保程序在执行过程中不会意外修改某些关键值。本节将深入探讨常量的类型及其定义方式,包括整数常量、浮点常量、字符常量和字符串常量,以及如何通过#define预处理器和const关键字来定义常量。掌握这些基本概念将为后续的编程学习和实践打下坚实的基础。1) 常量是固定值,在程序执行期间不能改变。这些固定的值,又叫做字面量。

weixin_62881069的博客 1万+

c语言学习笔记

变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表,使用#define预处理器: #define 可以在程序中定义一个常量,它在编译时会被替换为其对应的值。使用const关键字:const 关键字用于声明一个只读变量,即该变量的值不能在程序运行时修改。

CLMCLM999的博客 1214
上一篇: Visual Studio Code的安装流程 以及对c/c++的环境配置
下一篇: C语言学习笔记二(变量)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SegmentFault 咖啡馆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值