当前位置: 首页 > news >正文

关于程序的基本要素的详细讲解(从属GESP一级内容)

本篇内容

标识符、关键字
常量、变量、表达式
命名规则

🧱 程序基本要素(Program Elements)知识点


✅ 一、C++ 程序的基本结构

C++ 程序通常由以下几部分组成:

#include <iostream>           // 头文件
using namespace std;         // 命名空间
int main() {                 // 主函数入口// 程序语句return 0;                // 程序结束
}

✅ 二、关键组成要素详解

要素类别

说明与示例

头文件

#include <iostream>

表示引入输入输出支持

命名空间

using namespace std;

允许简写 cout 而不用写 std::cout

主函数

所有 C++ 程序的入口为 int main(),程序从此开始执行

语句

每条语句如 int a = 5; 必须以分号结尾

注释

单行注释://,多行注释:/* */

分号;

表示一条语句的结束,是 C++ 中不可或缺的语法符号

花括号{}

表示代码块的范围,主函数体或条件语句体需使用花括号

缩进与格式

虽非语法强制,但统一风格(如 4 空格缩进)有助于阅读与维护


✅ 三、关键字与标识符

📌 1. 关键字(keywords)

  • • 是 C++ 保留字,具有特殊含义,不能用作变量名。
  • • 常见关键字包括:int, return, if, else, for, while, void 等。

📌 2. 标识符(identifiers)

  • • 用于命名变量、函数、数组、类等。
  • • 命名规则:
    • • 必须由字母、数字或下划线组成,不能以数字开头
    • • 不能与关键字重名。
    • • 区分大小写(如 Sumsum 是不同的变量)。

✅ 四、变量(Variable)

1. 变量定义

  • 变量是内存中的一个命名空间,用于存储可以在程序运行过程中改变的值

2. 定义语法

int a = 5;
double pi = 3.14;

4. 常见数据类型

类型

关键字

示例值

描述

整型

int

10

, -5

存整数

浮点型

float

3.14

存单精度小数

双精度浮点

double

3.1415926

精度更高

字符型

char

'A'

存单个字符

布尔型

bool

true

, false

存布尔值

字符串

string

"hello"

需引入 <string>


✅ 五、常量(Constant)

1. 常量定义

  • • 常量的值在程序运行过程中不能被改变

2. 常量声明方式

🔹 使用 const 修饰:

const int MAX = 100;

🔹 使用 #define 宏定义:

#define PI 3.14

方法

是否类型检查

支持调试

推荐程度

const

✅ 类型安全

✅ 支持调试

✅ 推荐

#define

❌ 无类型检查

⚠️ 不推荐


✅ 六、表达式(Expression)

1. 表达式定义

  • 表达式是由变量、常量、运算符组成的结构,用来进行计算或赋值。

2. 表达式分类

类型

示例

功能

算术表达式

a + b * 2

执行加减乘除

赋值表达式

x = y + 3

将结果赋值给变量

逻辑表达式

a > b && c != d

返回布尔值(真或假)

关系表达式

x == y

比较两个值是否相等


3. 运算符优先级

优先级

运算符

说明

()

括号最高

* / %

乘除取模

+ -

加减

== != < >

比较大小或相等

&&

,||,!

逻辑与(&&)优先级大于逻辑或(||)

=

赋值运算

💡 若无括号,运算按 从左到右 的顺序进行(除赋值运算等右结合性情况)


✅ 七、示例程序

#include <iostream>
using namespace std;int main() {const double PI = 3.14;int r = 5;double area = PI * r * r;cout << "面积是:" << area << endl;return 0;
}

✅ 八、程序执行流程

  1. 1. 从 main() 函数的第一行开始执行;
  2. 2. 语句按顺序逐行运行,遇到输入输出、运算、判断等语句;
  3. 3. 程序执行到 return 0; 时终止,返回值 0 表示正常结束。

✅ 九、典型代码模板

