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:\n");
    for (i=0; i<n; i++) 
    {
        scanf("%d",&a[i]);
     }
    printf("B:\n");
    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\n");
}

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

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

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

#include <stdio.h>
void main()
{
    int a[10];
    int i,j,t;
    printf("Input 10 numbers:\n");
    for(j=0; j<10; j++)
        scanf("%d",&a[j]);
    printf("\n");
    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\n",a[j]);
    printf("\n");
}
  • 写一个程序,统计自己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 == '\n') ++lines;
    }
   fclose(fp);
   printf("%s 的行数为 %d\n",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程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
    利用好码云与云班课,同时制定进度条督促自己完成学习任务。老师在首次作业中提到了我们的代码行数要求,努力平均到每天不能拖到一天仓促赶工。
    正如老师所说,用正确的方式做事情可以有效改善我们的效率,无论学习还是做事首先要有正确的心态,应付了事的态度做什么都不会出彩。

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

posted @ 2018-02-01 22:27  Haimi98  阅读(231)  评论(1编辑  收藏  举报