首页 > 其他分享 >常量(详细讲解版)

常量(详细讲解版)

时间:2024-12-08 09:32:43浏览次数:8  
标签:字符 const 常量 示例 MAX 详细 讲解 define

在 C 语言中,常量(constant)是指在程序运行期间其值保持不变的量。C 语言支持多种类型的常量,包括数值常量、字符常量、字符串常量以及符号常量。以下是详细讲解:


1. 数值常量

数值常量是直接表示数值的常量,包括整数常量和浮点数常量。

(1)整数常量

  • 表示一个具体的整数值,可以是十进制、八进制或十六进制。
  • 十进制:如 10, 123
  • 八进制:以 0 开头,如 075(相当于十进制的 61)
  • 十六进制:以 0x0X 开头,如 0x1A(相当于十进制的 26)
修饰符

整数常量可以通过以下后缀指定类型和大小:

  • Uu:无符号类型(unsigned)
  • Ll:长整型(long)
  • LLll:长长整型(long long)
  • 示例:
    123U   // 无符号整型
    456L   // 长整型
    789ULL // 无符号长长整型
    

(2)浮点数常量

  • 表示小数或科学计数法的值。
  • 示例:
    3.14       // 小数形式
    2.5e3      // 科学计数法(等价于 2.5 * 10^3)
    1.23E-4    // 科学计数法(等价于 1.23 * 10^-4)
    
修饰符
  • fF:表示单精度浮点数(float)
  • lL:表示长双精度浮点数(long double)
  • 示例:
    3.14f    // 单精度
    2.71L    // 长双精度
    

2. 字符常量

  • 表示单个字符,使用单引号 '' 括起来。
  • 示例:
    'a'   // 字符 'a'
    '1'   // 字符 '1',不是数字 1
    '\n'  // 转义字符,表示换行符
    

转义字符

  • 字符常量可以包括一些转义字符,以表示特殊字符。
  • 常见转义字符:
    • \n:换行符
    • \t:水平制表符
    • \\:反斜杠
    • \':单引号
    • \":双引号
    • \0:空字符(ASCII 值为 0)

3. 字符串常量

  • 表示一组字符序列,使用双引号 "" 括起来。

  • 示例:

    "Hello, World!"
    "12345"
    "C语言\n"
    
  • 字符串与字符的区别

    • 字符:'a',占 1 个字节。
    • 字符串:"a",占 2 个字节(包括末尾的空字符 \0)。

4. 符号常量

符号常量通过 #defineconst 关键字定义。

(1)#define 宏定义

  • 用于定义常量,在预处理阶段由预处理器替换。
  • 示例:
    #define PI 3.14159
    #define MAX 100
    
  • 注意:
    • #define 定义的常量没有类型信息,仅仅是文本替换。

(2)const 关键字

  • 定义具有类型的只读变量。
  • 示例:
    const float PI = 3.14159;
    const int MAX = 100;
    
  • 优点:
    • 常量有类型检查,且可以结合指针等高级用法。

5. 区别与应用场景

特性#defineconst
类型支持无类型,仅文本替换有具体类型
调试友好性不容易被调试工具识别易于调试
范围控制全局作用域受变量作用域限制
是否可取地址

6. 使用示例

#include <stdio.h>
#define PI 3.14159

int main() {
    const int MAX = 100;

    printf("PI: %f\n", PI);      // 输出 3.14159
    printf("MAX: %d\n", MAX);    // 输出 100

    // MAX = 200; // 错误,MAX 是只读变量

    return 0;
}

如果需要更深入理解某一部分,可以进一步展开!

标签:字符,const,常量,示例,MAX,详细,讲解,define
From: https://blog.csdn.net/2401_88186301/article/details/144321540

相关文章

  • ECharts柱状图-圆角环形图,附视频讲解与代码下载
    引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个柱状图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供详细的视频讲解和代码下载链接,帮助大家快速上手。一、图表效果预览   ......
  • Python Selenium 各浏览器驱动下载与配置使用(详细流程)
    1、安装pipinstallselenium2、浏览器驱动下载Chrome(google)浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/index.html 或 https://sites.google.com/a/chromium.org/chromedriver/home. 下载地址:http://chromedriver.storage.googleapis.com/inde......
  • 初代通讯录(详细讲解+代码)
    文章目录通讯录的介绍c语言实现通讯录的步骤1、制作菜单2、.创建通讯录3、增加联系人4、打印通讯录5、删除联系人6、查找联系人7、修改联系人信息8、排列联系人信息全部代码:1、contact.h2、contact.c3、test.c前言学习了三子棋,扫雷后,我们今天来学习简单通讯录的创......
  • ICP备案通过了,如何修改我的网站,详细步骤
    当您的网站ICP备案通过后,您可能需要对网站进行一些修改以符合备案要求。以下是一些常见的修改步骤:登录后台管理:使用您的账户信息登录网站的后台管理系统。导航至备案信息设置:登录后,导航至“备案信息”、“网站设置”或“关于”等相关页面。这些页面通常会包含备案信息的编辑......
  • #define定义常量和宏
    一、定义常量简单常量定义可以用#define在代码最上面来定义一个常量。举个栗子:#definePI3.14159。这里PI是一个常量,在下面你每次输入PI时,它就会自动换为3.14159。表达式常量定义也可以定义包含表达式的常量。举个栗子:#defineMAX(100+50)。这样,当代码中出现MAX时,就会......
  • 毕业设计-基于Java+SpringBoot+Vue校园墙小程序(源码+数据库+开题+项目说明+代码讲解)
    博主介绍:本人专注于java/前端/数据库/微信小程序技术领域的开发,以及五年的计算机毕业设计方面的实战开发经验和技术积累;本人也是多年的全栈开发人员;希望我发布的此篇文件可以帮助到您......
  • 毕业设计-基于Java+SpringBoot+Vue智慧校园小程序(源码+数据库+开题+项目说明+代码讲解
    博主介绍:本人专注于java/前端/数据库/微信小程序技术领域的开发,以及五年的计算机毕业设计方面的实战开发经验和技术积累;本人也是多年的全栈开发人员;希望我发布的此篇文件可以帮助到您......
  • CSDN自定义皮肤-酷炫博客名称+默认显示详细资料+头像旋转+流光效果+半透明
    CSDN自定义皮肤-酷炫博客名称+默认显示详细资料+头像旋转+流光效果+半透明效果预览前言头像旋转博客名称流光效果Banner文字+流光效果Toolbar流光效果模块半透明默认显示详细资料隐藏查看详细资料按钮完整自定义模块代码(持续更新)效果预览效果预览:https://microi.blo......
  • 【OpenAI 】从获取OpenAI API Key到实现数据分类Demo的完整教程(超详细)!
    文章目录一、初识OpenAIAPI1.1获取API-Key(两种方案)1.2安装OpenAI库二、Python调用OpenAIAPI的基础设置2.1设置API密钥和BaseURL2.2参数详解三、构建一个简单的聊天应用3.1创建聊天请求3.2参数详解3.3处理响应四、完整代码示例1.Python示例代码(基础)2.Python......
  • 详细介绍 NVIDIA GeForce RTX 系列,各显卡配置参数(长期更新 - 2024.12)
    NVIDIAGeForceRTX系列是NVIDIA面向消费级市场的高性能GPU产品线,注重提供高性能的图形处理能力和游戏特性。主要面向游戏玩家和普通用户,同时也被广泛用于深度学习推理和训练等计算密集型任务。主要GPU产品有:50Series、40Series、30Series、20Series、10Seri......