寒假随笔

在人生道路上,你有没有专长的高超技能获取成功经验?

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

仔细想想,我貌似没有什么值得骄傲的特长,做的比较好的可能就只有学习了。父母的唯一希望就是我能好好读书,将来挣大钱,所以我的大部分精力都投入学习了。我的学习方法很简单:

  • 上课认真听讲
  • 课后认真做作业
  • 自己找适当的习题集做拓展深度

这样讲或许很泛泛而谈,但是这个学习方法包含的课不是仅仅字面意思上的那么简单。

上课认真听讲。老师课上讲的不仅有知识点,还有宝贵的方法,这些方法可是老师多年教学的经验的总结,记住方法比记住知识点更重要,知识点可以查到,方法老师就不一定讲第二遍了。其实我上课很少做笔记,记在脑子里比记在纸上更靠谱,我记的都是我不懂的地方,记下来自己琢磨琢磨,一堂课上一直在记笔记绝对不是一个好习惯。

课后认真做作业。自己独立完成作业,不要靠抄袭,靠所谓的借鉴。作业的巩固知识点,方法的良好工具,熟话说的好,熟能生巧,连熟悉知识点和方法都谈不上的话,说什么读好书。而且并不是遇到什么问题就去问别人,有时候只是你一时钻了牛角尖,过段时间再来看,或许你就能解答。遇到问题给自己定一个时间,不要太长,也不要太短,充分发挥自己的脑袋去思考。过了所定期限再去问也不迟。如果在期限内想出来,会令人更加印象深刻,毕竟自己解出来的难题,会令人有种自豪感。

自己找适当的习题集做,拓展深度。我并不推荐题海战术,这有时只是浪费时间。可以去咨询老师的意见再去找习题集,并不是跟风随大流,看别人买什么自己买什么,别人的并不一定适合自己。

经验嘛,我觉得这个方法最需要的就是坚持。坚持,说简单简单,说难也难,这主要靠个人意志力,我们每天都要上课听讲,写作业,日复一日的重复,难免会觉得枯燥,想寻找新的乐子。乐子有了,但学习会掉下来,这就得不偿失了。所以坚持是根本。

有关C语言的调查

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

我觉得我的方法在学计算机语言上也适用,计算机语言也需要上课认真听讲,下课认真做题。上课老师会将知识点,例题,方法,我觉得这些对学习计算机语言都很受用,下课可以将教材或者老师的PPT看一遍然后去做编程题,有时候一时间想不出来,我也不会马上问同学老师,自己多想想可能代码就想出来了。至于课外习题,福大也有自己的OJ,可以上去找题目做,提高自己的编程水平。

我觉得C语的学习更需要刷题,知识点简单,无非就是那么几个关键代码词,但是思想很重要,有时你的一大段代码所执行的程序,人家一小段就解决了,这就是思想上的差别,人家的思想更加简单明了。C语言的编程题给我的最大的认识是看问题不要惯性思维只从一个角度去看,一道复杂的过程题,可能只是一道简单的数学题,所以我很认同我们高数老师的话:学高数学的是思想,是考虑问题的角度,这对学计算机的尤为重要。

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

C代码这个学习下来算成品的话应该有1500行左右,如果算上写了删的可能有2500行。

理解情况嘛,我个人觉得我能够掌握绝大部分知识点,所欠缺的是思想,看待问题的思想。我甚至觉得思想比你是否掌握C更加重要。你精通C,但是不知道思想,思路,题也做不出来。但是要是你知道思想思路,即使你没有精通C,你也能够做题。

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

数组指针:指向数组的指针

指针数组:数组元素为指针

函数指针:指向函数的指针

指针函数:返回类型为指针的函数

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

文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。

流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。

区别二进制文件和文本文件:

1.定义:文本文件是基于字符编码的文件,为定长编码;而二进制文件是基于值编码的文件,为变长编码

