程序设计第二次作业<2>

我所找到的C++相关课程列表:

(2016/1/27)(部分)

  • 1. 慕课网 http://www.imooc.com/learn/342
    《c++远征之起航篇》 授课人:james_yuan.

内容:
<1>C++简介
<2>C++新的数据类型bool型
<3>C++初始化
<4>C++随用随定义
<5>C++之I/O方式
<6>C++之namespace

代码练习1:

题目:
1.输入一个整数,将该整数以8进制,10进制,16进制输出。
2.输入一个布尔值(0或1),以布尔方式输出。

#include<stdlib.h>
#include<iostream>
using namespace std;
int main()
{
    int x;
    cin>>x;
    cout<<oct<<x<<endl;
    cout<<dec<<x<<endl;
    cout<<hex<<x<<endl;/*oct:8进制,dec:10进制,hex:16进制*/ 
    bool y;
    cin>>y;
    cout<<boolalpha<<y<<endl;/*以bool形式输出*/ 
    return 0;
}

代码练习2:

题目:
使用一个函数,找出一个整形数组中的最大值或最小值

#include<stdlib.h>
#include<iostream>
using namespace std;
int getMax(int *arr,int length,bool isMax)
{
    int i,j,k=arr[0];
    for(i=1;i<=length;i++)
    {
        if(isMax)
        {
            if(arr[i]>k)k=arr[i];
        }
        else
        {
            if(arr[i]<k)k=arr[i];
        }
    }
    return k;
}
/*使用一个函数找出数列的最大值或最小值,知识点:bool,
namespace,输入输出。*/ 
int main()
{
    int arr[4]={3,5,7,2};
    int t;
    bool isMax;
    
    cin>>isMax;
    
    t=getMax(arr,3,isMax);
    
    cout<<t<<endl;
    
    return 0;
}
  • 2. 慕课网 http://www.imooc.com/learn/381
    《C++远征之离港篇》 授课人:james_yuan.

内容:
<1>C++之引用
<2>C++之const关键字
<3>C++之函数新特性
<4>C++之内存管理

代码练习部分举例(引用):

题目:
探究引用

#include<stdlib.h>
#include<iostream>
using namespace std;
int main()
{
    int a=10;
    int &b=a;/*b是a的引用*/
    
    b=20;/*对b进行操作*/
    cout<<a<<endl;
     
    a=30;/*对a进行操作*/
    cout<<b<<endl; 
    
    return 0;
} 
/*结论:改变引用的值相当于改变原变量的值,改变原变量的值相当于改变引用的值*/
#include<stdlib.h>
#include<iostream>
using namespace std;

typedef struct
{
    int x;
    int y;
}Coord;

int main()
{
    Coord c;
    Coord &c1=c;
    c1.x=10;
    c1.y=20;
    cout<<c.x<<","<<c.y<<endl;/*有关结构体变量的引用*/
    return 0;
} 
#include<stdlib.h>
#include<iostream>
using namespace std;

int main()
{
    int a=10;
    int *p=&a;/*指针p指向a*/
    int *&q=p;/*q是指针p的引用(q还是指针)*/
    
    *q=5;/*对指针q所指向的对象进行赋值操作*/
    cout<<a<<endl;/*输出a的值*/ 
    return 0;
} 
#include<stdlib.h>
#include<iostream>
using namespace std;

void fun(int &a,int &b)/*这里我曾忘记加上int类型*/
{
    int c;
    c=a;
    a=b;
    b=c;/*交换两个变量的值*/ 
} 
int main()
{
    int x=10,y=20;
    cout<<x<<","<<y<<endl;/*输出未变化的x,y的值*/
    fun(x,y);
    cout<<x<<","<<y<<endl;/*输出变化后的x,y的值*/
    return 0;
} 

上述编程中遇到的一些问题:

  • typedef与define
    http://zhidao.baidu.com/link?url=dKUdHGa1a7rQRAOHo25AFTlLGaE5F0T7dE5eSuGLo5eO4zrQzi67aIcTFFCOoxV-XqnXCOAonStrTDHLo-_TOa
  • void fun(int x,int y)忘记添加类型。
  • q是指针p的引用(q还是指针)。

选择慕课的理由:

在学习C语言的时候,也是因为同学和学长的推荐吧,就经常来慕课网学习相关的知识,在学习过程中,我感觉到慕课网是一个非常不错的IT学习网站,里面基于不同水平的人设置了不同的课程。从我自身的角度来说,我认为慕课网的入门课程适合我们初学者学习,拿此次的C++学习来说,其开设的课程分成起航,离港,继承,多态,模板,封装篇。用不同的篇章,循序渐进的顺序来介绍C++的内容,使我感觉容易上手。

并且慕课的讲师均有一定的授课水平和能力。C、C++语言是需要长期的实际操作来上手和掌握的,慕课网设计的课程中包括实际操作和视频讲解,很好的把实际操作和理论结合在授课内容里面,这也是我选择自学慕课相关课程的原因。

程序设计第二次作业<2>_第1张图片

程序设计第二次作业<2>_第2张图片

在每一节实际操作课的下面都有如下的几个选项:

程序设计第二次作业<2>_第3张图片

在遇到困难抑或是想要对自己的代码进行相关的改良和优化时,参考慕课其他同学的解题思路和代码能开拓你解决这道题目的视野,有利于你发现问题和解决问题。

综上所述,我来到慕课是因为同学的推荐,但是我选择慕课,是因为其实际操作和理论知识相结合的授课方式使我受益匪浅。

寒假自学计划:

在之前一次偶然的机会,有幸阅读到了CSDN博主xu佳佳博客中的一篇文章:
《对高效管理时间的个人观点分享》
链接:http://blog.csdn.net/double2hao/article/details/46984207
给当时因时间分配不理想而苦恼的我指了一条明路。如同其文章一楼的评论:

"我也一直在寻找如何有效管理时间,提高效率。包括,查阅和学习别人的经验和方法、使用工具和时间管理软件。对于你的方法,很认同,非常好。没有介绍多少花哨的方法,但是很务实,提到了主要的关键点。"

我在上个学期的后半阶段尝试了这种方法,发现它很适合现阶段的自己,于是我基于此观点设计了我自己的自学计划。

寒假计划

  • 自学完《算法竞赛入门经典》的C语言部分。我要求自己能够从阅读中收获一些使自己受益的东西,并且和自己的实际操作结合起来。边敲边学习。
  • 在年前自学完慕课的C++远征系列前两章。关于选择慕课的理由在上文已经略有阐述,慕课的授课方式和我想自学C++语言的方法相契合。
  • 预习《大学英语四》,并且为下半年的四级考试做准备。
  • 高等数学预习下一章,关于《张宇高等数学十八讲》不强求自己做多少,但是有做要求自己能够有所总结有所收获。
  • 别忘了对自己的学习进行总结。
  • 重温C语言中的指针内容以及查缺补漏。
  • 注: 以上的寒假计划是弹性的计划,我没有给自己固定具体的时间,比如今天上午10:00-11:00预习高数这样子的规划,而是这些计划贯穿于我整个寒假生活,不要求自己要以多快的速度完成,但是不马虎,要以认真的态度完成这些自我目标。不同的一天我有不同的计划和生活,希望自己在这个寒假有所收获,有所长进。

程序设计第二次作业<2>_第4张图片

                                                                                      2016/1/28

你可能感兴趣的:(程序设计第二次作业<2>)