跳到主要内容 C++ 一级 GESP 知识点详细指南 | 极客日志
C++ 算法
C++ 一级 GESP 知识点详细指南 本文系统梳理了 C++ 一级 GESP 考试的核心知识点,包括编程环境搭建、数据类型与变量、运算符、输入输出、流程控制、函数基础、数组及简单算法。通过概念解析、代码示例和易错点提醒,帮助学习者掌握 C++ 语法与逻辑思维,并提供模拟试题辅助备考。
C++ 一级 GESP 知识点详细指南
前言
GESP(图形教育能力测评)是由中国计算机学会(CCF)主办的面向青少年的编程能力认证考试,旨在考察编程基础能力与应用思维。C++ 一级是 GESP 的入门级别,重点考察C++ 基础语法、逻辑控制、简单算法 等核心能力。本文以 GESP 一级考试大纲为基准,结合零基础学习需求,系统梳理所有知识点,包含概念解析、代码示例、易错点提醒、真题模拟 四大模块,助你高效备考!
第一章 编程环境与基础概念
1.1 为什么要学 C++?
C++ 是一种高效、通用、面向对象 的编程语言,广泛应用于游戏开发、操作系统、嵌入式设备等领域。GESP 一级选择 C++ 作为考试语言,是因为其语法简洁、逻辑清晰,适合培养编程思维。
1.2 搭建 C++ 编程环境
要编写 C++ 程序,需先安装编译器 (将代码转为计算机能执行的二进制文件)。常用工具:
Dev-C++ (轻量、适合新手,集成编译器和编辑器)
Code::Blocks (跨平台,支持调试)
Visual Studio (功能强大,适合进阶)
验证安装 :新建文件 hello.cpp,输入以下代码并运行,若输出 Hello GESP! 则环境正常。
#include <iostream>
using namespace std;
int main () {
cout << "Hello GESP!" << endl;
return 0 ;
}
关键概念:头文件与命名空间
#include <iostream>:告诉编译器引入'输入输出流'相关的函数(如 cout、cin)。
using namespace std;:'std'是 C++ 标准库的命名空间,避免重复命名(例如 cout 实际是 std::cout)。
注意 :新手建议保留 using namespace std;,避免每次写 std::cout 的麻烦;熟练后可指定具体命名空间(如 using std::cout;)。
1.3 程序的基本结构 一个 C++ 程序由预处理指令、全局变量、函数 组成,其中 main() 函数是程序执行的起点(必须存在且唯一)。
#include <iostream>
using namespace std;
int global_num = 10 ;
void print_num () {
cout << "全局变量值:" << global_num << endl;
}
int main () {
print_num ();
int local_num = 20 ;
cout << "局部变量值:" << local_num << endl;
return 0 ;
}
第二章 数据类型与变量
2.1 数据类型的意义 计算机只能处理二进制,但人类需要处理数字、文字、符号等。数据类型定义了数据的存储大小、取值范围、可进行的操作 。整数可以做除法,但结果是整数。
2.2 基本数据类型(GESP 一级重点) 类型名 关键字 存储大小(字节) 取值范围 说明 整型 int4 -2^31 ~ 2^31-1(约 -21 亿~21 亿) 最常用的整数类型 短整型 short2 -2^15 ~ 2^15-1(约 -3 万~3 万) 范围小,节省空间 长整型 long4(32 位系统)或 8(64 位) 同 int 或更大 兼容不同系统的整数 长长整型 long long8 -2^63 ~ 2^63-1(约 -9e18~9e18) 超大整数 单精度浮点型 float4 ±3.4e-38 ~ ±3.4e38 小数,精度约 6-7 位有效数字 双精度浮点型 double8 ±1.7e-308 ~ ±1.7e-308 小数,精度约 15-17 位有效数字 字符型 char1 -128 ~ 127(或 0~255) 存储单个字符(如'a'、'5') 布尔型 bool1 true(1)或 false(0)逻辑值,表示'真'或'假'
注意:
浮点型存储的是近似值(如 0.1 无法精确表示),计算时可能存在精度误差。
字符型存储的是字符的 ASCII 码(如 'a' 对应 97,'0' 对应 48)。
2.3 变量与常量
2.3.1 变量:可修改的'容器' 变量是程序中存储数据的'容器',使用前需声明类型和名称 。
int age;
double score = 90.5 ;
char grade = 'A' ;
bool is_pass = true ;
只能包含字母(大小写敏感)、数字、下划线(_)。
不能以数字开头(如 123abc 非法,abc123 合法)。
不能是关键字(如 int、main、if 等,详见附录)。
建议见名知意(如 student_age 表示学生年龄,避免 a、b 等无意义名称)。
2.3.2 常量:不可修改的'固定值'
字面值常量 :直接写在代码中的值(如 10、3.14、'a'、"hello")。
const 修饰的常量 :声明时用 const 限定,不可修改。
const double PI = 3.14159 ;
const int MAX_STUDENTS = 50 ;
cout << PI * 2 * 2 << endl;
2.4 数据类型的转换 当不同类型的数据参与运算时,C++ 会自动转换类型(隐式转换),但可能丢失精度。
2.4.1 隐式转换(自动提升) 小范围类型 → 大范围类型(安全):
char/short → int → long → long long → float → double
char c = 'A' ;
int i = c;
double d = i;
2.4.2 显式转换(强制转换) 大范围类型 → 小范围类型(可能丢失数据,需谨慎):
语法:(目标类型) 表达式 或 目标类型 (表达式)
double pi = 3.14159 ;
int int_pi = (int )pi;
cout << int_pi << endl;
int num = 100 ;
char ch = char (num);
第三章 运算符与表达式 运算符是连接数据并产生新数据的符号,GESP 一级重点考察算术、赋值、关系、逻辑、条件、自增自减 六大类运算符。
3.1 算术运算符 用于数值计算,包括:+(加)、-(减)、*(乘)、/(除)、%(取余)、++(自增)、--(自减)。
3.1.1 基本算术运算
/:整数相除结果为整数(舍去小数部分),浮点数相除结果为浮点数。
%:仅适用于整数,结果是两数相除的余数(符号与被除数一致)。
int a = 10 , b = 3 ;
cout << a + b << endl;
cout << a - b << endl;
cout << a * b << endl;
cout << a / b << endl;
cout << a % b << endl;
double c = 10.5 , d = 3.2 ;
cout << c / d << endl;
3.1.2 自增(++)与自减(–)
i++(后置自增):先使用 i 的值,再自增 1。
++i(前置自增):先自增 1,再使用 i 的值。
int i = 5 ;
cout << i++ << endl;
cout << i << endl;
int j = 5 ;
cout << ++j << endl;
cout << j << endl;
3.2 赋值运算符 将右侧表达式的值赋给左侧变量,包括基本赋值(=)和复合赋值(+=、-=、*=、/=、%=)。
int x = 10 ;
x = x + 5 ;
x -= 3 ;
x *= 2 ;
x /= 4 ;
x %= 4 ;
3.3 关系运算符 用于比较两个值的大小,结果为布尔型(true或false),包括:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)。
int a = 10 , b = 20 ;
cout << (a > b) << endl;
cout << (a < b) << endl;
cout << (a == b) << endl;
cout << (a != b) << endl;
3.4 逻辑运算符 用于组合布尔表达式,结果为布尔型,包括:&&(逻辑与)、||(逻辑或)、!(逻辑非)。
运算符 名称 规则(P 和 Q 为布尔值) 短路特性 &&逻辑与 P 为 false 时,结果必为 false(不再计算 Q) 左操作数为 false 时,右操作数不执行 ` ` 逻辑或 !逻辑非 取反(true→false,false→true) 无
int age = 15 ;
bool is_student = true ;
cout << (age >= 6 && age <= 18 ) << endl;
cout << (is_student || age > 60 ) << endl;
cout << !(age == 20 ) << endl;
3.5 条件运算符(三元运算符) 唯一的三目运算符,语法:表达式 1 ? 表达式 2 : 表达式 3。
若表达式 1 为 true,执行表达式 2 并返回结果;
若表达式 1 为 false,执行表达式 3 并返回结果。
int a = 10 , b = 20 ;
int max_num = (a > b) ? a : b;
cout << max_num << endl;
3.6 运算符优先级与结合性(GESP 高频考点) 当表达式中有多个运算符时,需按优先级确定计算顺序;优先级相同则按结合性(左结合或右结合)。
括号 ()、自增 ++/自减 --(后置)
单目运算符(如 - 取负、!)
算术运算符:*///% → +/-
关系运算符:>/</>=/<= → ==/!=
逻辑运算符:! → && → ||
条件运算符 ?:
赋值运算符 =/+= 等
int x = 2 + 3 * 4 ;
int y = (2 + 3 ) * 4 ;
int z = -3 * 2 ;
第四章 输入与输出 输入(读取外部数据)和输出(显示程序结果)是程序与用户交互的核心,GESP 一级主要考察 cin(输入)和 cout(输出)。
4.1 输出:cout cout(控制台输出)用于将数据打印到屏幕,语法:
cout << 表达式 1 << 表达式 2 << ... << endl;
endl:输出换行符并刷新缓冲区(可选,也可用换行)。
int age = 12 ;
double score = 95.5 ;
char grade = 'A' ;
cout << "年龄:" << age << " 分数:" << score << " 等级:" << grade << endl;
cout << "第一行" << '\n' << "第二行" << endl;
4.2 输入:cin cin(控制台输入)用于从键盘读取数据到变量,语法:
cin >> 变量 1 >> 变量 2 >> ...;
输入时用空格、换行分隔数据,cin 会自动匹配变量类型。
int a, b;
double c;
char d;
cout << "输入两个整数和一个浮点数:" << endl;
cin >> a >> b >> c;
cout << "输入一个字符:" << endl;
cin >> d;
cout << "a=" << a << " b=" << b << " c=" << c << " d=" << d << endl;
4.3 格式化输出(选学,GESP 可能涉及) 默认情况下,cout 输出浮点数会保留 6 位有效数字,整数为十进制。可通过 iomanip 库中的函数格式化输出。
功能 代码示例 说明 设置浮点数精度 cout << fixed << setprecision(2);固定小数位数(如 2 位) 设置宽度和填充 cout << setw(10) << setfill('*');宽度为 10,不足用 * 填充 切换进制(十进制/八进制/十六进制) cout << hex;(十六进制)八进制 oct,十进制 dec(默认)
#include <iomanip>
int main () {
int num = 255 ;
double pi = 3.1415926 ;
cout << "十进制:" << num << endl;
cout << "十六进制:" << hex << num << endl;
cout << "八进制:" << oct << num << endl;
cout << fixed << setprecision (2 );
cout << "π≈" << pi << endl;
cout << "填充示例:" << setw (10 ) << setfill ('*' ) << 123 << endl;
return 0 ;
}
第五章 流程控制(核心!) 流程控制决定了程序的执行顺序,GESP 一级重点考察**顺序、分支(if-else、switch-case)、循环(for、while、do-while)**三大结构。
5.1 顺序结构 程序默认按代码编写顺序逐行执行(从上到下,从左到右),是最基本的流程。
5.2 分支结构:根据条件选择执行路径
5.2.1 if 语句(单分支) int score = 75 ;
if (score >= 60 ) {
cout << "及格!" << endl;
}
5.2.2 if-else 语句(双分支) int score = 55 ;
if (score >= 60 ) {
cout << "及格!" << endl;
} else {
cout << "不及格!" << endl;
}
5.2.3 if-else if-else 语句(多分支) if (条件 1 ) {
} else if (条件 2 ) {
} else {
}
示例 :根据分数输出等级(A:90+, B:80-89, C:70-79, D:60-69, F:<60)
int score = 85 ;
if (score >= 90 ) {
cout << "等级:A" << endl;
} else if (score >= 80 ) {
cout << "等级:B" << endl;
} else if (score >= 70 ) {
cout << "等级:C" << endl;
} else if (score >= 60 ) {
cout << "等级:D" << endl;
} else {
cout << "等级:F" << endl;
}
5.2.4 switch-case 语句(等值判断) 适用于条件为固定值 的场景(如星期几、月份),语法:
switch (表达式) {
case 常量 1 :
break ;
case 常量 2 :
break ;
default :
}
int month = 2 ;
switch (month) {
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
cout << "31 天" << endl;
break ;
case 4 :
case 6 :
case 9 :
case 11 :
cout << "30 天" << endl;
break ;
case 2 :
cout << "28 天" << endl;
break ;
default :
cout << "无效月份!" << endl;
}
case 后必须是常量值 (如 1、'a'),不能是变量或表达式。
若省略 break,会发生'穿透'(执行下一个 case 的代码),需谨慎使用。
5.3 循环结构:重复执行代码块
5.3.1 while 循环(先判断后执行) 执行流程 :先判断条件,若为 true 则执行循环体,执行完后再次判断,直到条件为 false。
int i = 1 ;
while (i <= 5 ) {
cout << i << " " ;
i++;
}
5.3.2 do-while 循环(先执行后判断) 执行流程 :先执行一次循环体,再判断条件,若为 true 则继续循环,否则退出。
int num;
do {
cout << "请输入 1~10 的数:" << endl;
cin >> num;
} while (num < 1 || num > 10 );
cout << "输入成功:" << num << endl;
5.3.3 for 循环(紧凑的循环结构) for (初始化表达式; 条件表达式; 更新表达式) {
}
执行初始化表达式(仅一次);
判断条件表达式,若为 true 则执行循环体;
执行更新表达式(如 i++);
重复步骤 2~3,直到条件为 false。
示例 :打印 1~5 的整数(等价于 while 循环)
for (int i = 1 ; i <= 5 ; i++) {
cout << i << " " ;
}
5.3.4 循环的嵌套 循环内部包含另一个循环(如打印乘法表),外层循环每执行一次,内层循环执行全部次数。
for (int i = 1 ; i <= 9 ; i++) {
for (int j = 1 ; j <= i; j++) {
cout << j << "×" << i << "=" << i * j << "\t" ;
}
cout << endl;
}
1×1 =1 1 ×2 =2 2 ×2 =4 1 ×3 =3 2 ×3 =6 3 ×3 =9 ...(省略后续行)
5.4 控制循环的语句(break、continue)
break:终止当前循环,跳出循环体(不再执行后续迭代)。
continue:跳过当前迭代的剩余代码,直接进入下一次循环判断。
int nums[] = {1 , 3 , 5 , 7 , 8 , 9 };
for (int i = 0 ; i < 6 ; i++) {
if (nums[i] % 2 == 0 ) {
cout << "第一个偶数:" << nums[i] << endl;
break ;
}
}
for (int i = 1 ; i <= 5 ; i++) {
if (i % 2 == 1 ) {
continue ;
}
cout << i << " " ;
}
第六章 函数基础 函数是程序的'模块',用于封装重复代码,提高复用性。GESP 一级考察函数的定义、声明、调用 及参数传递 。
6.1 函数的结构 函数由返回类型、函数名、参数列表、函数体 组成,语法:
返回类型 函数名 (参数列表) {
return 返回值;
}
6.2 函数的分类
库函数 :C++ 标准库提供的函数(如 cout、cin 属于 iostream 库)。
自定义函数 :用户自己编写的函数(需先声明或定义后使用)。
6.3 自定义函数的使用步骤
函数声明 (可选,若函数定义在调用之后则需要):告诉编译器函数的'接口'(返回类型、名称、参数)。
函数定义 :实现函数的具体功能。
函数调用 :通过函数名和参数调用函数。
int add (int a, int b) ;
int main () {
int x = 3 , y = 5 ;
int sum = add (x, y);
cout << "和为:" << sum << endl;
return 0 ;
}
int add (int a, int b) {
return a + b;
}
6.4 参数传递(值传递) GESP 一级只考察值传递 :函数接收的是参数的'副本',修改形参不影响实参。
void swap (int a, int b) {
int temp = a; a = b; b = temp;
}
int main () {
int x = 10 , y = 20 ;
swap (x, y);
cout << "x=" << x << " y=" << y << endl;
return 0 ;
}
6.5 无参数无返回值的函数 函数可以没有参数(用空括号 () 表示),也可以没有返回值(返回类型为 void)。
void say_hello () {
cout << "Hello, GESP!" << endl;
}
int main () {
say_hello ();
say_hello ();
return 0 ;
}
第七章 数组基础 数组是存储同类型、连续内存 的一组变量,用于批量处理数据。GESP 一级考察一维数组 的定义、初始化、访问及基本操作。
7.1 一维数组的定义 int scores[5 ];
double temps[10 ];
const int N = 3 ;
int arr[N];
7.2 数组的初始化 数组初始化时可为元素赋初值,未显式赋值的元素会被初始化为 0(整型)、0.0(浮点型)、(字符型)或不确定值(全局数组默认初始化为 0)。
int a[3 ] = {1 , 2 , 3 };
int b[5 ] = {4 , 5 };
int c[] = {6 , 7 , 8 , 9 };
int d[3 ] = {};
7.3 数组的访问 通过索引 (从 0 开始)访问数组元素,语法:数组名 [索引]。
int nums[5 ] = {10 , 20 , 30 , 40 , 50 };
cout << nums[0 ] << endl;
cout << nums[3 ] << endl;
nums[1 ] = 200 ;
cout << nums[1 ] << endl;
7.4 数组的遍历 通过循环访问数组的所有元素(最常用 for 循环)。
int arr[5 ] = {1 , 2 , 3 , 4 , 5 };
int sum = 0 ;
for (int i = 0 ; i < 5 ; i++) {
sum += arr[i];
}
cout << "和为:" << sum << endl;
7.5 数组的常见操作
7.5.1 查找最大值 int find_max (int arr[], int len) {
int max_val = arr[0 ];
for (int i = 1 ; i < len; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
}
}
return max_val;
}
int main () {
int scores[5 ] = {85 , 92 , 78 , 95 , 88 };
int max_score = find_max (scores, 5 );
cout << "最高分:" << max_score << endl;
return 0 ;
}
7.5.2 反转数组 void reverse_arr (int arr[], int len) {
for (int i = 0 ; i < len / 2 ; i++) {
int temp = arr[i];
arr[i] = arr[len - 1 - i];
arr[len - 1 - i] = temp;
}
}
int main () {
int nums[5 ] = {1 , 2 , 3 , 4 , 5 };
reverse_arr (nums, 5 );
for (int i = 0 ; i < 5 ; i++) {
cout << nums[i] << " " ;
}
return 0 ;
}
7.6 注意事项
数组长度固定,无法动态扩展(GESP 一级不考察动态数组)。
数组名是数组的首地址(指针),不能直接赋值给另一个数组(如 arr1 = arr2; 错误)。
数组越界访问(索引≥长度或<0)是常见错误,不会报错但结果不可预测!
第八章 简单算法(GESP 核心考点) 算法是解决问题的步骤和方法,GESP 一级重点考察枚举、排序、查找 三大基础算法。
8.1 枚举算法(穷举法) 思想 :根据问题的条件,逐一列举所有可能的情况,筛选出符合条件的解。
示例 :百钱买百鸡(公鸡 5 元/只,母鸡 3 元/只,小鸡 1 元/3 只,用 100 元买 100 只鸡)
int main () {
int rooster, hen, chick;
for (rooster = 0 ; rooster <= 20 ; rooster++) {
for (hen = 0 ; hen <= 33 ; hen++) {
chick = 100 - rooster - hen;
if (chick % 3 == 0 && 5 * rooster + 3 * hen + chick / 3 == 100 ) {
cout << "公鸡:" << rooster << " 母鸡:" << hen << " 小鸡:" << chick << endl;
}
}
}
return 0 ;
}
公鸡:0 母鸡:25 小鸡:75 公鸡:4 母鸡:18 小鸡:78 公鸡:8 母鸡:11 小鸡:81 公鸡:12 母鸡:4 小鸡:84
8.2 排序算法(以冒泡排序为例) 思想 :重复遍历数组,比较相邻元素,若顺序错误则交换,直到所有元素有序(升序/降序)。
示例 :升序排列数组 {5, 3, 8, 1, 2}
void bubble_sort (int arr[], int len) {
for (int i = 0 ; i < len - 1 ; i++) {
for (int j = 0 ; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1 ]) {
int temp = arr[j];
arr[j] = arr[j + 1 ];
arr[j + 1 ] = temp;
}
}
}
}
int main () {
int nums[5 ] = {5 , 3 , 8 , 1 , 2 };
bubble_sort (nums, 5 );
for (int i = 0 ; i < 5 ; i++) {
cout << nums[i] << " " ;
}
return 0 ;
}
8.3 查找算法(以顺序查找为例) 思想 :从数组第一个元素开始,逐个比较,直到找到目标值或遍历完数组。
int linear_search (int arr[], int len, int target) {
for (int i = 0 ; i < len; i++) {
if (arr[i] == target) {
return i;
}
}
return -1 ;
}
int main () {
int data[6 ] = {2 , 5 , 7 , 9 , 1 , 4 };
int target = 7 ;
int index = linear_search (data, 6 , target);
if (index != -1 ) {
cout << "目标值" << target << "在索引" << index << "处" << endl;
} else {
cout << "未找到目标值" << endl;
}
return 0 ;
}
第九章 编程规范与调试
9.1 编程规范(提高代码可读性)
缩进 :循环、分支、函数体内部缩进(通常 4 个空格或 1 个 Tab)。
注释 :关键代码添加注释(// 单行注释,/* */ 多行注释)。
变量命名 :见名知意(如 student_name、total_score),避免 a、b 等无意义名称。
空格 :运算符两侧加空格(如 a = b + c; 而非 a=b+c;),逗号后加空格(如 func(a, b);)。
大括号位置 :K&R 风格(左大括号不换行,右大括号单独换行)。
int gcd (int a, int b) {
while (b != 0 ) {
int temp = a % b;
a = b;
b = temp;
}
return a;
}
9.2 常见错误类型
编译错误 :代码语法错误(如缺少分号 ;、括号不匹配、未声明的变量),编译器会提示具体位置。
示例:cout << "hello"(缺少 endl 或,但不报错,只是输出不换行)。
运行时错误 :程序运行中崩溃(如数组越界、除以 0),调试器可定位错误位置。
逻辑错误 :代码无语法错误,但结果不正确(如循环条件错误、算法逻辑错误),需通过打印语句或调试排查。
9.3 调试技巧
打印调试 :在关键位置输出变量值(如 cout << "i=" << i << endl;)。
调试器 :使用 Dev-C++ 的'调试'功能(F5 开始调试,F10 单步执行,F11 进入函数)。
断点 :在怀疑有错误的代码行设置断点,程序运行到此处暂停,逐步排查。
第十章 GESP 一级模拟试题(含解析)
10.1 选择题(每题 2 分,共 20 分)
以下哪个是 C++ 的关键字?( )
A. main B. printf C. include D. if
答案:D (if 是关键字,main 是函数名,printf 是 C 语言函数,include 是预处理指令)。
以下关于数组的描述错误的是?( )
A. 数组元素在内存中连续存储
B. 数组名是数组的首地址
C. 数组长度可以动态调整
D. 数组索引从 0 开始
答案:C (GESP 一级数组长度固定)。
int x = 5 ;
cout << x++ << ++x << endl;
A. 56 B. 57 C. 67 D. 66
答案:B (x++ 输出 5,x 变为 6;++x 输出 7,x 变为 7)。
10.2 填空题(每题 2 分,共 20 分)
表达式 3 > 5 && 8 < 4 的结果是______(填 true 或 false)。
答案:false (两个条件都不成立)。
声明一个双精度浮点型变量 pi 并初始化为 3.14159 的语句是______。
答案:double pi = 3.14159; 。
10.3 编程题(每题 30 分,共 60 分) 编写程序,输入 10 个学生的数学成绩,计算平均分并输出最高分和最低分。
参考代码 :
#include <iostream>
using namespace std;
int main () {
int scores[10 ];
int sum = 0 , max_score = -1 , min_score = 101 ;
cout << "请输入 10 个数学成绩(0~100):" << endl;
for (int i = 0 ; i < 10 ; i++) {
cin >> scores[i];
sum += scores[i];
if (scores[i] > max_score) {
max_score = scores[i];
}
if (scores[i] < min_score) {
min_score = scores[i];
}
}
double average = sum / 10.0 ;
cout << "平均分:" << average << endl;
cout << "最高分:" << max_score << endl;
cout << "最低分:" << min_score << endl;
return 0 ;
}
编写程序,输入一个整数 n(1≤n≤100),输出其所有因数(如 n=6,输出 1 2 3 6)。
参考代码 :
#include <iostream>
using namespace std;
int main () {
int n;
cin >> n;
cout << "n 的因数有:" ;
for (int i = 1 ; i <= n; i++) {
if (n % i == 0 ) {
cout << i << " " ;
}
}
cout << endl;
return 0 ;
}
后记 GESP 一级是编程学习的起点,重点在于掌握基础语法、逻辑思维和算法思想 。本文覆盖了所有核心知识点,建议结合示例代码动手练习,多做模拟试题巩固。遇到问题时,善用调试工具和搜索引擎,逐步提升编程能力!
微信扫一扫,关注极客日志 微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
相关免费在线工具 加密/解密文本 使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
Markdown 转 HTML 将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
HTML 转 Markdown 将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
JSON 压缩 通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online