2.存取:一个文件可以以文本模式或二进制模式打开,这两种的区别是:在文本模式中回车被当成一个字符'/n',而二进制模式认为它是两个字符0x0D,0x0A;如果在文件中读到0x1B,文本模式会认为这是文件结束符,也就是二进制模型不会对文件进行处理,而文本方式会按一定的方式对数据作相应的转换。

对于编程操作,暂时不会,不过我会去查找资料把它弄懂。

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

面对对象有听说过,但是还没接触过。

面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。

面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整体解决问题的步骤中的行为。面向对象是以功能来划分问题,而不是步骤。

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

简单来说,函数就是一个模块。模块编程指的就是用函数实现各个功能,然后在主函数中调用各个功能模块(函数),这样在维护或升级程序时就可以只关注某个模块。

没写过多个源文件的程序。

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

内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系;耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

要做到高内聚低耦合,设计模块时需要做到:
1 各个模块之间的功能必须明确;
2 各个功能模块间实现的功能不可以有交叉;
3 不允许出现模块间的相互调用;
4 如果必须出现模块间调用,那么只允许单向调用,即A可以调用B,B不可以调用A。

A数组复制到B数组(整形)

#include<stdio.h>
#define N ()//括号里里填所需数组的大小
int main()
{
    int a[N],b[N],i;
    for(i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
        b[i]=a[i];
    }
    for(i=0;i<N;i++)
        printf("%d",b[i]);
    return 0;
}

字符型

#include<stdio.h>
#define N 10
#include<string.h>
int main()
{
    char a[N],b[N];
    gets(a);
    strcpy(b,a);
    puts(b);
    return 0;
}

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

#include<stdio.h>
#define N 10
int main()
{
    int a[N],i,s=0;
    for(i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==5)
        {
            s=1;
            break;
        }
    }
    if(s==1)printf("有5");
    else printf("没有5");
    return 0;
}

从大到小

#include<stdio.h>
#define N 10
int main()
{
    int a[N],i,j,b;
    for(i=0;i<N;i++)
        scanf("%d",&a[i]);
    for(i=0;i<N;i++)
        for(j=i+1;j<N;j++)
            if(a[i]<a[j])
                b=a[i],a[i]=a[j],a[j]=b;
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    return 0;
}

从小到大

#include<stdio.h>
#define N 10
int main()
{
    int a[N],i,j,b;
    for(i=0;i<N;i++)
        scanf("%d",&a[i]);
    for(i=0;i<N;i++)
        for(j=i+1;j<N;j++)
            if(a[i]>a[j])
                b=a[i],a[i]=a[j],a[j]=b;
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    return 0;
}

你知道什么是断点吗?给出自己调试程序的例子。(可以截图贴图说明)

断点它是任何语言编程时调试的基本手段之一。断点是人为设置的,意思就是让程序执行到此“停住”,不再往下执行,然后主动权就交给调试者了,此时你可以做调试软件支持的任何事情(那要看调试软件的能够提供的功能了,例如查看、修改、单步跟踪、继续执行、设置下一个断点以及断点次数和条件断点设置等等)。

在编程里我还没有用过断点。。。。

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

目标就是把这门课读好,用好。至于如何训练,我觉得足够的代码量要保证,可以去刷OJ等等。培养计算机思维嘛,我觉得首先学好高数;其次多去问问学长学姐的解题思路,就算你本身会做,多去问问,或许别人有更加新颖的想法也不一定。学无止境,我明白自己现在所学的只是冰山一角,还有许许多多的问题是我现在所解决不了的,但是我会碰到,碰到就不要放过,自己找资料,自己学习,大学以自学为主,再问题中学习,会令人更加印象深刻,提高自我水平。

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

我觉得我的写作能力一般般,说实话,我从有写作这个学习项目开始到现在写作就没有高分过。提高写作能力,我觉得要从模仿开始,多写写,多练练,就像练功可以打通任督二脉一样,写作能力的提高是要靠不断的联系实现的。

转载于:https://www.cnblogs.com/smart-031602102/p/6275317.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值