logo资料库

蓝桥杯青少组C++赛前集训包.pdf

第1页 / 共56页
第2页 / 共56页
第3页 / 共56页
第4页 / 共56页
第5页 / 共56页
第6页 / 共56页
第7页 / 共56页
第8页 / 共56页
资料共56页,剩余部分请下载后查看
第01课 基本数据类型及运算符
1.1、基本数据类型及类型转换
1.2、变量与常量
1.3、字符与字符串
1.4、运算符
第02课 基本程序结构
2.1、顺序结构程序设计
2.2、分支结构程序设计
2.3、循环结构程序设计
第03课 数组
3.1、一维数组及二维数组
3.2、数组的输入和输出
3.3、数组元素的遍历
3.4、数组元素排序
3.5、字符数组
第04课 函数
4.1、函数的定义和使用
4.2、函数的递归调用
4.3、变量的作用域:局部变量和全局变量
第05课 简单算法
5.1、进制转换
5.2、模拟算法
5.3、枚举算法
第06课 基本数据结构
6.1、结构体
6.2、栈
6.3、队列
6.4、树
6.5、图
第07课 指针
7.1、概念
7.2、引用与运算
7.3、指针与数组。
第08课 基本算法
8.1、高精度算法
8.2、递推算法
8.3、分治算法
8.4、贪心算法
8.5、搜索算法(宽度优先搜索、深度优先搜索)
8.6、动态规划算法
蓝桥杯青少年创意编程 C++组 赛前集训教程包 版本-190919 蓝桥杯大赛组 1
目录 第 01 课 基本数据类型及运算符................................................................................................... 4 1.1、基本数据类型及类型转换.............................................................................................. 4 1.2、变量与常量.......................................................................................................................5 1.3、字符与字符串...................................................................................................................6 1.4、运算符...............................................................................................................................6 第 02 课 基本程序结构....................................................................................................................8 2.1、顺序结构程序设计...........................................................................................................8 2.2、分支结构程序设计...........................................................................................................9 2.3、循环结构程序设计........................................................................................................ 12 第 03 课 数组................................................................................................................................. 16 3.1、一维数组及二维数组.................................................................................................... 16 3.2、数组的输入和输出........................................................................................................ 18 3.3、数组元素的遍历............................................................................................................ 20 3.4、数组元素排序................................................................................................................ 20 3.5、字符数组........................................................................................................................ 24 第 04 课 函数................................................................................................................................. 25 4.1、函数的定义和使用........................................................................................................ 25 4.2、函数的递归调用............................................................................................................ 27 2
4.3、变量的作用域:局部变量和全局变量........................................................................27 第 05 课 简单算法......................................................................................................................... 28 5.1、进制转换........................................................................................................................ 28 5.2、模拟算法........................................................................................................................ 29 5.3、枚举算法........................................................................................................................ 31 第 06 课 基本数据结构................................................................................................................. 34 6.1、结构体............................................................................................................................ 34 6.2、栈.................................................................................................................................... 35 6.3、队列................................................................................................................................ 38 6.4、树.................................................................................................................................... 41 6.5、图.................................................................................................................................... 47 第 07 课 指针................................................................................................................................. 48 7.1、概念................................................................................................................................ 48 7.2、引用与运算.................................................................................................................... 49 7.3、指针与数组。................................................................................................................ 50 第 08 课 基本算法......................................................................................................................... 51 8.1、高精度算法.................................................................................................................... 51 8.2、递推算法........................................................................................................................ 52 8.3、分治算法........................................................................................................................ 52 8.4、贪心算法........................................................................................................................ 53 8.5、搜索算法(宽度优先搜索、深度优先搜索)............................................................54 8.6、动态规划算法................................................................................................................ 55 3
第 01 课 基本数据类型及运算符 1.1、基本数据类型及类型转换 1. 基本数据类型 整型:int、longlong int 与 long long 的存储范围不同,一般情况下我们用 int 即可,但是如果题目 中给的数据范围较大,则选择使用 long long。 布尔型:bool 布尔类型只有两个值,false 和 true。通常用来判断条件是否成立。 字符型:char char 类型的变量代表的是单个字符, 例如: char a;//定义一个字符型变量 cin>>a;//从键盘输入一个字符存入变量 a 中。 a=‘*’;//给变量 a 赋一个字符’*’。 注意:字符是用单引号来表示’’。 实型:float、double float 与 double 的精确度不同,如果题目没有特别要求,我们一般使用 double, 如果题目明确告诉你使用单精度浮点数数据类型或者 float,则要使用 float。 2. 数据类型的转换 4
(1)自动类型转换(隐式类型转换) 在不同数据类型的混合运算中,编译器会隐式地进行数据类型转换,称为自动类 型转换。 自动类型转换遵循下面的规则: ①若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。 ②转换按数据长度增加的方向进行,以保证精度不降低。例如 int 类型和 long 类型运算时,先把 int 类型转成 long 类型后再进行运算。 ③在赋值运算中,赋值号两边的数据类型不相同时,将把右边表达式值的类 型转换为左边变量的类型。如果右边表达式值的数据类型长度比左边长时,将丢 失一部分数据。 ④在赋值语句中,赋值号两边数据类型一定是相兼容的类型,如果等号两边 数据类型不兼容,语句在编译时会报错。 (2)强制类型转换(显示类型转换) 自动类型转换不能实现目的时,可以显式进行类型转换,称为强制类型转换。 一般形式:(数据类型)(表达式) 注意:数据类型加小括号这个整体才是强制类型转换的符号,后面的表达式可以 加小括号,也可以不加,如果不加的话则遵循就近原则,谁离得强制类型转换符 号近,系统则强制类型转换谁。 例:int a;a=(int)1.5;a 的值为 1。 1.2、变量与常量 1. 变量 5
变量可以看作是存储数据的小盒子,一个小盒子里面只能存放一个具体的值,而 且这个值可以改变。 例如:inta= 3;a 就是一个变量 2. 常量 常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。 常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和 布尔值。 常量就像是常规的变量,只不过常量的值在定义后不能进行修改。 1.3、字符与字符串 1、字符就是单个字符,字符串就是多个字符的集合。 2、单个空白字符和空白字符串是两个概念,在 C++中字符就是单个字符,字符 串是用\0 结尾的,字符和字符串在操作上也不同,复制等等是不一样的。 字符串简介: 字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s="a1a2···an"(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中, 字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字 串(一串二进制数字)。 1.4、运算符 1. 赋值运算符 在 C++里面,一个等号“=”代表的是赋值,赋值运算符是将赋值运算符右侧 6
的值赋值给左侧的变量。 2. 算术运算符 C++中有 5 个基本的算术运算符:+(加)-(减)、*(乘)、/(除)、%(取余)。 注意: ① 两个整数相除,得到的结果值保留整数位 ② 取余运算符两边的数字必须都得是整数 3. 逻辑运算符 C++中有三个基本的逻辑运算符:&&(与)、||(或)、!(非) 逻辑非:经过逻辑非运算,其结果与原来相反。 逻辑与:若参加运算的某个条件不成立,其结果就不成立,只有当参加运算的所 有条件都成立,其结果才成立。 逻辑或:若参加运算的某个条件成立,其结果就成立,只有当参加运算的所有条 件都不成立,其结果才不成立。 4. 关系运算符 C++中有六个基本的关系运算符:>(大于)、>=(大于等于)、<(小于)、<= (小于等于)、 ==(等于)、 !=(不等于) 符号 > >= < <= 举例 10>5 10>=10 10<5 10<=10 意义 大于 大于等于 小于 小于等于 7
== != 等于 不等于 10==5 10!=5 第 02 课 基本程序结构 2.1、顺序结构程序设计 1. 输入语句: cin 是 C++的输入语句,与 cout 语句一样,为了叙述方便,常常把由 cin 和运 算符”>>”实现输入的语句称为输入语句或 cin 语句。 cin 语句的一般格式为: cin>>变量 1>>变量 2>>……>>变量 n; 与 cout 类似,一个 cin 语句可以分写成若干行,如 cin>>a>>b>>c>>d; 也可以写成 cin>>a; cin>>b; cin>>c; cin>>d; 以上书写变量值均可以以从键盘输入:1 2 3 4 也可以分多行输入数据: 1 2 3 8
分享到:
收藏