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

杨校老师竞赛课堂之C++语言GESP一级笔记

考试大纲

GESP一级考试大纲

  • 计算机基础与编程环境

  • 计算机历史

  • 变量的定义与使用

  • 基本数据类型(整型、浮点型、字符型、布尔型)

  • 输入与输出(cin与cout、scanf与printf)

  • 基本运算(算术运算、关系运算、逻辑运算)

  • 基本控制结构(顺序结构、选择结构、循环结构)

一、计算机基础与编程环境

  • 计算机历史

二、基本数据类型

数据类型分类具体类型存储范围 / 特点关键说明
整数类型int范围:
-2147483648~2147483647,
简记为 - 2×10⁹~2×10⁹或 - 2³¹~2³¹-1
用于存储常规整数
long long范围:
-9223372036854775808~9223372036854775807,
简记为 - 9×10¹⁸~9×10¹⁸或 - 2⁶³~2⁶³-1
用于存储较大整数
实数类型float存储 6~7 位有效数字精度较低,适用于对精度要求不高的场景
double存储 15~16 位有效数字精度较高,日常实数存储常用
布尔类型bool仅存储 false(0)或 true(1),所有非 0 数据放入后均变为 1用于表示逻辑判断结果
字符类型char仅存储单个字符,用单引号引起来;本质是 ASCII 码(整数)1. 字符与 ASCII 码对应:0-9 对应 48-57,a-z 对应 97-122,A-Z 对应 65-90
2. 字符 0 转数字 0:字符 0 - '0'
字符串类string存储 1 个字符串(一串字符),用双引号引起来,下标从 0 开始string 类变量不能用 scanf 输入、printf 输出

三、变量

(一)变量定义

  • 一般形式:数据类型 变量名 1, 变量名 2; 例:int a, b; // 定义两个 int 类型变量 a 和 b

(二)变量命名规则

  1. 由字母、数字、下划线任意组合而成,数字不能在开头

  2. 区分大小写(如 a 与 A 是不同变量名)

  3. 不能是关键词(如 int、class、return、for 等)

  4. 同一括号内定义的变量不能重名

(三)变量赋值

  • 赋值方式:变量名 = 数据;

  • 执行过程:将 “=” 右边的数据赋值给左边的变量,多次赋值保留【最后一次】结果 例:int x; x = 5; x = 8; // 最终 x 的值为 8

四、输入与输出

(一)输入方式

输入类型语法格式关键说明
C++ 输入(cin)1. 单个变量:cin >> 变量名;
2. 多个变量:cin >> 变量名 1 >> 变量名 2;
1. 输入数据按 “>>” 方向自左向右依次存储到变量
2. 多个数据可用空格或换行隔开
3. 错误写法:cin >> a >> " " >> b;(输入中不能加引号内容)
4. 输入前必须提前定义变量
C 语言输入(scanf)scanf ("输入格式", & 变量名 1, & 变量名 2...);
(头文件:<cstdio>)
1. 格式化参数:
int 用 % d,
long long 用 % lld,
float 用 % f,
double 用 % lf,
char 用 % c,
字符数组用 % s(字符串名前不加 &)
2. 特殊格式:
%2d(数字宽度 2,不足补空格)、
%02d(数字宽度 2,不足补 0)
3. 变量名前必须加 &(取地址符),
string 类变量不可用

(二)输出方式

输出类型语法格式关键说明
C++ 输出(cout)1. 单个变量:cout << 变量名;
2. 多个变量(空格分隔):cout << 变量名 1 << " " << 变量名 2;
3. 多个变量(换行分隔):cout << 变量名 1 << endl << 变量名 2;
1. 变量数据按 “<<” 方向自左向右依次输出
2. 格式化输出需加头文件<iomanip>:
- 保留小数:cout <<fixed << setprecision (位数) << 数据;
- 控制整数宽度(补空格):cout <<setw (位数) << 数据;
C 语言输出(printf)printf ("输出格式", 变量名 1, 变量名 2...);
(头文件:<cstdio>)
1. 格式化参数与 scanf 一致,变量名前不加 &
2. 特殊字符:
\n(换行)
\t(相当于 4 个空格)
\\(输出 \)
\"(输出")
\'(输出 ')
%%(输出 %)
3. string 类变量不可用

五、基本运算

(一)算术运算

  • 运算符:+(加)、-(减)、*(乘)、/(除)、%(取余)

  • 特殊规则:

    • 两个整数相除结果为整数(如 5/2=2),常用于平均分配场景

    • “%” 仅适用于整数,结果为余数(如 5%2=1)

    • 优先级:*、/、% 高于 +、-

(二)关系运算

  • 运算符:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)

  • 运算结果:逻辑值(真为 1,假为 0)

  • 例:10>5 结果为 1(真),10==5 结果为 0(假)

(三)逻辑运算