#include <iostream>     // 引入输入输出功能
using namespace std;int main() {int a, b;cin >> a >> b;            // 输入两个整数cout << "和是:" << a + b << endl;  // 输出结果return 0;                 // 程序正常结束
}

✅ 十、常见错误类型

错误类型

示例

说明

忘记分号

int a = 10

语句必须以分号结尾

主函数格式错误

main() int {}

应为 int main() {}

错用关键字

int if = 5;

if

是关键字,不能用作变量名

忘记包含头文件

使用 cin/cout 却没 #include <iostream>

编译失败

变量名非法

int 1a = 5;

变量不能以数字开头

常量赋值

const int x; x = 5;

常量不能被赋值

符号使用错误

area = pi * r ^ 2;

C++ 中幂运算不使用 ^(这是按位异或)

变量赋值错误

float area = 3.14r;

写法非法,数字与变量不能连写

宏定义格式

#define MAX = 100;

宏定义不使用等号与分号

✅ 十一、判断题/选择题备考要点

考点

常见题型

主函数必须写成

int main()

,不可省略

标识符命名规则

不可以数字开头,不可与关键字同名

程序必须以 main() 开始

程序入口必须是主函数

分号缺失会如何

编译错误(语法不完整)

注释语法

单行用 //,多行用 /* */

关键字不能用作变量名

如:int, return, while

常量不可赋新值

const int MAX = 100;

一经定义不可改

运算优先级顺序(简略)

括号 > 乘除 > 加减 > 比较 > 逻辑 > 赋值

幂运算写法

没有 ^,需用 x * x 表达平方

标识符合法性三要素

字母/数字/下划线组合;不能数字开头;非关键字


🌟 GESP C++ 一级 · 选择题


✅ 1. 【主函数 · 真题】

题目:C++ 程序的主函数应写为:
A. main() B. start() C. int main() D. void Start()
答案:C
解析:主函数必须为 int main(),是程序的入口。


✅ 2. 【变量命名 · 真题】

题目:以下变量命名中合法的是:
A. int B. 3score C. _age D. return
答案:C
【出自:23年12月题4】


✅ 3. 【常量声明 · 真题】

题目:以下定义常量的写法中正确的是:
A. #define PI = 3.14; B. const float pi = 3.14;
C. int const = 10; D. float pi := 3.14;
答案:B


✅ 4. 【表达式结果 · 真题】

题目:表达式 5 + 6 * 2 的结果是:
A. 22 B. 17 C. 30 D. 11
答案:B
【出自:23年9月题8 相关逻辑】


✅ 5. 【程序结构 · 真题】

题目:以下关于 C++ 程序结构的描述中,正确的是:
A. 程序不需要主函数
B. 程序必须有一个且只能有一个 main() 函数
C. main() 可以省略大括号
D. 所有语句都必须以冒号结尾
答案:B
【参考:24年6月题13】


✅ 6. 【表达式类型识别】

题目:以下属于赋值表达式的是:
A. a + b * c B. x = 10 + 5 C. x > y && y > 0 D. x != y
答案:B


✅ 7. 【优先级判断】

题目:下列表达式中括号最先执行的是:
A. a + b * c B. a * b + c C. a * (b + c) D. a + b + c
答案:C
解析:括号优先级最高。


✅ 8. 【const常量 · 真题】

题目:下列语句中定义了一个值为 100 的整型常量的是:
A. int MAX = 100; B. const int MAX = 100;
C. MAX = 100; D. #define const MAX = 100
答案:B


✅ 9. 【错误识别】

题目:下面哪个变量定义是错误的?
A. int x1 = 0; B. double 1num = 5.0; C. char ch = 'A'; D. bool flag = true;
答案:B
解析:变量名不能以数字开头。


✅ 10. 【赋值表达式理解】

题目:以下关于 x = y = 10; 的说法正确的是:
A. 表达式非法 B. x 赋值失败 C. y 先赋为 10,再赋值给 x D. 优先级错误
答案:C
解析:赋值运算符是右结合,先执行 y = 10,再 x = y


