PAT笔记1

  1. switch case语句
  2. 精确到小数点后一位输出
    //用setprecision(n)设置精度,其中n表示精确到小数点后n位 ,用到格式控制符 要引入库函数#include<iomanip>
    详情
    使用setprecision(n)可控制输出流显示浮点数的数字个数,如果setprecision(n)setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。
    要么用printf设置格式
  3. 输入函数

C++中几个输入函数的用法和区别(cin、cin.get()、cin.getline()、getline()、gets()、getchar()))

get()和getchar():
char ch;
ch=cin.get();	//or:cin.get(ch);
ch=getchar();

get是c++的函数,getchar是c的函数
4. 求数组和字符串长度的方法不一样
sizeof返回定义数组时,编译器为其分配的数组空间大小,不关心里面存了多少数据。strlen只关心存储的数据内容,不关心空间的大小和类型。
5. 用库函数判断是否为字母(是大写还是小写),判断是否为数字
判断字符类型所需要的头文件: #include <cctype>
6. 数字和字母的ASCII码
a-z:97-122,A-Z:65-90,0-9:48-57
7. C++的while和do-while循环
do-while的格式:
do{
循环体;
}while(循环控制语句);
8. 结构体变量的定义该在main函数外面还是里面
可以在main 函数里面定义,也可以在main函数之外定义。在main函数外定义属于全局变量,在main函数里面定义属于局部变量,只能在main函数中使用。
(亲验:无特殊情况下,放在main函数外面定义较方便)
9. 学会用printf输出各种带格式的数
10. 首先回顾一下各种进制数的表示方法
进制转换,输出其他进制的数字,C++要调用库函数

#include <bitset>

比较字符/字符串是否相等:1025题的新知识
字符:可直接用‘=’比较
字符串:要用字符串函数,strcmp(c1,c2)比较,等于0就是相等。
12. vector容器:
vector 是个容器,它定义了很多的方法,它帮你管理动态内存。
如果可以用vector就尽量用,vector是所有容器里面效率最高的,它的内部实现就是数组。
vector帮你做了动态内存分配,你不用费心处理指针的问题,避免了new跟delete操作。
总结下,就是尽量用容器vector,不要自己费心用new来管理指针。
vector的初始化要掌握。
13.
字符串函数
13. 各数据类型能表示的数据范围,表示几位,定义变量的时候会用
14. printf输出技巧
(1) %nd输出的整型宽度至少为n位,右对齐,%5d即宽度至少为5位,位数大于5则输出实际位数。
(2) %0nd用得较多,表示输出的整型宽度至少为n位,不足n位用0填充。
15. C语言结构体之间能否可以互相赋值?
可以的,但需要保证是具有相同结构的结构体变量。
可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量。如student1和student2都是student类型的变量,可以这样赋值:student1= student2;
假设申明了两个成员列表完全一样的两个结构体,编译器会当作两个完全不同的类型,即使他们的成员列表是一样的,令两个结构体的变量间赋值,则是非法的。
16. memset函数
17. 四舍五入
18. 段错误一般都是内存异常访问,比如空指针范围,数组越界等
19. PAT中段错误的原因及解决方法
https://blog.csdn.net/weixin_42452034/article/details/90375058
20. 指向string的指针,和指向char数组的指针。题1029
22. char和string的长度
无论char数组,还是string字符串,都不是以空格,不是以换行(\n)作为结束符,而是以 \0 作为结束符
比如char a[ ]="xyz"和char b[ ]={‘x’,‘y’,‘z’}的长度分别是4和3
字符串的结尾部分有一个\0,也算一个
23. C++:cin、cin.getline()、getline()的用法
https://blog.csdn.net/qq_40725780/article/details/81032700
24. 能用索引就不用数组,容易超时
25. C++在未知输入类型情况下如何读入
26. C++字符/字符串和数字的转换
https://blog.csdn.net/a_Treasure/article/details/82109195
atoi():将字符串转换为整型值。
27. 字符串截取
https://blog.csdn.net/xiaohu12685/article/details/80931610
str = str.substr(2,4);//截取从第3个开始往后数4位之间的字符 cdef
28. 1045题的笔记(哇这道题真的太挫伤我自信了,算法一窍不通该咋办哦)
https://blog.csdn.net/xs18952904/article/details/75195412
memset():
在头文件<cstring>
将已开辟的内存空间arr的前cnt个字节的值设为值val。