运算符含义运算规则
&&并且(逻辑与)全真才真,一假则假3>2 && 5>4 结果为 1(真)
||或者(逻辑或)全假才假,一真则真3>5 || 5>4 结果为 1(真)
!不是(逻辑非)非真即假,非假即真!(3>5) 结果为 1(真)
  • 否定规则:

    • !(条件 1 && 条件 2) = ! 条件 1 || ! 条件 2

    • !(条件 1 || 条件 2) = ! 条件 1 && ! 条件 2

六、基本控制结构

(一)顺序结构

  • 特点:按代码顺序自上而下执行,每行按运算符优先级执行

  • 生活示例:起床→穿衣→洗漱→吃饭

(二)选择结构

结构类型语法格式执行逻辑
单分支(if)if (判断条件){
满足条件执行的语句;
}
条件成立则执行大括号内语句,不成立则忽略
双分支(if-else)if (判断条件){
满足条件执行的语句;
}else{
不满足条件执行的语句;
}
条件成立执行 if 内语句,不成立执行 else 内语句;if 和 else 有且只有一个执行
多分支(if-else if-else)if (判断条件 1){
语句 1;
} else if (判断条件 2){
语句 2;
}...else{
语句 n;
}
依次判断条件,满足某一条件则执行对应语句,执行后结束结构;可无 else
条件运算(三目运算符)表达式 1 ? 表达式 2 : 表达式 3;相当于双分支 if-else,表达式 1 成立则取表达式 2 结果,否则取表达式 3 结果;可直接赋值
例:int max = a>b ? a : b;(求 a 和 b 的最大值)
switch 结构switch (表达式){
case 常量 1: 语句 1; break;
case 常量 2: 语句 2; break;
...
default: 语句 n;
}
1. 表达式仅能判断整型或字符型
2. 依次匹配 case 常量,匹配成功则执行对应语句,直到 break 结束;无匹配则执行 default
3. 缺少 break 会继续执行后续 case 语句

(三)循环结构

循环类型语法格式适用场景执行逻辑
while 循环while (判断条件){
重复执行的语句(循环体);
}
重复次数不确定的场景1. 判断条件成立,执行循环体
2. 循环体执行后,再次判断条件,直到条件不成立结束循环
for 循环for (表达式 1; 表达式 2; 表达式 3){
重复执行的语句(循环体);
}
重复次数确定、枚举区间的场景1. 先执行表达式 1(初始化)
2. 判断表达式 2(循环条件),成立则执行循环体
3. 执行表达式 3(更新),再回到步骤 2;不成立则结束循环
4. 三个表达式均可省略,但可能导致死循环

(四)循环控制语句

语句功能
continue;跳过本次循环剩余语句,直接进入下一次循环判断for (int i=1;i<=5;i++){if (i==3) continue; cout<<i;}
// 输出 1 2 4 5
break;立即跳出当前循环,结束循环执行for (int i=1;i<=5;i++){if (i==3) break; cout<<i;}
// 输出 1 2
return 0;直接结束整个程序(通常用于 main 函数)循环中遇到 return 0;,程序直接终止

http://www.dtcms.com/a/357677.html

相关文章:

  • JUC并发编程09 - 内存(01) - JMM/cache
  • HITTER——让双足人形打乒乓球(且可根据球的走向移动脚步):高层模型规划器做轨迹预测和击球规划,低层RL控制器完成击球
  • windows下安装redis
  • fcitx5-rime自动部署的实现方法
  • ​Windows8.1-KB2934018-x64.msu 怎么安装?Windows 8.1 64位补丁安装教程​(附安装包下载)
  • Linux按键驱动开发
  • 基于 Vue + Interact.js 实现可拖拽缩放柜子设计器
  • 忆联参与制定消费级SSD团体标准正式出版! 以“高可靠”引领行业提质增效与用户体验升级
  • 图扑 HT 农林牧数据可视化监控平台
  • 【从零开始搭建你的 AI 编程助手知识库】
  • 静态库生成及使用流程
  • playbook剧本
  • 4. LangChain4j 模型参数配置超详细说明
  • LangChain框架入门02:开发环境配置
  • 光伏发多少电才够用?匹配家庭用电需求
  • 【C/C++】柔性数组
  • 用html+js下拉菜单的demo,当鼠标点击后展开,鼠标点击别的地方后折叠
  • 高斯滤波的简介、C语言实现和实测
  • simd笔记
  • 嵌入式-定时器的从模式控制器、PWM参数测量实验-Day24
  • 命令拓展(草稿)
  • C++ 并发编程:全面解析主流锁管理类
  • 虚拟私有网络笔记
  • HDMI2.1 8K验证平台
  • websocket建立连接过程
  • 航电系统路径规划技术解析
  • C++Primer笔记——第六章:函数(下)
  • Python气象与海洋:安装入门+科学计算库+可视化+台风数据+WRF/ROMS后处理+EOF分析+机器学习
  • C++标准库断言头文件<cassert>使用指南
  • 告别音色漂移!微软超长语音合成模型VibeVoice正式开源​