zoukankan      html  css  js  c++  java
  • 学习,学中做 ——20155215宣言

    写在前面

    我在本篇博客中回顾了自己C语言学习中的一些经历和体验,还了解了什么是“学中做”,对于如何更好地学习有了更深刻的体验。

    我的技能


    如果要问我有什么技能比身边的大多数人好的话,那我可能会想到是演讲与辩论。空口无凭,既然说自这些技能相对较好,那我总要拿出一些凭证来,能够在演讲比赛中获奖,能够成为院辩论队中的一员,我想,应该能够作为一定程度上的证明了吧。


    我的第一次演讲经历应该是在小学三年级左右。那个时候参加比赛的自己其实是懵懵懂懂的,最后比赛的结果自然也是不值一提,但是这应当还是给自己埋下了一颗种子。后来慢慢地又有了一些类似的经历,然后就开始获奖了。
    说实话,我觉得我在演讲这件事情上,不光收获了口语表达的能力,还锻炼了自己的写作能力,因为一个好的演讲者,他都有好的演讲内容,这些,也是对写作能力的一个锻炼。这些收获都让我觉得很值得,
    辩论,则是源于热爱。日常生活中,大家并不会喜欢那种咄咄逼人的说话方式,这只会让人敬而远之。但是辩论场上则不同,这是一个可以让你理所当然地打断别人,否定别人,说服别人的地方。我很享受那种唇枪舌战的感觉,每打完一场辩论,我都会觉得痛痛快快酣畅淋漓。这也是为什么我喜欢辩论,也享受辩论的原因。也正是因为喜欢,所以我总是不放弃参加辩论赛的机会,抓住每一次能够锻炼自己的机会。看别人的辩论赛,揣摩他们的辩论技巧,从而提高自己的水平。


    阅读了娄老师公众号上《做中学》等文章之后,再结合自己的经历,我觉得学习某项技能时,尤其是自学时,很重要的一点,就是自身的主观能动性。你想要达成什么成就,比如减肥,比如学英语,你首先就必须让这件事情成为你非常想去做到的事情,不管是哪种原因让你非常想去完成这件事,喜欢也好,为了自我提高也好。你有了主观强烈的意愿之后,自然就会想尽各种办法来提高自己的本项技能,这是第一点。其次,就是要能够持之以恒,没有事情是可以一蹴而就的,也没有事情是“三天打鱼两天晒网”还能完成的。你做一件事情,必须要明确的目标和计划,这样才能更好地去完成这些事情。就像娄老师为了减肥,给自己制定每天一万步的目标,然后为了保证能够做到,还建立了微信群,建立监督制度。我觉得娄老师使用的微信群的这个方法很有意思。最后,我们还应该要有足够的自制力。自我控制,是自我管理中最重要的一步,学会自控,才不会浪费时间和精力,才不会虚度光阴,才能够学有所成,不仅是针对在学校在课堂的学习,所有的事情都是一样的。


    C语言


    我学习C语言时,首先是老师在课堂上讲的内容,其次就是我自己课后的一个自学,有些不够理解的内容,我会在课下研读课本,温习重点,然后使用C语言题库,刷对应知识点的题目。我觉得题库对于我学习C语言来说,起到了很大的作用,他帮助我熟悉了很多编程的套路,从而达到熟练地编写基础程序的目的。但是在,C语言中的一个教训可能就是学习的不够扎实,满足于一知半解的程度,有时候只是为了应付考试,没有真正地学会,学懂。
    我在大一下时题库刷了大概有200道题,再加上平时的各种练习和实验,以及这个学期的一些实验和练习,我大概写了有7000多行代码。基本的C语言程序能够理解,但是在指针,文件,以及结构体上可能会相对薄弱。


    C语言中的相关概念,诸如数组指针,指针数组,以及函数指针,指针函数等,基本都能分清。


    文件和流:

    • 文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。
    • 流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。

    关于文本文件和二进制文件我不太能够区分,所以我了解了一下:

    文本文件是基于字符编码的文件,
    二进制文件是基于值编码的文件。

    文本方式和二进制方式的最大区别在于文本方式对于' '换行符的理解不同,在DOS平台下,该字符会被展开成两个控制字符(相当于" "),在 ASCII字符集下是0DH,0AH,而在UNIX平台下,仅仅是,不会展开。而在二进制方式下,不管是什么平台,' '都是精确的。


    而面向过程的程序设计指的是是一种以过程为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。


    C语言中的模块,大概意思就是将你要编的系统按功能进行划分,再对各个子功能进行编程。其中的每个子功能就可以叫模块。


    所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。

    要做到高内聚低耦合,重点并不是代码的编写,而是整体程序的设计阶段。
    程序设计时,要先将要实现的功能列出来,然后设计模块。
    模块设计后,再进行代码实现。
    要做到高内聚低耦合,设计模块时需要做到:
    1 各个模块之间的功能必须明确;
    2 各个功能模块间实现的功能不可以有交叉;
    3 不允许出现模块间的相互调用;
    4 如果必须出现模块间调用,那么只允许单向调用,即A可以调用B,B不可以调用A。


    复制:

    #include <stdio.h>       
    main()  
    {
            int a[10],b[10];
            int i;
            for(i = 0; i < 10; i ++)
            b[i] = a[i];
        }
    

    查找

    #include <stdio.h>
    main()
    {
        int a[50];
        int n,i,j;
        printf("input n:");
        scanf("%d",&n);
        printf("input a:");
        for(i=0;i<n;i++)
        {
          scanf("%d",&a[i]);
        }
        for(j=0;j<n;j++)
        { 
          if(a[j]==5)
          printf("数组中有5!");
        }
    }
    

    排序:
    从小到大

    #include <stdio.h>
    #define N 100
    int main()
    {
        int a[N],i,j,n,t;
        printf(" Input n:");
        scanf("%d",&n );
        printf("Input a:
    ");
        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])
                {
                    t=a[i];
                    a[i]=a[j];
                    a[j]=t;
                }
            }
        }
        for (i=0; i<n; i++) 
        {
             printf("%d ",a[i]);
        }
    }
    

    从大到小

    for(k=0;k<n-1;k++)/*从小到大*/
     {
         for(j=k+1;j<n;j++)
         {
             if(a[j]<a[k])
             {
                 t=a[j];
                 a[j]=a[k];
                 a[k]=t;
             }
         }
    

    关于搜索一共写了多少行代码,我不是很理解题目要求。理解上应该是写一个循环体进行计数,循环体内用IF-ELSE 进行判断。


    断点指的是,你在某行代码处设置断点后,调试程序时,程序运行到该行代码时会自动停止然后就可以在这进行逐步调试了。
    我曾经在编写C语言实验时使用过。


    关于JAVA

    回顾了自己整个C语言学习的过程之后,我发现我有很多的不足需要去完善,希望我能吸取C语言学习中的教训,更好地学习JAVA。能够更扎实地吸收JAVA的知识,实现我的目标。

    公文写作

    我曾经在暑假时在报社实习过一段时间,期间也发表过文章,觉得自己的写作能力尚可,但是如果是写正式的公文可能还会有所欠缺,所以,我觉得可以在未来的学习生活中增加公文写作方面的训练,提高自己的能力。

  • 相关阅读:
    VMware报错:无法连接 MKS: 套接字连接尝试次数太多;正在放弃
    java进阶学习计划
    js实现动态建立表格-------Day59
    Java通过POI技术操作Excel(3)----数据导出
    java通过POI技术操作Excel(2)----模板读取,录入数据
    Form表达元素美化篇----好看的搜索框(1)
    java通过POI技术操作Excel(1)----模板导出
    hibernate中 org.hibernate.MappingException: invalid configuration 报错
    中高级PHP程序员应该掌握哪些技术?
    Win10下Chrome浏览器无法安装 Adobe Flash Player 如何解决
  • 原文地址:https://www.cnblogs.com/xuanyan/p/6195049.html
Copyright © 2011-2022 走看看