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

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

- 我以为本身应该改算资质平平的那种人,若是说有什么技能比大多数人更好,我以为应该是看过本身喜欢的书后,那种记忆能力。就好比本身从小对历史很感兴趣,小时候看百家讲坛,如今读一些历史类书籍,总以为看完后,对里面的人物和事迹记忆的很清楚。在之后的学习中,讲到本身看过的书中内容时,也能很快的反应过来。

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

- 我以为从这个技能的获取中获得的成功的经验是兴趣和专心。由于我对历史感兴趣,因此在阅读此类书籍时,我以为很轻松不以为是一种负担,并且十分享受这个过程。其次,我每次看此类书籍时,会选择去图书馆,这样能够更专心的钻进书里面,从而得到最大最好的阅读效果。这样一来,有时候一看就能够看一个上午,慢慢的,书中的内容和情节就印在了脑海中了。

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

- 有计划,也要有行动,只动嘴皮子仍是一无所得。

熟悉个人同窗都知道我有一系列提高本身的群:「每一天万步」健身群、「瘦成一道闪电」减肥群、「每个月一本书」阅读群、「天天一百行」编程群、「天天一页字」书法群、「毕业生编程对赌群」...
-- 引用自《作中学(Learning By Doing)
老师在上面的博客中也提到了,有时候咱们每一个人都会有各类各样的计划,利用发达的社交网络,创建各类群聊,原本指望经过你们相互监督,达到共同进步。却不知,一切仍是得靠本身,有计划也要有行动。就像我上学期阅读《明朝那些事儿》时,全套七册,本身不只有计划,并且付诸实践,坚持天天读一点,最后在学期末读完了整套书。形式很重要,可是,内容永远大于形式。html

4.有关C语言学习的调查

- 1.**你是如何学习C语言的**
      大一下学期的C语言,主要是经过对题库的题目作和有时候实验课上的测验学习的,有时候遇到概念和用法不清楚时,也会去翻翻课本。

  -  2.**目前为止估算本身写过多少行C代码?理解的状况如何?量变引发质变,如何平衡质和量?**
      估算应该有接近3000行代码。对知识点的理解主要仍是经过作题完成的,因此理解状况仍是以应用为主,我以为理解状况通常吧。量是日常大量的练习,质是最后理解程度的飞跃。在追求练习量足够大时,也不可以忽略练习的质。若是一味练习本身已经掌握的知识点或者对照答案敲本身一点头绪都没有的题目,也很难有进步,达到质的飞跃。因此在练习时也要选择适当难度的爬坡题。

   - 3.**学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?**
       数组指针是一个指向数组的指针,其本质是指针;
       指针数组是一个由指针为元素组成的数组,其本质是数组;
       函数指针是一个指向函数的指针,其本质是指针;
       指针函数是一个返回值为指针的函数,其本质是函数。

   - 4.**学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操做这两种文件?**
       我不太清楚文件和流的区别和联系。可是经过查阅资料了解到,文件和流是既有区别又有联系的两个概念。文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通讯管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。而文本文件是以一些经常使用字符编码方式编码的,每一个字符都对应相应的编码,独自占用一个字节的存储空间,是定长的;二进制文件是用二进制进行编码的,能够自定义编码,是不定长的。在C中,文本文件操做是经过库函数完成的;二进制文件是经过fopen,fread,fwrite三个函数完成的。

   5.**学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?**
       “面向过程”是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不一样于面向对象的是谁在受影响。与面向对象明显的不一样就是封装、继承、类。面向过程经过分析出解决问题所须要的步骤,而后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用来解决问题。

   6.**在C语言里面,什么是模块?你写过多个源文件的程序吗?**
        我理解的模块就是将C语言中要解决的逐一分解成若干个小目标,而后经过对小模块的完成,达到解决问题的目的。本身目前尚未写过源文件的程序。

   7.**学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?**
        高内聚是指每一个模块是由相关性很强的代码组成,只负责一项任务,独立性强。低耦合是:一个完整的系统,各个模块相互独立,模块与模块之间的接口,尽可能的少而简单。关于如何具体应用,本身并非特别清楚。

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

int search(int a[],int n)//查找整数数组A中有没有数字5
{
    int i;
    int flag=0;
    for(i=0;i<20;i++)
    {
        if(a[i]==5)
            flag=1;
    }
    return flag;
}

void min(int a[],int n)//整数数组A进行排序(从小到大)
{
    int i,j,k,temp;
    for(i=0;i<n;i++)
    {
        k=i;
        for(j=i;j<n;j++)
        {
            if(a[k]>a[j])
            {
                k=j;
            }
        }
        if(k!=i)
        {
            temp=a[i];
            a[i]=a[k];
            a[k]=temp;
        }
    }
}

void max(int a[],int n)//整数数组A进行排序(从大到小)
{
    int i,j,k,temp;
    for(i=0;i<n;i++)
    {
        k=i;
        for(j=i;j<n;j++)
        {
            if(a[k]<a[j])
            {
                k=j;
            }
        }
        if(k!=i)
        {
            temp=a[i];
            a[i]=a[k];
            a[k]=temp;
        }
    }
}

int main()
{
    int n,i,a[50];
    printf("How many numbers?\n");
    scanf("%d",&n);
    printf("Please input numbers:\n");
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    if(search(a,n)==1)
    {
        printf("数组中有 5 !\n");
    }
    else
    {
        printf("数组中没有 5 !\n");
    }
    min(a,n);
    printf("从小到大排序:");
    for(i=0;i<n;i++)
    {
        printf("%d",a[i]);
    }
    printf("\n");
    printf("从大到小排序:");
    max(a,n);
    for(i=0;i<n;i++)
    {
        printf("%d",a[i]);
    }
    return 0;
}
9.**你知道什么是断点吗?给出本身调试程序的例子。**
    在某处设置断点后,调试程序时,程序运行到该行代码时会中断,方便逐步调试查找问题。

5.章节提问

1.Java中什么是反编译?什么是类?

  2.Java的数组与c语言的区别?引用类型数据有哪些?

  3.什么是二目运算?逻辑运算的顺序问题?

  4.成员变量和局部变量如何区分?

  5.抽象类是什么?

  6.import语句如何引入包中类和接口?

  7.异常类和断言的使用方法?

  8.字符串与C语言中使用区别?字符串分析器使用方法?

  9.如何理解类、窗口、组件?
  
  10.链表如何使用?

6.对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?

具体目标是态度端正,尽可能抽出多的时间去学习这门课程,可能本身基础不是很好,可是本身会尽力学习学好这门课程的。刻意训练就要求本身天天有意识的去敲敲代码,温故一下知识,逐渐提升能力。关于作中学,我认为是发现本身在学习中不理解的地方,经过本身作题摸索逐渐理解,虽然过程很痛苦,可是认真坚持下去,这样的掌握效果应该比老师满堂灌要好不少,重点仍是看本身的努力和付出。
相关文章
相关标签/搜索