zoukankan      html  css  js  c++  java
  • 寒假随笔(开启程序设计大佬模式)

    2016大学寒假随笔

    前言

    对于老师所说的写一篇随笔,其实我是不太清楚要怎么写的,但是根据字面上的理解,既然是随笔,那我就根据所要求的内容随意发挥了。

    在人生的道路上,我的专长的高超技能获取的经验(其实我自己是觉得我没有什么高超技能的)

    其实我自己认为我最大的特点就是会比较多的东西。但同时也很少是非常出色的。想来想去还是说乒乓球吧,因为这个或许是比较好说,也比较好讲道理的。 总的来说我学乒乓球这项运动的过程概括为下面这几点:

    • 对这项运动的热爱;
    • 对这项运动的原理以及规则的大体了解;
    • 对乒乓球的坚持练习以及多和他人交流。

    我从小学就开始接触乒乓球,一直到高中我都非常喜欢玩乒乓球,不论酷暑严寒,刮风下雨,基本上每天下午,我都会去打乒乓球,以至于有时我的老师会禁止我去打乒乓球(当然这只有考试前才有可能)也正是因为这种热爱,所以我才能够一直打乒乓球到现在。

    另外一个十分重要的就是理解它的原理,了解它的规则,我们都知道做事情没有原理和规则,是不可能做好的,在很多比赛有碰到过这种情况,比赛有些选手时对一些规则及注意事项还不清楚,然后被对手这里挑一点毛病,那里挑一点犯规,抛开犯规扣分这点,还有就肯定很难发挥自己的正常水平的。

    最后一个就是每个打得好的人都必须做的事情,狂热的时候的我会一下课就去打球,吃饭时间打球,周末时间打球,不管什么时候,基本上每天我都会坚持打乒乓球,不仅保持手感,球技也提高不少。打乒乓球的时候,经常会和一些不认识的人对战,自然也就会碰到一些很强的对手。就说我在一开始吃转球这事吧,经过几次在和他人打球时的观察,我就知道了怎样才能接到这种球了。而在和他人的切磋中,我的水平也自然刷刷的提高了。

    而乒乓球只是给我带来了这么一点点体会吗?肯定不是的,玩乒乓球给我的体会绝不局限于只是娱乐和运动。如果你也想玩好乒乓球的话,我想也应该要做好我所述的三点的。

    有关C语言学习的调查

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

    说真的我自己现在都还不太清楚我学了些什么,半年C语言的学习,似乎只知道了一些最基础的编程。我在大学前和很多同学一样,没有接触过任何有关编程的知识,说起我的C语言学习,我甚至感觉没有很多可以说的,只是上课认真听老师讲课,甚至还是没有预习的情形下,因此也就会出现老师讲的听不懂的情况。
    而我居然也就是这样迷迷糊糊的就过完了我的C语言学习的这半年。就只是每次有课时去听课,然后把每次的作业认真完成(虽然经常会出现熬夜的情况)而已,当然我的C语言的水平也就比较低了。期中考与期末考的过程与结果都让我感触颇深,两次考试结果都很尴尬,在平常的作业练习时,我经常只是一两天把题目打完之后,然后就隔很久都没有打代码,老师讲的知识甚至还没用到就已经忘得差不多了。这就像打乒乓球时,刚学会了一种技术,然后隔了好久都不打球,后面再打的时候不仅手感没了,这技术也已经又不会了。其次就是平时打代码的习惯的问题了,平时做作业的时候,我经常写一道题目花很长时间,对于一个点不会的想的时间太久自然也就容易导致走神,而在想的时候又不习惯把前面的代码打出来,也就容易导致把一个点想出来了,另一个却又忘了,花的时间就是出奇的多,而养成了一个这样的习惯,考试的时候就是非常痛苦的,因为并没有那么多时间。我想这就正像乒乓球中平时打球经常只是闹着玩的,不在乎规则,不在乎提高技术,在比赛的时候也就肯定不能表现的好的。同时对应乒乓球中的不懂规则就上赛场的情况,在我的两次考试中似乎就都发生了,每场考试之前我都遇到了一个这样的尴尬:我的代码会不会交不上去啊?(具体就是因为我对老师说的根目录下的.c和.cpp文件才能收上去有些担心)于是每次考试开始了,我就都还要测试几遍.c和.cpp文件(因为每次建好了源文件时我的根目录下还有测试的数据的文件),然后似乎时间就过去了不少了。后面发挥的都还没有正常水平好。

    类似打乒乓球来总结这半年的c语言学习,我的方法似乎有很大的问题。对后面的学习,我也总结出一些值得去改进的地方:

    1. 坚持每天都做题打码,不仅能保持感觉,还可以不断提高打码水平;
    2. 彻底问清弄清考试的上交流程以及编译器的使用功能原理;
    3. 多像他人咨询,多和他人沟通思想与方法,
      平时一定要多自学,借阅或购买参考书等方式获得更全面深入的知识。

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

    既然是估计,我就把我的代码题目总数大概估计过了一次,为75道题,大概为2100行代码。而说到理解的情况,对于很多知识只有在用的时候才会知道原来还有这么多不懂的,还有很多学过的内容是只有在用的时候才能回忆起,也存在一些是不太清楚的,比如指针这一方面的内容,函数指针,指针数组等的一些还是不太清楚(虽然已经问过几次学长学姐了)。当然我在后面会继续把这些还不是很清楚的加入到我的复习计划中(下一个问题中也会阐述)。

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

    其实一开始是不是很清楚的,特意再看了一遍书。

    • 数组指针:指针指向数组;
    • 指针数组:数组里面是指针元素;
    • 函数指针:指针指向函数;
    • 指针函数:函数的返回值为指针类型;

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

    当我看到这个问题的时候,其实我是有点懵的,因为我对这个没有丝毫的印象,我似乎还没有接触这个说法啊,然后查了一下,发现还是看不懂,我就决定寒假计划里抓紧查阅并预习一下。

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

    似乎这个也没有接触,查阅了一下额资料,意思大概就是对于实际问题想出一个解决思路,可能整体的程序不能全部写出,但是可以对于每一个小段的过程,一个小点进行分块编写函数的过程。

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

    这个也是不在我的理解范围的问题,查阅之后发现似乎就是我最薄弱的那些知识,寒假会加以学习了解的。

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

    本来是不知道的,经过上次偷看学长的和自己的查阅之后知道似乎就是将程序分块化,使之即清晰,有可以通过一定结合达成目标,也容易对不同的问题对程序(一些分块)进行修改。

    学过了C语言,你如何把数组A的内容复制到数组B中?https://github.com/heihuifei/heihuifei/commit/f997e8a021a0ea8a5f924b40742ff13bf64a820d

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

    如何查找整数数组A中有没有数字5?https://github.com/heihuifei/heihuifei/commit/79731d6e746c27a7961e0e49ad0c85c4a966f836

    include <stdio.h>
    int main()
    {
        int a[100];
        int i,j,p=0;
        for(i=0;i<100;i++)
        scanf("%d",&a[i]);
        for(i=0;i<100;i++)
        {
            if(a[i]=5)
            {
                p=1;
                break;
            }
            else;
        }
        if(p=1)
        printf("YES");
        else
        printf("NO");
        return 0;
    }
    

    如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。https://github.com/heihuifei/heihuifei/commit/00adf723c634842fe9985f7e0348bec76b4123c1

    include<stdio.h>
    int main()
    {
        int a[100],i,j,temp=0;
        scanf("%d",&n);
        ....
        for(i=0;i<n;i++)
        {
            for(j=1;j<n-i;j++)
            if(a[i]>a[i+j])
            {
                temp=a[i];
                a[i]=a[i+j];
                a[i+j]=temp;
            }
            else;
        }
        for(i=0;i<n;i++)
        printf("%d",a[i]);
        return 0;
    }
    

    写一个程序,统计自己C语言共写了多少行代码?https://github.com/heihuifei/heihuifei/commit/c519398058c99f5ad768351b5202b6c06da9b864

    一开始我看这个问题还以为不难的,在开始要写这个的时候就发现似乎确实出现了大佬所说的文件操作的问题。经过多方面资源的查阅,似乎有些有关于文件操作的知识还未接触。暂时无法编写。但是如果文件操作这个问题解决了,之后就相对容易解决了。

    include<stdio.h>
    int main()
    {
        char a[1000][1000]
        int i,j,num=0;
        scanf("%c",&a[i][j]);
        for(i=0;i<1000;i++)
        {   
            for(j=0;j<1000;j++)
                if(a[i][j]=='
    ')
                    num++;
                else
                    continue;
        }
        printf("%d",num);
        return 0;
    }
    

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

    和C语言的学习对比,虽然现在对于《面向对象程序设计》没有很清楚的概念,但应该也是差不多的学习方向,所以我有个总结C语言学习的计划,平时多刷题,多看资料书,了解的更全面,更透彻,坚持每天都做题写代码,保持一种良好的状态,有一个目标就是希望能够在以后有关于程序设计的比赛或是其他的竞赛可以脱颖而出,可以展现自己,所以就需要自己平时多练习。对于刻意训练提高程序设计能力和派样计算思维,我觉得是一定需要的,因为平常多练习,经过长时间的练习就可以形成一种思维,同时孰能生巧,程序设计能力也就大大提高。而这就必须平时在各个可以练习的场所,抓住每个可以练习的机会去接触尽可能多的题目,编程序的能力才能突飞猛进。做中学的核心就是在做题时总是会不断遇到不会写的难题,但是要发现问题,不足,然后通过不断的后续练习,可以增加更多方面的融会贯通,难题难点逐个击破,最后进步肯定很快。

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

    我的写作能力只能是算平平的,因为平时对这方面的没有花太多注意,但是对于以上所说的4个点我觉得目前还是做得挺不错的。而要提高我的写作水平,最主要的还是要多加阅读,拓宽知识面,正所谓:“熟读唐诗三百首,不会作诗也会吟”嘛。然后就是平时要多加练习写作才能提高。

  • 相关阅读:
    字符流与字节流的区别
    向文件尾部追加内容
    Hashmap实现原理及扩容机制详解
    HashMap的put和get方法原理
    关于数字化工厂&智能工厂建设 IT 经验总结
    @所有人,网易数字+大会报名通道正式开启!
    WinForm程序打包1之快速入门
    解决安装.NET Framework不受信任的根证书
    Cannot resolve com.sun:tools:1.8.0 错误解决
    IDEA 2020报“java:程序包XXXX不存在”或“java:找不到符号”
  • 原文地址:https://www.cnblogs.com/heihuifei/p/6285922.html
Copyright © 2011-2022 走看看