• 20165202 学习基础和c语言基础调查


    你有什么技能比大多人(超过90%以上)更好?
    我对自行车运动的兴趣始于初中时期,不敢说比大多数人更好,但在业余爱好者中相对来说还不错。
    针对这个技能的获取你有什么成功的经验?
    接触自行车运动几年里,我从最初的骑游组织转到竞技团队当中,通过不断深入的接触我真正感受到了自行车的魅力,从感受自然亲近自然的目的转到了对速度的追求,并在京津冀地方性比赛中取得过一些成绩。我认为自身的提高主要源自以下几点:

    • 对自行车运动的热爱

    • 不断的练习

    • 教练科学的指导

    与老师博客中的学习经验有什么共通之处?
    在对一些成功经验进行总结后不难发现,我所列出的几项因素与老师在《做中学之乒乓球刻意训练一年总结》一文中提到的经验很吻合,自行车运动作为一项耐力运动,需要的就是重复练习提高自己的体能。

    体育运动的初学者练习时候都需要重复动作,比如学习打乒乓球时要练习挥拍,挥拍成千上万遍之后动作就会定型,也就是教练常说的“肌肉有了记忆能力”,以后实战中可以不假思索地做出来。

    -引自《优秀的教学方法---做教练与做中学
    有了学习与提高的目标,在持续的实践中发现问题,通过教练(老师)的反馈得到科学的指导,不断实现自身的进步更加乐于学习。通过阅读娄老师的文章我第一次了解到“做中学(Learning By Doing)”这一概念,在我看来这种实践反馈提高的循环正是“做中学”的体现。
    有关C语言学习的调查

    • 你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?
      在上课听完老师的授课后,下课结合教材内容吸收理解,之后进行编程练习。学编程是离不开写代码的,有时候上课感觉听懂了,到作业系统中做题还是无从下手。大一下学习C语言时没有投入足够的时间,缺乏练习是很大的失误。
    • 目前为止估算自己写过多少行C代码?理解的情况如何?量变引起质变,如何平衡质和量?
      大约2500行,一些基础的比较好理解,但随着后面内容难度加深理解有一定困难。量变是质变的前提,但不能盲目追求量,更应该注重理解吸收,低效的凑数的“量”难以引起质变。
    • 学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
      数组指针:指向数组的指针
      指针数组:数组内的元素都是指针,存储指针的数组
      函数指针:指向函数的指针包含函数的地址,调用函数
      指针函数:函数声明其返回值为某个指针时,给函数返回一个地址,用于需要指针的表达式
    • 学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
      不太清楚
    • 学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
      首先分析出解决问题的步骤,然后用函数把这些步骤逐步实现,使用时依次调用。
    • 在C语言里面,什么是模块?你写过多个源文件的程序吗?
      依照负责部分不同,将一个软件或程序拆分成多个部分,完成后再拼装成完整的程序。没有写过
    • 学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
      不太清楚,根据百度所查资料

    耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息
    内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
    所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
    耦合:一个软件结构内不同模块之间互连程度的度量。
    对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。

    • 学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
      数组A复制到数组B:
    #include <stdio.h>
    void main()
     {
        int n,i,a[100],b[100],j;
        printf("Input n:");
        scanf("%d",&n );
        printf("A:
    ");
        for (i=0; i<n; i++) 
        {
            scanf("%d",&a[i]);
         }
        printf("B:
    ");
        for (j=0; j<n; j++) {
            b[j]=a[j];
            printf("%d",b[j]);
        }
    } 
    

    在A中查找数字5:

    #include <stdio.h>
    void main()
    {
    int a[30],i,b=0;
    for(i=0;i<30;i++)
    {
    scanf("%d",&a[i]);
    }
    for(i=0;i<n;i++)
    {
    if(a[i]==5){
    b=1;
    printf("第%d个元素是5",i);}
    }
    if(b==0)
    printf("没有元素5
    ");
    }
    

    对A进行排序(从小到大):

    #include <stdio.h>
    void main()
    {
        int a[10];
        int i,j,t;
        printf("Input 10 numbers:
    ");
        for(j=0; j<10; j++)
            scanf("%d",&a[j]);
        printf("
    ");
        for(i=0; i<9; i++)
            for(j=0; j<9-i; j++)
                if(a[j]>a[j+1])
                {
                    t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
        for(j=0; j<10; j++)
            printf("%d
    ",a[j]);
        printf("
    ");
    }
    

    对A进行排序(从大到小):

    #include <stdio.h>
    void main()
    {
        int a[10];
        int i,j,t;
        printf("Input 10 numbers:
    ");
        for(j=0; j<10; j++)
            scanf("%d",&a[j]);
        printf("
    ");
        for(i=0; i<9; i++)
            for(j=0; j<9-i; j++)
                if(a[j]<a[j+1])
                {
                    t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
        for(j=0; j<10; j++)
            printf("%d
    ",a[j]);
        printf("
    ");
    }
    
    • 写一个程序,统计自己C语言共写了多少行代码。
    #include <stdio.h>
    void main()
    {
      int ch,lines;
      FILE *fp;
      char filename[FILENAME_MAX];
      printf("Input filename:");
      while(scanf("%s",filename) == 1)
      {
       fp = fopen(filename,"rt");
       if(fp == NULL)
        {
         printf("error!");
         printf("Input filename:");
         continue;
        }
       lines = 0;
       while((ch = fgetc(fp)) != EOF)
        {
         if(ch == '
    ') ++lines;
        }
       fclose(fp);
       printf("%s 的行数为 %d
    ",filename,lines);
       printf("Input filename:");
       }
    }
    
    • 你知道什么是断点吗?给出自己调试程序的例子。
      在某处设置断点后,调试程序时,程序运行到该行代码时会中断,方便逐步调试查找问题。
    • Java各章问题
      1.Java如何编写源文件
      2.8种基本数据类型具体区分
      3.怎样利用“异或”运算
      4.如何创建对象
      5.abstract类使用意义
      6.接口回调的实现
      7.匿名类的使用
      8.Integer类调用其类方法
      9.JFrame构造方法
      10.如何构造随机流
      11.通配符的使用
      12.区分进程与线程
      13.接收数据包
      14.绘制图形方法
      15.使用泛型类声明对象
    • 对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
      利用好码云与云班课,同时制定进度条督促自己完成学习任务。老师在首次作业中提到了我们的代码行数要求,努力平均到每天不能拖到一天仓促赶工。
      正如老师所说,用正确的方式做事情可以有效改善我们的效率,无论学习还是做事首先要有正确的心态,应付了事的态度做什么都不会出彩。

    正解的动作不容易受伤让我意识到「用正确的方式做事情,可以做的更好,效率更高」,这太神奇了。所以现在干什么事情,很少糊弄,一定要花时间做的事,就尽力做好,可能这是最省事的方法。

  • 相关阅读:
    HDU5269 字典树
    HDU1664 BFS + 数论 + 剪枝
    HDU1429 BFS + 状态压缩
    HDU1075 字典树 + 字符串映射
    HDU1247 字典树
    UVa 10256(凸包、线段交、点在多边形内)
    UVa 10652(旋转、凸包、多边形面积)
    牛客练习赛43D(贪心)
    牛客练习赛43F(推式子)
    Codeforces 1161B(判断旋转对称)
  • 原文地址:https://www.cnblogs.com/jhs888/p/8401517.html
Copyright © 2020-2023  润新知