【时时三省】(C语言基础)常量和变量

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省

在计算机高级语言中,数据有两种表现形式:常量和变量。

常量

在程序运行过程中,其值不能被改变的量称为常量。数值常量就是数学中的常数。

常用的常量有以下几类:

( 1 )整型常量。如1000,12345,0,-345等都是整型常量。

( 2 )实型常量。

有两种表示形式:

①十进制小数形式,由数字和小数点组成。如123.456,0.345,-56.79,0.0,12.0等。

②指数形式,如12.34e3(代表12.34×10的3次方),一346.87e-25(代表-346.87×10的负25次方),0.145E-25(代表0.145×10的负25次方)等,由于在计算机输入或输出时无法表示上角或下角,故规定以字母e或E代表以10为底的指数。但应注意;e或E之前必须有数字,且e或E后面必须为整数。如不能写成e4,12e2.5。

( 3 )字符常量。有两种形式的字符常量:

①普通字符,用单撇号括起来的一个字符,如:‘a ',' Z ',' 3 ',' ? ',' # '。不能写成'ab'或' 12 '。请注意:单撇号只是界限符,字符常量只能是一个字符,不包括单撇号。' a '和' A '是不同的字符常量。字符常量存储在计算机存储单元中时,并不是存储字符(如a,z,#等)本身,而是以其代码(一般采用ASCII代码)存储的,例如字符’a '的ASCII代码是97,因此,在存储单元中存放的是97(以二进制形式存放)。

②转义字符,除了以上形式的字符常量外,C语言还允许用一种特殊形式的字符常量,就是以字符“\”开头的字符序列。例如在printf函数中的' \ n '代表一个“换行”符。这是一种在屏幕上无法显示的“控制字符”,在程序中也无法用一个一般形式的字符来表示,只能采用这样的特殊形式来表示。

常用的以“\”开头的特殊字符如下

列出的字符称为转义字符,意思是将“\”后面的字符转换成另外的意义。“\ n”中的“n”不代表字母n而作为“换行”符。表中倒数第2行是一个以八进制数表示的字符,例如\ 101 代表八进制数101ASCII字符,即' A '(八进制数101相当于十进制数65)

( 4 )字符串常量。如" boy”,”123”等,用双撇号把若干个字符括起来,字符串常量是双号中的全部字符(但不包括双撇号本身)。注意不能错写成' CHINA ',boy ',' 123 '。单撇号内只能包含一个字符,双撇号内可以包含一个字符串。

说明:从其字面形式上即可识别的常量称为“字面常量”或“直接常量”。字面常量是没有名字的不变量。

( 5 )符号常量用#define指令,指定用一个符号名称代表一个常量。如:# definePI  3.1416

经过以上的指定后,本文件中从此行开始所有的PI都代表3.1 416在对程序进行编译前,预处理器先对PI进行处理,把所有PI全部置换为3.1 416。这种用一个符号名代表一个常量的,称为符号常量。在预编译后,符号常量已全部变成字面常量( 3.1 416 )。使用符号常量有以下好处。

①含义清楚。看程序时从PI就可大致知道它代表圆周率。

②在需要改变程序中多处用到的同一个常量时,能做到“一改全改”。

变量

变量代表一个有名字的、具有特定属性的一个存储单元。它用来存放数据,也变量名就是存放变量的值。在程序运行期间,变量的值是可以改变的。

变量必须先定义,后使用。在定义时指定该变量的名字和类型。

常变量

C99允许使用常变量,方法是在定义变量时,前面加一个关键字const,如:

const int a = 3;

定义a为一个整型变量,指定其值为3,而且在变量存在期间其值不能改变。

常量的异同是:常变量具有变量的基本属性:有类型,占存储单元,只是不许改变其值。可以说,常变量是有名字的不变量,而常量是没有名字的不变量。有名字就便于在程序中被引用。

说明:有些编译系统还未实现C99的功能,因此不能使用常变量。

标识符

在计算机高级语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字符列统称为标识符(identifier)。简单地说,标识符就是一个对象的名字。

C语言规定标识符只能由字母、数字和下画线3种字符组成,且第1个字符必须为字或下画线。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/23949.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zabbix故障案例 WEB页面Database error Connection refused

目录 1.思路 2.问题解决 3.其他数据库问题思路 1.思路 当我们遇到 Database error Connection refused的问题的时候一般想到的都是数据库的问题 那我们这时候就顺着这条线索排查 2.问题解决 我们首先先进入数据库 mysql -uzabbix -p123 发现了如下报错 应该是数…

MaxKB+Ollama+DeepSeek1.5B部署知识库

环境信息 练习测试用,所以资源很低,8G显卡。大模型部署在Windows台式机上,MaxKB部署在CentOS虚拟机上。 台式机: 硬件:i7 13900 NV GeForce RTX 3060 Ti 8G显存 32G内存 软件:Windows 11操作系统&…

猿大师播放器:智慧交通Web网页低延迟播放监控RTSP H.265视频解决方案

在智慧城市建设加速推进的今天,智慧交通作为城市"神经系统"正面临前所未有的发展机遇。据统计,2023年全国交通视频监控设备保有量已突破4500万台,日均产生的视频数据量超50PB。但在这些庞大数字背后,行业却普遍面临着&q…

Web3.py 入门笔记

Web3.py 学习笔记 📚 1. Web3.py 简介 🌟 Web3.py 是一个 Python 库,用于与以太坊区块链进行交互。它就像是连接 Python 程序和以太坊网络的桥梁。 官方文档 1.1 主要功能 查询区块链数据(余额、交易等)发送交易与…

如何选择工控产线安全软件?