好的,以下是按照你指定格式(有标题、有题目、有标准答案、有解析说明)整理的 程序基本要素、变量、常量、表达式模块判断题(共 10 题),结构清晰、适合教学与备考使用。


✅ GESP C++ 一级判断题


✅ 题目 1:【程序结构与主函数】

题干:C++ 程序必须包含 main() 函数,否则无法运行。( )
答案:√
解析main() 是 C++ 程序的执行入口,缺少会导致编译失败。


✅ 题目 2:【变量命名规则】

题干:以下变量命名是合法的:int 2num = 10;( )
答案:×
解析:变量名不能以数字开头,2num 是非法命名。


✅ 题目 3:【常量定义】

题干:使用 const int MAX = 100; 声明的常量在程序中可以重新赋值。( )
答案:×
解析const 修饰的变量是只读常量,不能被更改,否则编译错误。


✅ 题目 4:【运算符优先级】

题干:表达式 a + b * 2 中,加法会优先于乘法执行。( )
答案:×
解析:乘法 * 优先级高于加法 +,先计算 b * 2


✅ 题目 5:【宏常量格式】

题干:宏常量 #define PI 3.14 的定义中,不需要加分号或等号。( )
答案:√
解析#define 是预处理指令,格式为 #define 名字 值,不使用 =;


✅ 题目 6:【变量区分大小写】

题干:在 C++ 中,变量 Ageage 被视为相同变量。( )
答案:×
解析:C++ 区分大小写,Ageage 是两个不同的标识符。


✅ 题目 7:【变量使用前必须定义】

题干:在 C++ 中,变量可以在使用后定义。( )
答案:×
解析:C++ 是强类型语言,变量必须在使用前先声明或定义。


✅ 题目 8:【括号优先级】

题干:表达式 (a + b) * c 中,括号的运算优先级最高。( )
答案:√
解析:运算符优先级中,括号 () 始终最高。


✅ 题目 9:【关键字不能作变量名】

题干:可以将 ifreturn 用作变量名。( )
答案:×
解析ifreturn 是 C++ 关键字,不能作为标识符使用。


✅ 题目 10:【赋值表达式结合方向】

题干:表达式 x = y = 5; 是合法的,最终 x 和 y 都等于 5。( )
答案:√
解析:赋值运算符 = 是右结合,先执行 y = 5,再 x = y

相关文章:

  • 端侧调用云存储实现头像存储
  • 查看shell选项状态命令详解
  • CentOS7.6 yum无法下载
  • 《HTTP权威指南》 第14章 安全HTTP
  • 小木的算法日记——合成两个有序链表
  • 系统思考:救火先放火
  • 优化通义大模型推理性能:企业级场景下的延迟与成本削减策略
  • 桌面小屏幕实战课程:DesktopScreen 3 Git工具使用
  • 21.安卓逆向2-frida hook技术-HookOkHttp的拦截器
  • 数智管理学(二十四)
  • C++ -- AVL树的插入和旋转
  • Linux 线程调度管理函数
  • leetcode:21. 合并两个有序链表
  • 华为云Flexus+DeepSeek征文|基于Dify构建解析网页写入Notion笔记工作流
  • 【C++】C++枚举、const、static的用法
  • LLM存储优化:大量长对话解决方案
  • C++ - 标准库之 <string> npos(npos 概述、npos 的作用)
  • 开发云数据库
  • 数据库索引结构 B 树、B + 树与哈希索引在不同数据查询场景下的适用性分析
  • 深入剖析Flink内存管理:架构、调优与实战指南
  • WordPress能放小程序吗/杭州网络排名优化
  • 网站建设的设计与实现/google chrome官网入口
  • 怎么问客户做不做网站/黑帽seo技术有哪些
  • 怎么创建公司的个人网站/windows优化大师会员兑换码
  • 如何提高网站打开速度/河南今日头条新闻最新
  • 手机网站自动适配/专业seo培训学校