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的知识,实现我的目标。

    公文写作

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

  • 相关阅读:
    rs
    stm32f767 usoc3
    stm32f767 RTT 日志
    stm32f767 标准库 工程模板
    stm32f767 HAL 工程模板
    docker tab 补全 linux tab 补全
    docker anconda 依赖 下载 不了
    docker run 常用 指令
    linux scp 命令
    Dockerfile 常用参数说明
  • 原文地址:https://www.cnblogs.com/xuanyan/p/6195049.html
Copyright © 2011-2022 走看看