作业(一)


你有什么技能比大多人(超过70%以上)更好?针对这个技能的获取你有什么成功的经验?

关于技能,感觉很难衡量我的某个技能是否超过了70%的人。所以,我就提一个学习时间最长的,算是为数不多坚持下来的技能,也就是绘画。前后画了十多年,基本各个画种都学过一些。其中水墨山水学的时间最长,不过最喜欢的还是素描。手受伤之后就很少再画了。现在偶尔会临摹一些喜欢的漫画图,以后可能会学一下板绘,方便建模。

获取的经验,我觉得就是坚持。学习没有捷径,比如素描,入门学习的方法其实就是找本入门书,然后照着画上一二百张,这样就差不多能找着门路了(之前我这样跟同学说的时候他还笑了。。)。


你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,c语言的学习有什么经验和教训?

我以前学过Pascal,学习c++的时候基本就是与Pascal进行对照翻译。经验和教训也同样是坚持,当然细心和严谨也同样重要。同时要注意代码的可读性,c的语言风格比较随性,更要懂得如何让程序更美观。


目前为止估算自己写过多少行C代码?理解的情况如何?

不知道。。现在还没开始复习难一点的算法题,暂时都理解得挺清楚的。


学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?

数组指针:指向数组的指针;
指针数组:包含元素为指针的数组;
函数指针:指向函数的指针;
指针函数:返回类型是指针的函数。


学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?

文件是计算机存储数据的一个基本单位,也就是数据的集合,而。。就是一串长长像水流一样的东西,例如字节流就是一串字节序列,不过我自己还只写过网络流所以不是很懂。。。

文本文件二进制文件,在我理解并无本质的差别,它们的区别在于你看待这些数据的方式,也就是你打开这个文件的程序对其内容的解释。

操作上应该就是有没有b的区别吧 可能。。


学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?

面向过程程序设计就是注重“怎么做”的编程方式。它解决问题的方法是分析出解决问题所需的步骤,再按步骤一一编程实现对问题的求解。


在C语言里面,什么是模块?你写过多个源文件的程序吗?

模块是程序设计中完成某一功能的程序或子程序,函数就可以算是模块。

学Unity3D时有对单一对象写过多个脚本,应该算是多个源文件吧。。


学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?

高内聚是指单个模块的功能应当有高度专一性。低耦合是指各个模块之间的依赖程度低,联系少。

关于这个原则的应用,首先应当具体区分各个模块所实现的功能,使每个模块都能分配到专一独立的任务,实现高内聚;然后在实现的过程中尽量减少各模块间的数据交流,使其相互依赖程度尽可能降低,比如减少相互调用、减少全局变量和public的使用等。


学过了C语言,你如何把数组A的内容复制到数组B中?

以下程序都以int数组为例

int main()
{
    int i,n,a[10],b[10];
    cin>>n;
    for (i=0;i<n;i++)
    {
        cin>>a[i];
        b[i]=a[i];
    }
    return 0;
}

GitHub copy


如何查找整数数组A中有没有数字5?

int main()
{
    int i,t,n,a[10];
    cin>>n;
    t=0;
    for (i=0;i<n;i++)
    if (a[i]==5) t=1;
    if (t==1) cout<<"Yes";
    else cout<<"No";
    return 0;
}

GitHub find


如何对整数数组A进行排序(从小到大,从大到小)?

int main()
{
    int i,j,n,t,a[10];
    cin>>n;
    for (i=0;i<n;i++) cin>>a[i];
    for (i=0;i<n-1;i++)
    for (j=i+1;j<n;j++)
    if (a[i]>a[j])      //从大到小为a[i]<a[j]
    {
        t=a[i];
        a[i]=a[j];
        a[j]=t;
    }
    return 0;
}

GitHub sort


写一个程序,统计自己C语言共写了多少行代码。

这个程序实在有点粗糙,之后会尝试编写一个更为完整的程序。

程序已补充 统计C语言程序行数

int mian()
{
    int t;
    char a;
    a=getchar();
    t=0;
    while (a!=EOF)
    {
        if (a=='
') t++;
        a=getchar();
    }
    cout<<t;
    return 0;
}

GitHub count


你知道什么是断点吗?给出自己调试程序的例子。

断点是指程序中断执行的地方,可用于单步调试。

首先在编辑面行数处点击进行断点

然后点击调试,程序运行到断点处会自动停止运行

接着就可以进行单步调试(快捷键F7)


对比C语言的学习,你对《面向对象程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?

暂时没什么具体目标;

多做题。在实践中才能提出有价值的问题,才能发现学习上的漏洞。


毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?

我的写作能力,在文学写作上有待提高。在工作和学术方面,应该足以较为完整地表达出我的想法。阅读是长久以来的爱好,我会继续下去,但是写文章就算了吧。。


GitHub账号链接 EventideX

原文地址:https://www.cnblogs.com/S031602240/p/6284565.html