memset(arr, val, cnt);

理论上,因为memset()是按照字节去赋值的,所以int数组只能被赋值为0(在二进制层面全为0)或者是-1(在二进制层面全为1)。
fill():
在头文件<algorithm>里。
按照数组的始末位置以一个数组元素为单位赋值,将区间内的每一个元 素都赋值为val。

fill(vector.begin(), vector.end(), val);
  1. 数学函数的运用,比如求:平方、平方根
  2. 如何让函数返回两个值,比如m,n
    方法1:设置全局变量。
    方法2:用结构体,且结构体要用函数定义
    https://blog.csdn.net/qq_34489443/article/details/81274951
  3. C++ 中头文件<bits/stdc++.h>的优缺点
    它是部分C++中支持的一个几乎万能的头文件,包含所有的可用到的C++库函数,如<istream>/<ostream>/<stack>/<queue>
    https://www.cnblogs.com/qinduanyinghua/p/11338028.html
### 回答1: Pat晴神宝典是一本关于算法的笔记。它由知名的算法专家Pat编写,是一本系统全面的算法学习资料。这本宝典包含了许多不同类型的算法,涉及了各个领域的问题解决方法。 Pat晴神宝典首先介绍了算法的基础知识,如时间复杂度、空间复杂度、数据结构等。然后它深入探讨了各种经典的算法,如排序算法、搜索算法、图算法等。每个算法都有详细的说明和代码实现,以及算法的优缺点和应用场景。宝典还提供了大量的练习题和习题解答,帮助读者巩固所学的算法知识。 Pat晴神宝典不仅仅是一个算法的技术手册,它还讲述了算法的设计思想和解题方法。宝典中有许多实际问题的案例分析,解释了如何使用不同的算法解决实际问题。它还提供了一些常见算法的优化方法和改进思路,帮助读者更好地掌握算法的运用。 总结来说,Pat晴神宝典是一本涵盖了广泛的算法知识的笔记。无论是初学者还是有经验的程序员,都可以从中获得宝贵的算法学习和应用经验。它不仅帮助读者提高解决问题的能力,还培养了读者的算法思维和创造力。无论在学术研究还是工程开发中,这本宝典都是一本不可或缺的参考书。 ### 回答2: PAT晴神宝典是一本算法学习笔记PAT(Programming Ability Test)是中国程序设计竞赛的一种形式,它旨在提高学生的程序设计能力和算法思维能力。晴神指的是晴天老师,他是一位在算法竞赛界非常有影响力的老师,他编写了《算法笔记》一书。 这本《算法笔记》包含了程序设计竞赛中常用的数据结构和算法的讲解和实践。它主要分为四个部分:基础部分、数据结构、算法以及习题。基础部分主要介绍了程序设计的基本开发环境以及常用的算法思想和技巧,如递归、分治和动态规划等。数据结构部分涵盖了常见的数据结构,如树、图和堆等,以及它们的实现和应用。算法部分介绍了各种算法的设计思想和实现方法,如贪心算法、搜索算法和图论算法等。习题部分提供了大量的练习题,并给出了详细的解题思路和代码。 《算法笔记》以简洁清晰的语言、丰富的例子和详细的讲解,帮助读者掌握算法的基本原理和应用技巧。它不仅适用于想要参加编程竞赛的学生和程序员,也适用于对算法感兴趣的人士。通过阅读该书,读者能够系统地学习和应用算法,提高编程能力和算法思维能力。 总之,PAT晴神宝典是一本覆盖广泛且深入浅出的算法学习笔记,对于学习和应用算法的人士来说,它是一本十分有价值的资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值