20165203 学习基础和C语言基础调查

1、技能学习经验及体会

对于课外技能来讲,我对不少领域都略知一二,但涉足不深,例如体育领域、摄影领域、绘画领域、书法领域等等,我所能拿得出手的就是体育领域的乒乓球了。娄老师的做业题目让个人思绪又回到了本身初学乒乓球时期。我认为本身的乒乓球学习经历不管是在身体上仍是精神上都给我不小的帮助,我也很愿意和你们分享一下。html

其实个人乒乓球说是“超过90%以上”的人那确定是不可能的,在乒乓球如此盛行的中国,我也只不过是茫茫乒乓球爱好者中的沧海一粟。2008年,当看到北京奥运会的乒乓球比赛转播时,本身对这个小球产生了浓厚的兴趣,何况本身身体柔柔弱弱,为了使本身能强壮,也为了丰富了本身的课余生活,更重要的是知足本身的兴趣,我开始了本身的乒乓球经历。起初,教练让咱们练习基本功,由于本身乒乓球起步较晚(大概是小学4年级),因此,本身必需要付出更大的努力才行,在假期一天挥拍上万次,对着镜子练习是假期常有的事,本身现在还记得在手臂上绑上弹簧绳同时将弹簧绳固定在墙壁上,以此既练习了力量,也加强了肌肉记忆。基本功练了一段时间,教练开始让咱们分组练习,在练习过程当中教练予以指导,也会指出你的长处和弱点。大量练习中我也发现本身身体条件并非很好,正拍进攻力量不足,但优势是本身反拍稳定性好,脚步能快速到位,进入状态较快,一个典型的防守反击型球手。在接下来的训练中本身也着重提升本身的防守稳定性,并增强力量训练,增强进攻能力。慢慢地,本身的打球风格就是攻防兼备,起初经过防守观察对方的进攻特色,并在防守中经过击球节奏的变化破坏对方的击球节奏或是抓住对方回球质量不高的机会绝地反击。至今不少跟我打过球的同窗都说,乍一看我力量不足,可打球时我很难缠,密不透风的防守,出色的远台进攻,并善于观察球路,思考对策,说我比赛并不只仅用球技,还用智慧。教练的点评也是个人打球稳定,球商较高,善于观察。后来,到了中学尽管学习任务重了,打球的机会少了不少,但乒乓球依然是个人一大爱好,它让我强健了体魄,并改掉了不少生活上的坏习惯,同时经过打球结交了不少朋友,丰富了本身的朋友圈。不管到哪儿,乒乓球一直陪伴着我。java

经过乒乓球学习,我也体会到,就像娄老师在本身的乒乓球学习经验中提到的那样,本身必定要跟学习区(在此也就是指乒乓球圈子)里和高手(好比和53班的孙同窗)过招,本身才能进步;而且打球也要常思考,得到有效的反馈;固然还要高度集中注意力。个人乒乓球学习经验是编程

  • 对本身有充分的了解,了解本身的长处和短处。
  • 针对本身的短处多加练习,长处继续发扬。
  • 在与别人打球时必定要观察对方的长处和特色。这样作的好处之一是体会打法的多样化,这才是乒乓球的魅力所在,还有++取长补短++。
  • 多加练习并思考,在实践中暴露出来的问题本身的印象会更深,而且有迫切解决它的动力。
  • 每打一次要多加总结本身作的好的地方和出现的问题。
    学习任何东西都有相通之处,就是要思考,还要分层次训练,将所要学习的内容分红几个板块,一块一块地学习,其次,就是要多加练习,有了大量的练习量,量变才能引发质变。还有,练习也不是盲目的,要++有针对的练习++,针对本身要提高的地方着重练习,这样才能提高练习的效果。最后,练习要有反馈,要有总结,总结本身在每次练习中学到的东西,这样才能学有收获。

2、C语言学习调查

