C语言:常量和宏定义

  • 什么是常量
  • 常量的类型
  • 定义符号常量(宏定义)
  • 标识符是什么
  • 字符串常量
  • 代码

什么是常量

在程序运行时,值不能被改变的量,称之为常量。

常量的类型

  • 整型常量:520,1314,123
  • 实型常量:3.14,10.15,6.66
  • 字符常量
    - 普通字符:‘H’,‘i’,‘p’,‘s’
    - 转义字符:‘\n’,‘\t’,‘\b’
  • 字符串常量:“FishC”
  • 符号常量:使用之前必须先定义

定义符号常量(宏定义)

  • 格式:#define 标识符 常量
  • 比如:
    - #define NAME “Eminem”
    - #define NAMEA “Andre 3000”
    - #define RAPPER “说唱歌手”

标识符是什么

  • 标识符只能是英文字母(A-Z,a-z)和数字(0-9)或者下划线组成。
    - 例如:hiphop_from_1973
  • 必须是字母或者下划线开头。
  • 标识符区分大小写,不同大小写代表不同的标识符。
  • 不能使用关键字来命名标识符。

字符串常量

  • 字符:‘h’,‘i’,‘p’,‘h’,‘o’,‘p’
‘h’ ‘i’ ‘p’ ‘h’ ‘o’ ‘p’

编译器在编译的时候为每一个字符准备一个字节的空间来存放。

  • 字符串:
    - “Hello world”
‘H’ ‘e’ ‘l’ ‘l’ ‘o’ ‘ ’ ‘w’ ‘o’ ‘r’ ‘l’ ‘d’ ‘\0’

而当常量为字符串时,使用一个特殊的转义字符 ‘\0’ 来表示字符串的结束位置,当操作系统读取到这个转义字符的时候,就结束对字符串的读取,需要注意的是,转义字符也需要一个字节的内存。

代码

#include <stdio.h>
#include <stdlib.h>
#define NAME "Eminem"
#define NAMEA "Andre 3000"
#define RAPPER "说唱歌手"int main()
{printf("%s和%s都是%s\n",NAME,NAMEA,RAPPER);return 0;
}

运行结果:

C语言 常量和宏定义相关推荐

  1. 带你学C带你飞 | printf函数 | 变量 | 常量和宏定义 | 数据类型 | 取值范围 | 字符串 | 运算符

    文章目录 一.printf函数 1.printf函数 2.printf函数课后作业 二.变量 1.变量 2.变量课后作业 三.常量和宏定义 1.常量和宏定义 2.常量和宏定义的课后作业 四.数据类型 ...

  2. 【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义

    目录 1.常见的常量 2.宏定义(符号常量) 3.标识符 4.字符串常量 5.课后习题(编程题) 1.常见的常量 整型常量:520, 1314, 123 实型常量:3.14, 5.12, 8.97 字 ...

  3. 【C语言】高级宏定义

    前言 宏定义分为不带参数的宏定义和带参数的宏定义,不带参数的宏定义就是普通的宏定义,带参数的宏定义则稍稍复杂.下面将结合一些例子讲解这些显得比较高级的宏定义. 文章目录 前言 一.高级宏定义 1.#d ...

  4. C语言中关于宏定义的学习

    1.C语言中宏定义的使用 2.GCC官方文档 3.C语言宏定义的几个坑和特殊用法 转载于:https://www.cnblogs.com/Brandon0807/p/11146344.html

  5. C语言中#、##宏定义的用法

    一.#的用法 #用于编译器编译过程进行预处理. 1.宏定义 #define ON 1#ifndef _PARA_ #define _PARA_ #enddef#ifdef _PARB_ #define ...

  6. 【C语言进阶】 宏定义实现字符串引用

    宏定义实现字符串引用 原理 最简单的引用策略 使用#进行转义 原理 用宏定义实现字符串引用: 这种做法在编译的时候直接给宏名所对应的字符串 分配了一个内存地址空间,可以进行字符串输出.地址打印.指针操 ...

  7. C语言 带参数宏定义中 # 和 ## 知识点总结、代码分析

    目录 一.宏定义中 "#"知识点 1.直接转换字符串,不展开. 2.转换出的结果一定是"字符串". 二.宏定义中 ## 知识点 1.应用场景 2."# ...

  8. C语言字符串、宏定义及主函数介绍

    希望你每天醒来都是阳光的,不会因为别人的几句话.几个表情和几个举止,影响自己的心情,好好生活,总会遇见美好的事... ----  网易云热评 一.字符串 1.字符串声明 #include <st ...

  9. C语言函数调用及宏定义代码实例

    函数 #include<stdio.h>int square(int x); int square(int x){return x * x; }/*** 求x的平方*/ int main( ...

最新文章

  1. Android JUnit测试说明和实例演示
  2. html网站开发与php网站开发_海南网站开发,网站建设,商城网站,功能性网站开发...
  3. HU 3496 Watch The Movie---二维费用
  4. [视频教程] 如何在Linux深度系统deepin下安装docker
  5. if else可以看成一个完整的代码块
  6. ffmpeg源码学习之time_base
  7. 塑料封装可靠性问题浅析
  8. LeetCode 1786. 从第一个节点出发到最后一个节点的受限路径数(迪杰斯特拉 + 拓扑排序)
  9. c#实现SQLServer存储照片,并读取照片
  10. ka3525_如何使用KA Lite投放教育内容
  11. 公有云 私有云 混合云_您需要了解的有关混合云的知识
  12. 第六天 购车程序
  13. height、clientHeight、scrollHeight、offsetHeight区别
  14. 彻底理解ThreadLocal(转)
  15. 冲突域和CSMA/CD
  16. 2020网上答题拿证书的竞赛_参赛答题拿证书—全国大学生知识竞赛
  17. centos 网络自动连接_自动连接最优信号 腾讯云?云兔解决物联网络连接问题
  18. 【转】navicat远程连接mysql,2003 can't connect to mysql server on 10038
  19. typecho+handsome美化
  20. Java 安全 后端返回文件流

热门文章

  1. fastjson 属性大写问题
  2. 讹传的Win7睡眠(待机)快捷方式“rundll32.exe powrprof.dll,SetSuspendState 0,1,0”
  3. 【Hive】Beeline CLI介绍
  4. 详述 Spring MVC 启动流程及相关源码分析
  5. linux 显卡 压力测试软件,显卡压力测试工具 GpuTest
  6. 《光剑教教义:五信 九训 十诫 九罪》
  7. 多出口路由及其动态切换的配置
  8. 【亲测有效】解决PPT里多个图片无法使用组合功能
  9. 使用 Screen 创建并管理多个 shell
  10. 世界经典咖啡@配制方法