• 20155224聂小益


    20155224聂小益 - 我的技能与C语言学习

    预备作业2

    ● 你有什么技能比大多人(超过90%以上)更好?

    我认为我可能有些技能身边有的人比较少有,但是要是超过90%以上我实在不敢保证。毕竟厉害的人太多了,实在不敢把自己捧得那么高。
    
    我的第一个技能是羽毛球。初中对羽毛球产生了兴趣,还专门找了个体育特长生的教练教我。虽然和她很玩的来,但是后来还是没有打了,倒是影响的我爸妈也喜欢上了羽毛球。
    现在如果要打羽毛球,可能体力不太好了、不能支持很久高强度的运动,但是毕竟还记得一些技巧,应该还过得去。
    
    第二个技能是刻橡皮章。这是一种把图案描在专门的材质较硬且不起粉的橡皮上,用刀刃角度较利的笔刀刻出形状的玩法。也可以说是平民版的纂刻吧,因为材质易得、技巧好练、图案可以选择许多可爱动漫形象和形状,曾经流行过一小段时间。
    身边没见过许多玩这个的人,所以如果只论身边我肯定是超过大多数人了。一开始的时候肯定是各种刻不好,也很难耐心的坐下来认真刻,但是后面慢慢越来越喜欢,也刻的越来越好了。
    

    ● 针对这个技能的获取你有什么成功的经验?

    羽毛球练习其实也很枯燥,而且也很累。别看羽毛球场地不大,打一场下来也要跑不少路。所以当时教练每天都会带我做很久体力训练,累而且枯燥,几节课下来经常肌肉酸痛。还有许多基础训练,就是不停的换不同角度接发球,训练肌肉记忆,练到看到球来想也不想就能打回去。
    
    自己练刻橡皮章的时候,一开始纯粹是看别人刻的好看,自己上手才知道不容易。橡皮较软,不要求太大的手上力气,但是也容易一不小心刻穿线条或是控制不好走向。也有一不小心把刀尖戳在手上的时候,不过随着不断地练习,凭着自己心里的热爱!可算是练出来了!
    
    成功真的没有什么捷径,每一步都是自己走出来的。经验没有人能直接传授给你,还是要自己努力,自己亲身经历然后总结。
    

    ● 与老师博客中的学习经验有什么共通之处?

    首先就是练习的重要性啦。掌握一门技能需要大量时间用于练习,在练习中不断思考,解决自己遇到的问题,最终吃透这门技术。
    
    此外我认为动力也很重要。比如我打羽毛球时的动力就是打出漂亮的回球时的喜悦,刻橡皮章的动力是刻出自己喜欢的人物或漂亮的图案。
    
    老师提到自己有许多群,我认为这个点子很棒。人在比较中会获得动力,更能长时间的坚持学习。人都有自尊心的嘛,看到别人超过自己总是不舒服的,这样能形成一种良性竞争,每个人都能进步。
    

    ● 有关C语言学习的调查

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

    其实我和大家一样,都是按着老师的步调走。根据老师上课的内容,课下在平台上做相应的练习。
    
    与我的技能相比,我想一开始我对C语言有点缺乏兴趣吧。
    一开始我和许多人一样觉得计算机有点乏味,而且C语言入门阶段教授的内容又比较简单,我有点掉以轻心,有一段时间没有很认真的每天练习,给自己加码。后来开始重视起来的时候才后悔了。
    C语言是很基础的东西,在学习过程中必不可少,而且有许多变化及应用方法。我想最关键的还是要多练习多思考,把编程变成一种习惯。只有积累了足够的经验,我们才可能进一步的灵活运用,激发出灵感的火花。
    

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

    目前为止可能写过3000行以上代码吧,大部分都是较为简单的练习题。
    
    写出的程序自然都能理解。做练习题时,有些较难的长程序,可能我写的版本运行有错我检查不出来,我会和答案进行对照找出自己的错误。
    如果是我自己没有头绪的题目,我会认真研究答案,分析内在逻辑,或者询问身边同学。
    

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

    数组指针:指向数组地址
    指针数组:存储多个地址的数组
    函数指针:指向一个函数
    指针函数:返回值为地址
    

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

    查阅资料后得知,文件即被存储的数据的集合;流是字节序列的抽象概念,提供向存储器写入字节和从存储器读取字节的方式。
    
    文本文件中每个字符对应一个字节,用于存放对应的ASCII码。二进制文件是按二进制的编码方式来存放文件的。
    

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

    面向过程指的是以程序为中心的编程思想,解决问题的方法是分析问题然后编写函数并依次调用。
    

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

    模块即将要编写的内容化成多个部分,分别编写。
    还没有写过多个源文件的程序。
    

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

    内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
    耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
    
    所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。耦合指一个软件结构内不同模块之间互连程度的度量。对于低耦合即一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。
    
    以上内容均为查阅资料得知。了解了“高内聚,低耦合”的概念后,我对这句话的理解是在C语言中要分多个模块,每个模块有自己的分工,各个模块尽量独立,不要过多联系。
    

    ○ 学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。

    数组复制

    #include <stdio.h>
    int main()
    {
        int a[100],b[100],i,n;
        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++)
        {
            b[i]=a[i];
            printf("%d",b[i]);
        }
    }
    

    查找5

    #include <stdio.h>
    #define N 50
    int main()
    {
        int a[N],i,j,n;
        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>
    #include<string.h>
    #define N 100
    int main()
    {
        char a[N];
        int i,j,k,n,temp;
        printf("input a:");
        gets(a);
        n=strlen(a);
        for(i=0;i<n-1;i++)
        {
            k=i;
            for(j=i+1;j<n;j++)
            {
                if(a[j]>a[k])
                    k=j;
            }
            if(k!=i)
            {
                temp=a[i];
                a[i]=a[k];
                a[k]=temp;
            }
        }
        puts(a);
    }
    

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

    之前写的程序都没有存下来,而且不太会怎么统计CodeBlocks里面到底写了多少行。
    

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

    在程序某处设置断点后,在调试程序的过程中,到达断点处会停止运行,以便调试程序。
    没有使用过断点的方法。
    

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

    在学习Java的过程中,我希望能切实掌握Java的运用,培养自己的思维。
    我认为如果要提高程序设计能力和培养计算思维,一定要多问多思考,时常挑战高难度。
    我个人的想法是我可以每天坚持看一道或两道Java题目,例题或者课后习题,积少成多,通过这种方式提高自己的知识水平。
    

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

    我的写作能力应该不错。我在高中时语文成绩在年级前列,我认为议论文与公文写作有相似之处,都要求严谨认真。即使现在不太了解公文写作,我相信我能迅速提高。
    
    要提高公文写作能力,我认为首先要了解公文写作格式,我们现在对公文写作还没什么了解。
    当写公文时,一定要了解写作意图,严格按照要求来,不能“跑题”。要提高公文写作能力,我认为可以从别人的好的公文中学习。
  • 相关阅读:
    NSArray的枚举使用方法
    NSArray的创建(一)
    关于Description的一些理解
    NSString的形式--可变字符串--改方法Alter
    iOS音频流播放、后台播放、远程控制、锁屏封面等总结
    10个重要的算法C语言实现源代码
    OC方法积累
    UIDevice获取设备数据以及如何获取应用信息
    iOS如何取得APP的版本信息跟Apple服务器对比进行升级提示?
    新浪微博-开发过程
  • 原文地址:https://www.cnblogs.com/nxy970408/p/6195715.html
Copyright © 2020-2023  润新知