1.你是怎么学习C语言的?(做业,实验,教材,其余),与你的高超技能相比,C语言的学习有什么经验和教训?
  • 我学习C语言靠老师讲课自学两部分。起初接触C语言时,由于本身在计算机方面涉足不深,不少名词都不太熟悉,听老师讲课时也很吃力。因而,本身就在课下时本身阅读学习教材,同时,结合了一下网课——腾讯课堂中的C语言编程,本身不懂的名词就在百度上查找,每学完一章节要总结一下本身学的东西,而后天天在做业系统上练习几道题,不懂的就找同窗一块儿来探讨。可是,本身在学习C语言的过程当中,始终未占据主动地位,课上效率极低,课下练习不够,一直停留在做业系统上的题型解决就能够的层面,不曾深刻探究C语言的用途。与乒乓球相比,本身没有及时总结每次练习时的经验教训,也没有根据本身的特色制定适合本身的学习计划。其实,本身没有根据C语言自身的特色制定适合的学习计划,本身在学习时,总觉得本身了解了书本知识就会了,忽略了学习编程语言须要在作中学,并在课下加大练习。相信有了C语言的教训以后,Java学习时能深入体会到作中学,取得理想的效果。
2.目前为止估算本身写过多少行C代码?理解的状况如何?量变引发质变,如何平衡质和量?
  • 目前为止本身也就写了2000大几不到3000行的代码,写代码的高峰期汇集于大一下学习C语言的时期和大一的暑假准备计算机二级考试时期。本身由于没有及时复习,只是明白当时写的代码,通过这么长时间,早已忘的一干二净。本身也深知,本身的天资并不聪慧,要想到达本身想要的高度,必须在一开始就把基础打牢,要想让本身的水平长时间维持在本身想要的水平线上,就必须保持练习,常常接触,那样本身才不会对它陌生。数组

  • 量变引发质变是亘古不变的真理。对于量和质,我认为每一个人特色不一样,平衡关系天然是不一样的。如何要用比例去衡量它的话,拿我自身来讲,量和质的关系大概为3:1或4:1,要想取得理想的效果,大量的努力是必须的。因此,具体到程序学习上来讲,大量基础知识点和基本练习便是量,具体到更复杂,用途更高级的程序便是质。大量的练习是本身到达更高台阶的垫脚石。编程语言

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

-** 指针数组**:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组自己决定。它是“储存指针的数组”的简称。模块化

  • 数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。函数

  • 详细见指针数组&数组指针工具

  • 指针函数是指带指针的函数,即本质是一个函数。
  • 函数指针是指向函数的指针变量,即本质是一个指针变量。
  • 具体见指针函数&函数指针学习

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

