总结

  开学四个星期了,关于c++学习了一万条知识,学习速度很快,理解难度也很高。

 

  先是学习了指针和引用,指针储存着变量的地址,称为指向该变量,通过指针可以间接操控该变量。定义模式:类型 *指针变量。还有取地址运算符&,一般意义上定义指针要int *pi=&a;指针不能保存非地址值,也不能被定义为不同类型的地址值。学完指针,又学习了引用,引用也可以称为别名,可以间接的操控对象,主要作为函数的参数。
  关于结构体,定义模式:
struct 结构体变量名{
成员声明;
}
关于结构体就是定义了一个新的变量类型,以前只有int,double等类型,定义了结构体之后就多了一个可以定义的变量类型。又学习了string,string是可变长度的字符序列,可以任意初始化,跟字符串差不多。标准库类型vector是长度可变的向量,表示对象的集合,其中所有对象的类型都相同。学完这些,做过一个成绩单的作业,我写了一个程序
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
int main()
{
    struct R {
        string name;
        int id;
        double C;
        double C1;
        double PE;
        double PE1;
        double Engish;
        double Engish1;
        double Math;
        double Math1;
        double n;
        double a;
    };
    for(int s1=1;s1<=8;s1++)
    {
        R s1;
        cout<<"姓名";
        cin>>s1.name;
        cout<<"学号";
        cin>>s1.id;
        cout<<"C语言";
        cin>>s1.C;
        cout<<"绩点";
        cin>>s1.C1;
        cout<<"体育";
        cin>>s1.PE;
        cout<<"绩点";
        cin>>s1.PE1;
        cout<<"英语";
        cin>>s1.Engish;
        cout<<"绩点";
        cin>>s1.Engish1;
        cout <<"数学";
        cin>>s1.Math;
        cout<<"绩点";
        cin>>s1.Math1;
        s1.n=s1.PE+s1.Engish+s1.Math+s1.C;
        s1.a=(s1.C1+s1.Engish1+s1.Math1+s1.PE1)/10;
        cout<<"姓名"<<s1.name<<" "<<"总分"<<s1.n<<" "<<"平均绩点"<<s1.a<<endl;
    }
 
    return 0;
}
函数定义的语法形式:
数据类型 函数名(形式参数表)
{
             函数体
}
定义一个函数,返回两个数中的较大数。
int max(int x,int y)
{
      if(x>y) return x;
      else return y;
}
函数的声明
调用函数之前先要声明函数原型,按如下形式:
类型说明符 被调函数名(形式参数表);
函数的调用
调用形式:
函数名(实际参数表)
 函数调用方式
传值调用
传值调用就是指当一个函数被调用时,根据实参和形参的对应关系将实参的值,即实参的值单向传递给形参。函数本身不对实参进行任何操作,
即使形参的值在函数中改变,实参的值也不会受到影响。
引用的概念:
类型名 & 引用名 = 某变量名; 
某个变量的引用,和这个变量是一回事,相当于该变量的一个别名
int n = 4;
int & r = n;
r = 4; 
cout << r; //输出 4;
cout << n; //输出 4;
n = 5;
cout << r; //输出5 
递归的基本思想
   问题分解:
   把一个不能或不好解决的大问题转化为一个或几个小问题,再把这些小问题进一步分解成更小的小问题,
   最小问题可以直接解决。  
递归的关键在于找出递归定义和递归终止条件。
递归定义:使问题向边界条件转化的规则。递归定义必须能使问题越来越简单。
递归终止条件:也就是所描述问题的最简单情况,它本身不再使用递归的定义。
递归算法解题通常有三个步骤:
分析问题、寻找递归:找出大规模问题与小规模问题的关系,这样通过递归使问题的规模逐渐变小。
设置边界、控制递归:找出停止条件,即算法可解的最小规模问题。
设计函数、确定参数:设计函数体中的操作及相关参数。 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值