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

来源:互联网 发布:中信信托知乎 编辑:程序博客网 时间:2024/05/22 13:04

我所找到的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++语言是需要长期的实际操作来上手和掌握的,慕课网设计的课程中包括实际操作和视频讲解,很好的把实际操作和理论结合在授课内容里面,这也是我选择自学慕课相关课程的原因。

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

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

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

寒假自学计划:

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

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

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

寒假计划

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

                                                                                      2016/1/28
0 0