C++学习总结
六周网课已经过去,这学期c++学习的强度和难度明显比上学期要大,加之是在家学习,没有学校里的氛围,自制力在一定程度上决定了你能否学好这门课。
费老师给我的感觉就是他真的是一个很有实力的老师,知识点讲的很细,有的地方也会讲的很深,这对我们来说真的难得,但正因为如此,难度也就会随之增加,这就要求我们课下要多下功夫,所以就像我之前所说的,自制力的重要性。还有就是费老师布置作业的方式也挺不错的,不懂的地方可以在一周的时间内自行查找资料,真正意义上提高自己编程的能力。
下面在说一下我自己,讲真,这六周的C++的学习,我确实感觉挺难的,很多东西你不实际去操作,根本理解不了,而且和之前在学校相比,效率确实下降,这东西我也不能说以后就能很快提高,还是一步一步来吧。
下面就对这六周具体学习内容进行一下总结:
一.递归算法:
程序直接或间接调用自身的编程技巧称为递归算法;
递归的关键在于找出递归定义和递归终止条件。
例如:求1-100的和
递归:fn(n)=n+fn(n-1)
终止条件:fn(1)=1
递归代码:
function fn(n){
if(n<=1)return 1;
else
return n+fn(n-1);
}
二.标椎库类型string(这个比较简单,写一些重要的)
1.getline()函数;
string line;
while(getline(cin,line))
cout<<line<<endl;
从指定输入流中读取内容,遇到换行符为止;返回参数输入流对象。
2.size()函数返回string对象的长度,即对象中字符的个数。
三.结构体
结构体类型的声明格式:
struct类型名 {
数据类型1 成员名1;
数据类型2 成员名2;
…
};
定义结构体变量格式如下:
struct 结构体类型名 变量名列表;
也可以把结构体类型声明和变量定义合在一起:
struct类型名 {
数据类型1 成员名1;
数据类型2 成员名2;
…
}变量名;
四.运算符重载
类型名 operate 运算符(const 类型名 变量)const{
…
}
五.指针
1.
#include <iostream>
using namespace std;
int main( )
{
int ival=1024;
int *pi=&ival;
cout << " sizeof(pi):" << sizeof(pi) << endl; //指针在内存中所占大小
cout << " sizeof(ival):" << sizeof(ival