很差意思,没有接触过。不过,我查到了相关资料测试

  • 文件的一种,或者说是的派生,主要指存放于硬存储器的二进制序列。(结合
    文件&流
  • 文本文件和二进制文件,该博客中详细介绍了这两种文件,以及编程操做这两种文件的区别。
5.学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?

面向过程是一种以++过程++为中心的编程思想,是以什么正在发生为主要目标进行编程。通常的面向过程是从上往下步步求精,因此面向过程最重要的是模块化的思想方法。好比拿学生早上起来这件事说明面向过程,粗略的能够将过程拟为:(1)起床(2)穿衣(3)洗脸刷牙(4)去学校,而这4步就是一步一步地完成,它的顺序很重要,你只须要一个一个地实现就好了。

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

我认为,C语言中的模块就是将程序根据功能分红几个部分,而后再一块一起的调用,函数的利用就是一个很好的例子。遗憾,没有写过多个源文件的程序。

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

学艺不精,不过,我查到了一些资料,从资料的介绍来看,“高内聚,低耦合”的意思为加强模块内部代码的功能,减小模块间数据接口的复杂程度。由于多模块程序我只编过函数程序,对于这样的程序个人理解大概是加强函数内部代码的相关性,减小函数接口的复杂程度。

8.学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
#include <stdio.h>
#include <stdlib.h>
#define N 100
void find5(int a[], int n);
void max(int a[], int n);
void min(int a[], int n);
int main()
{
    int a[N],b[N];
    int i,n;
    printf("How many numbers do you want to put in?\n");
    scanf("%d",&n);
    if(n>100)
    {
        printf("Too many!\n");
    }
    else
    {
        printf("Please input some number in a:\n");
        for(i=0; i<n; i++)
        {
            scanf("%d", &a[i]);//输入整数到数组a
        }
        for(i=0; i<n; i++)
        {
            b[i] = a[i];//将数组a中的数复制到数组b中
            printf("%d\n",b[i]);//输出数组b中的数
        }
        find5(a, n);//查找数组a中是否有5
        max(a,n);//从大到小排序
        min(a,n);//从小到大排序
    }
}
void find5(int a[], int n)//查找数组a中是否有5
{
    int  i;
    for(i=0; i<n;)
    {
        if(a[i]==5)
        {
            printf("Yes.\n");
            break;
        }
        else
        {
           i++;
        }
    }
    if(i==n)
    {
        printf("No.\n");
    }
}
void max(int a[], int n)//从大到小排序
{
    int i,j,temp;
    for(i=0; a[i] != NULL; i++)
    {
        for(j=i+1; a[j] != NULL;j++)
        {
            if(a[j]>a[i])
            {
                temp = a[j];
                a[j] = a[i];
                a[i] = temp;
            }
        }
    }
    printf("从大到小为:\n");
    for(i=0; i<n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
}
void min(int a[], int n)//从小到大排序
{
    int i,j,temp;
    for(i=0; a[i] != NULL; i++)
    {
        for(j=i+1; a[j] != NULL;j++)
        {
            if(a[j]<a[i])
            {
                temp = a[j];
                a[j] = a[i];
                a[i] = temp;
            }
        }
    }
    printf("从小到大为:\n");
    for(i=0; i<n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
}

在上述程序中,我将老师给出的问题整合到一个程序里。

9.写一个程序,统计本身C语言共写了多少行代码。

很差意思,太复杂的程序不太会写。可是,上一题的程序是我写的,而且修饰了一下,可是排序法用的是较简单的选择法排序,并且上述程序有不少不太好的地方,学艺不精,敬请见谅。上一题是一次很是有意义的练习,此次练习让我回忆起C语言不少知识。

10.你知道什么是断点吗?给出本身调试程序的例子。

断点就是程序中断的地方。在某行代码处设置断点后,调试程序时,程序运行到该行代码时会自动中止,而后就能够在这进行逐步调试。

大一时,程序中设置循环时,若是出问题能够用用断点调试找出问题的缘由。

11.对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何经过刻意训练提升程序设计能力和培养计算思惟?如何经过“作中学”实现你的目标?
  • 经过对比C语言的学习,我认为对Java的学习要对本身有更高的要求,不能仅仅停留在解决基本问题上,要有更深一层次的理解,掌握它的思惟设计方法,同时本身能够尝试解决更复杂的问题。要说具体的目标,最近的固然是在测试或考试中取得好成绩,进一步,但愿本身的Java学习能够在下学期的大创中很好地帮助本身,更进一步,但愿Java学习能够在本身从此的学习、工做和生活中成为本身一个很好的工具。

  • 平时能够对于具体的问题,多加练习,从每次练习中总结经验和方法。要想提升能力和培养计算思惟,大量的练习和总结是必要的。
  • 就像娄老师在作中学说的那样,实践是必须的,可是实践的过程当中必需要思考;还要刻意训练;而且,还要有反馈。因此,大量的练习Java编程是必要的,而且在每次练习中要思考,并有所收获,而后针对本身的强项多发扬,弱点多多巩固练习,而且,时常和老师同窗们多多交流,最后,本身能够尝试探索并解决更深一步的问题。相信经过本身的努力,必定能够取得理想的效果,实现本身的目标。

相关文章
相关标签/搜索