【C++基础】变量、常量、关键字、标识符命名

四个步骤:

  • 创建项目
  • 创建文件
  • 编写代码
  • 运行程序

写代码前的框架:

#include
using namespace std;

int main() {

    system("pause");
    return 0;
}

两种格式:

  • 单行注释: // 描述信息
  • 通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明
  • 多行注释: /* 描述信息 */
  • 通常放在一段代码的上方,对该段代码做整体说明

在vs项目中,所有 cpp文件只能有一个 main主函数,有且仅有一个,不能重名

作用:给一段指定的内存空间起名,方便操作这段内存

语法数据类型 变量名 = 初始值;

变量存在的意义:方便我们管理内存空间

int main() {
    // 变量创建的语法: 数据类型 变量名 = 变量初始值;
    int a = 10;
    cout << "a = " << a << endl;

    system("pause");
    return 0;
}

作用:用于记录程序中不可更改的数据

C++定义常量的两种方式:

// 1.宏常量,常定义在文件开头
#define Day 7

int main() {
    cout << "一周里总共有:" << Day << "天" << endl;
    // Day = 8;  // 报错,表达式必须是可修改的左值,宏常量不可以修改
    // Day 是常量,一旦修改就会报错

    // 2.const修饰变量,常定义在函数体内部
    const int month = 12;
    cout << "一年里总共有:" << month << "个月份" << endl;
    // month = 24;  // 报错,表达式必须是可修改的左值,const修饰的变量也称为常量,常量是不可以修改的

    system("pause");

    return 0;
}

作用:关键字是C++中预先保留的单词(一些特殊的标识符,不能拿来当变量、常量名)

  • 在定义变量或者常量的时候,不要用关键字asm do if return typedef auto double inline short typeid bool dynamic_cast int signed typename break else long sizeof union case enum mutable static unsigned catch explicit namespace static_cast using char export new struct virtual class extern operator switch void const false private template volatile const_cast float protected this wchar_t continue for public throw while default friend register true delete goto reinterpret_cast try

在给变量或者常量起名称的时候,不要使用C++的关键字,否则会产生歧义

int main() {

    // 创建变量:数据类型 变量名称 = 变量初始值;

    int a = 10;
    // 不要用关键字给变量或者常量起名称
    // int int = 10;  // 错误,类型说明符的组合无效
    // 第二个int是关键字,不可以作为变量的名称

    system("pause");
    return 0;
}

作用:C++规定给标识符(变量、常量)命名时,有一套自己的规则

  • 标识符不能是关键字
  • 标识符只能由字母、数字、下划线组成
  • 第一个字符必须为字母或下划线
  • 标识符中字母区分大小写
// 标识符命名规则
// 1、 标识符不可以是关键字
// 2、 标识符是由字母、数字、下划线构成
// 3、 标识符第一个字符只能是字母或下划线
// 4、 标识符是区分大小写的

int main() {
    // 1、 标识符不可以是关键字
    // int int = 10;  // 错误

    // 2、 标识符是由字母、数字、下划线构成
    int abc = 10;
    int _abc = 20;
    int _abc123 = 30;

    // 3、 标识符第一个字符只能是字母或下划线
    // int 123abc = 40;  // 错误,应输入标识符

    // 4、 标识符是区分大小写的
    int aaa = 100;
    // cout << AAA << endl;  // AAA 和 aaa 不是同一个名称

    // 建议:给变量起名的时候,最好能够做到见名知意
    int num1 = 10;
    int num2 = 20;
    int sum = num1 + num2;
    cout << sum << endl;

    system("pause");

    return 0;
}