在当今数字化时代,信息安全的重要性不言而喻。随着工业控制系统(ICS)的广泛应用,主机的安全加固成为了保障企业生产运营稳定的关键环节。MCK-T主机加固系统软件,凭借其卓越的性能和全面的安全防护功能,成为…

系统调用过程

注意:本系统调用过程基于32位操作系统 中断服务程序的寻址过程 1.用户态程序产生系统调用write(); 2.产生中断指令ENTER_KERNEL(int $0x80128),CPU收到中断指令去查询中断向量表,找出中断号0x80对应的中断服务程序的内存基地址(0…

PHP入门基础学习七(函数3)

九、数组函数 1、合并两个数组 合并两个数组,其中一个当健名,一个当值 注意: array_combine 函数,通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。 2.1、排序函数 对于数组的排序,除了可使用前面讲解的排序算法实现外,PHP还提供了内置…

pycharm管理虚拟环境

不借用Anoconda 1.检查pip所在位置, 因为pip的默认安装路径是python的安装目录下的依赖库路径D:\Program Files\Python397\Lib\site-packages。项目如果用之前pycharm创建的环境是无法加载这个路径的库的。 2.安装时指定安装路径 千万要注意指定安装路径为项目的…

DeepSeek 助力 Vue 开发:打造丝滑的 复选框(Checkbox)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

FMT源码 - module

module 功能模块 1、uMCN uMCN 是 类似于 PX4里面的 uORB 模块。 mcn listmcn echo sensor_imu0mcn echo <topic> [options]options:-n, --number Set topic echo number, e.g, -n 10 will echo 10 times. (朝终端打印的次数)-p, --period Set topic echo peri…

城电科技|会追日的智能花,光伏太阳花开启绿色能源新篇章

当艺术与科技相遇&#xff0c;会碰撞出怎样的火花&#xff1f;城电科技推出的光伏太阳花&#xff0c;以其独特的设计与智能化的功能&#xff0c;给出了答案。这款产品不仅具备太阳能发电的实用功能&#xff0c;更是一件充满科技属性的艺术性光伏产品&#xff0c;吸引了广泛关注…

湖北中医药大学谱度众合(武汉)生命科技有限公司研究生工作站揭牌

2025年2月11日&#xff0c;湖北中医药大学&谱度众合&#xff08;武汉&#xff09;生命科技有限公司研究生工作站揭牌仪式在武汉生物技术研究院一楼101会议室举行&#xff0c;湖北中医药大学研究生院院长刘娅教授、基础医学院院长孔明望教授、基础医学院赵敏教授、基础医学院…

计算机网络————(一)HTTP讲解

基础内容分类 从TCP/IP协议栈为依托&#xff0c;由上至下、从应用层到基础设施介绍协议。 1.应用层&#xff1a; HTTP/1.1 Websocket HTTP/2.0 2.应用层的安全基础设施 LTS/SSL 3.传输层 TCP 4.网络层及数据链路层 IP层和以太网 HTTP协议 网络页面形成基本 流程&#xff1a…

货车一键启动无钥匙进入手机远程启动的正确使用方法

一、移动管家货车无钥匙进入系统的使用方法 基本原理&#xff1a;无钥匙进入系统通常采用RFID无线射频技术和车辆身份识别码识别系统。车钥匙需要随身携带&#xff0c;当车钥匙靠近货车时&#xff0c;它会自动与货车的解码器匹配。开门操作&#xff1a;当靠近货车后&#xff0…

2.2logstash规则配置

工作流程 Logstash工作的三个阶段&#xff1a; input数据输入端&#xff0c;以接收来自任何地方的源数据 * file&#xff1a;从文件中读取 * syslog&#xff1a;监听在514端口的系统日志信息, 并解析成RFC3164格式 * redis&#xff1a;从redis-server list中获取 * beat&a…

Java进阶:Zookeeper相关笔记

概要总结&#xff1a; ●Zookeeper是一个开源的分布式协调服务&#xff0c;需要下载并部署在服务器上(使用cmd启动&#xff0c;windows与linux都可用)。 ●zookeeper一般用来实现诸如数据订阅/发布、负载均衡、命名服务、集群管理、分布式锁和分布式队列等功能。 ●有多台服…

GB 44497-2024《智能网联汽车 自动驾驶数据记录系统》标准解读

GB 44497-2024《智能网联汽车 自动驾驶数据记录系统》是由工业和信息化部提出并归口的强制性国家标准&#xff0c;由国家市场监督管理总局、国家标准化管理委员会于2024年8月23日批准发布(国家标准公告2024年第18号文)&#xff0c;将于2026年1月1日起实施。标准规定了智能网联汽…

在低功耗MCU上实现人工智能和机器学习

作者&#xff1a;Silicon Labs 人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;技术不仅正在快速发展&#xff0c;还逐渐被创新性地应用于低功耗的微控制器&#xff08;MCU&#xff09;中&#xff0c;从而实现边缘AI/ML解决方案。这些MCU是许多嵌入式…

[数据结构笔记]数据结构必要的C语言基础

数据结构必要的C语言基础 使用C语言学习数据结构之前有一些必要了解的基础&#xff0c;许多同学在初学数据结构时因为对这些知识不熟&#xff0c;导致了对数据结构的畏惧心理。实际上很大一部分来自C语言的基础 C语言 结构体与指针 ​ 在一些场景中&#xff0c;如果传递给函…

Java进阶(一)

文章目录 前言一、常用类 1.Object类常用方法 toString方法equals方法fianlize()方法 2. String类 String字符串的储存原理内存图分析String常用的构造方法String常用方法3. StringBuilder/StringBuffer类 4. 基本类型包装类 简介包装类类的常用方法&#xff08;以Integer为例…