Original: https://www.cnblogs.com/seansheep/p/15887930.html
Author: 在青青草原上抓羊
Title: 【C++基础】变量、常量、关键字、标识符命名

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/608955/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 安装 CentOS 7

    1、VMware虚拟机安装 2、CentOS操作系统安装 3、CentOS操作系统配置 3.1、选择语言 3.2、网络和主机名 3.3、日期和时间 3.4、安装位置 3.5、开始安…

    Linux 2023年6月8日
    0123
  • Docker 安装 Redis

    docker 启动 redis 命令 docker run -p 6379:6379 –name redis -v /usr/local/docker/redis.conf:/e…

    Linux 2023年5月28日
    0100
  • MySQL 批量修改库、表、列的排序规则

    1.表字段修复 SELECT TABLE_SCHEMA ‘数据库’, TABLE_NAME ‘表’, COLUMN_NAME ‘字段’, CHARACTER_SET_NAME ‘原…

    Linux 2023年6月7日
    084
  • linux系统引导过程

    linux系统引导过程 linux-0.11引导时,将依次运行BIOS程序、bootsect.s、setup.s和head.s,完成引导过程后进入到main函数运行。BIOS完成硬…

    Linux 2023年6月13日
    072
  • 正则: 匹配英文、数字和所有特殊字符

    r”’\[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;’\\[\]·~!@#¥%……&*()——\-+={}|《》?…

    Linux 2023年6月15日
    0133
  • WEB自动化-08-Cypress 接口测试

    8 接口测试 在服务和服务、系统和系统之间进行通信时,常常会使用到接口。通过接口测试,可以在项目早期更快发现问题。接口有很多类型,而现阶段使用的接口是基于HTTP协议的接口。 8….

    Linux 2023年6月7日
    0123
  • 堆栈

    目录: 9、【剑指Offer学习】【面试题09:用两个栈实现队列】 30、【剑指Offer学习】【面试题30:包含min函数的栈】 31、【剑指Offer学习】【面试题31:栈的压…

    Linux 2023年6月13日
    0114
  • [ Shell ] 用 while + case 实现 GetOptions 效果

    https://www.cnblogs.com/yeungchie/ 可以用 getopt,但我还是喜欢自己写这个过程,便于我控制更多细节。 下面要实现的效果是,从命令行参数中分析…

    Linux 2023年6月7日
    0110
  • Firefox浏览器的一些配置

    一、在新标签页打开书签 1、打开Firefox浏览器,地址栏输入 about:config。 2、选择”接受风险并继续”。 3、搜索 browser.tab…

    Linux 2023年6月6日
    0119
  • CentOS安装Docker-ce并配置国内镜像

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    0104
  • TCP传输层协议 特性

    客户A和服务器B都处于建立连接的状态,此时客户A主动与服务器B发出断开连接的请求: 第一步:客户A会发送一个序号为Seq=u的报文给服务器B,此时控制位中的断开位FIN=1,即请求…

    Linux 2023年6月6日
    090
  • 基于 OSPF 路由的邻居邻接关系发现实践

    1、实验目的 理解 OSPF 邻居关系和 OSPF 邻接关系的含义及差别 观察 OSPF 邻居邻接关系的建立过程 观察 OSPF 链路状态数据库的同步过程 2、实验原理 OSPF …

    Linux 2023年6月8日
    0132
  • 整理一些Windows桌面运维常用的命令,并且整合成脚本

    github地址:alittlemc/toy 名字叫toy吧,没有啥技术含量,帮不了大忙,但是可以作为在一旁递工具的小弟,还是可减少自己一定的工作量的,毕竟有一些太长的命令也不是很…

    Linux 2023年6月6日
    0107
  • 使用 ssmtp 於 shell 透過 Gmail 寄信

    有很多程式於 bash shell 執行, 執行完要自動寄信出去, 但是最近都被 Google 退信, 最好的方法是透過 Gmail 直接寄信. 本來是要另外寫隻 script 來…

    Linux 2023年5月28日
    091
  • python爬虫配置IP代理池(ProxyPool)

    关注我的公众号【靠谱杨的挨踢生活】回复 ProxyPool可以免费获取网盘链接。也可自行搜索下载:https://github.com/Python3WebSpider/Proxy…

    Linux 2023年6月14日
    0113
  • Linux 学习笔记

    Linux 学习笔记 作者:Grey 原文地址: 博客园:Linux 学习笔记 CSDN:Linux 学习笔记 说明 本文如果没有特别说明,环境是 CentOS 7, 主要是日常学…

    Linux 2023年5月27日
    0119
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球