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

心得体会

  • 驱动迭代java

    学习是一个老师与学生互动的过程,两者关系又恰如健身教练与学员,在进行基础知识的培训后还需借助工具增强相关方面的训练。学习提高的过程离不开学生在实践中发现问题并在老师的帮助下解决问题这一环节。及时反馈是学习的有效驱动力,对技能的学习便在此迭代之下提高。数据库

  • 由小及大编程

技能是分层次的。实践要具有必定的量才能引发质变。技能的提高要刻意训练数组

-- 引用自《作中学》网络

掌握一个技能或开发新领域,是一个按部就班的过程。急不得,但也须要咱们在起初有个期许,有个目标。而后即是进行这一阶段的练习,勤能补拙,相信在不断的有效练习后,熟能生巧。那么问题即是如何保证目标的合理制定以及有效执行。我想,由小及大这个词诠释得正好,这显示出了量化目标以及锲而不舍的重要性。不积跬步无以致千里,所持态度与目标的量化关系到是否能持续执行,而执行的有效性最重要的是毅力,不是一次性的大量付出,二是不断地付出。框架


技能与学习

  • 关于技能
    年轻,却是接触了很多技能,像主持、舞蹈、钢琴、小记者、篮球、游泳。。。要说超过90%以上,大概是舞蹈吧。13年的坚持,不只收获必定演出经验及奖项(其中包含全国一等奖),更重要的是,在这个过程当中,自身身体素质的提高以及艺术情商的培养。而在这方面,最重要的是不断地练习,以及能忍受练习时肌肉拉伸的疼痛感。数据库设计

  • 同窗习关系
  • 事物皆相通,舞蹈是肌肉记忆与毅力的基础之上同音乐相融合的表达,刚接触舞蹈时,首要的即是练习基本功,基本功是舞蹈的基础更是保证,以致于在之后的舞蹈练习中也将基本功视为第一要务。而后即是学习与模仿动做,接着将所学片断连起来便构成了一支舞的完整动做,随着音乐的引入,动做与音乐的不断磨合到最后相融便能算是一支完整的舞了,若能在此基础上结合本身的情感再加练习,最终用天然的肢体表达去展示舞蹈的灵魂与情感,如此为佳。
    • 我想这与老师博客中的学习经验是大抵相通的。对所学之事有所期许,而后即是对其量化然后进行基础训练,在不断地练习与反馈的迭代中增强对此技能的掌握并不断提高。

C语言的学习

  • 你是怎么学习C语言的?(做业,实验,教材,其余),与你的高超技能相比,C语言的学习有什么经验和教训?
    • 我是经过教材、实验、视频、做业来进行C语言的学习的。
    • 和以前所学技能相比,在C语言的练习环节相对薄弱。
  • 目前为止估算本身写过多少行C代码?理解的状况如何?量变引发质变,如何平衡质和量?分布式

    大概是3000-5000吧。能理解70%~90%吧。质和量实际上是相辅相成的,当量积累到必定程度以后便行成了质,而在达到质以后,又能再进行新一轮的量的累积,如此循环往复以至无穷。
  • 学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
    • 数组指针即指向一维数组的指针,* (a+i)即a[i]。
    • 指针数组即元素均为指针类型数据的数组。即* P[N]。
    • 函数指针是指向函数的指针。
    • 指针函数是一个返回值为地址值的函数,且返回值必须用同类型的指针变量来接受。
  • 学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操做这两种文件?
    • 文件是计算机管理数据的基本单位,是各类存储介质中永久存储的数据的有序集合,是数据读写操做的基本对象。
    • 流是字节序列的抽象概念,提供一种向后备存储器写入字节和从后备存储器读取字节的方式。
    • 文本文件中数值型数据的每个数字是做为一个字符以ASCII码的形式存储的,即每一位数字都单独占用一个字节的存储空间。二进制文件则是把整个数字做为一个二进制数来存储的,并不是每一位数字都占用单独的存储空间。
  • 参考了一下教材,打开文件使用函数fopen()进行,而函数fgetc()用于从一个以只读或读写方式打开的文件上读字符。函数

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

    应该是以过程为导向来进行程序设计。将一个任务分红几个版块按必定顺序用函数进行编程,而后在须要的时候再调用。

  • 在C语言里面,什么是模块?你写过多个源文件的程序吗?
    - 按定义是:可由汇编程序、编译程序、装入程序或翻译程序做为一个总体来处理的一级独立的、可识别的程序指令。
    - 目前还没写过多个源文件的程序。

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

    “高内聚”是指各模块功能相对独立,各自执行一项明确的任务。“低耦合”是指模块之间相互影响较小,适时可进行调用。

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

#define N 20

int main()

{
    int a[N],b[N];

    int i,n;

    printf("请输入a数组值\n");

    for(i=0;i<n;i++)

    {

        scanf("%d",&a[i]);

        b[i]=a[i];

        printf("%d ",b[i]);

    }

return 0;

}
  • 查找数组A中是否有数字5
#include <stdio.h>
int main()
{
    int a[5];
    int i,m=0;
    printf("请输入a数组中的值\n");
    for(i=0;i<=4;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==5)
        {
            m=1;break;
        }
    }
    if(m==1)
    {
        printf("数组a中有数值为5的数");
    }
    else
    {
        printf("数组a中无数值为5的数");
    }
    return 0;
}
  • 对整数数组A进行排序(从小到大,从大到小)
    • 从小到大
#include <stdio.h>
#define N 30
int shengxu(int a[],int n);
int main()
{
    int a[N],n,i;
    printf("n的值为:");
    scanf("%d",&n);
    printf("请输入数组a中的值");
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    shengxu(a,n);
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
}
void shengxu(int a[],int n)
{
    int i,j,t;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]>a[j])
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        }
    }
}
  • 从大到小
#include <stdio.h>
#define N 30
int jiangxu(int a[],int n);
int main()
{
    int a[N],n,i;
    printf("n的值为:");
    scanf("%d",&n);
    printf("请输入数组a中的值");
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    jiangxu(a,n);
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
}
Void jiangxu(int a[],int n)
{
    int i,j,t;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]<a[j])
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        }
    }
}
  • 写一个程序,统计本身C语言共写了多少行代码。
include <stdio.h>
int main()
{
    int t=1;

int c;
    while((c=getchar())!=EOF)
     {
       if(c==’\n') t++;
    }
    printf("%d\n",t);
    return 0;
}
  • 你知道什么是断点吗?给出本身调试程序的例子。

下面是进行调试的例子


Java

  • 章节提问
    一、如何使用Java虚拟机的解释器。
    二、C语言中不少和Java格式相同,却有不少细节不一样,如何实现从C到Java的过渡。
    三、instanceof 运算符的使用条件和规则不是太懂。
    四、方法类型前面不加关键字static的是实例方法、关键字static的是类方法。这两种方法的运用与实例不是太明白。
    五、经过重写隐藏已继承的实例方法的同时,须要使用super关键字操做被隐藏的成员变量,那么在什么状况下隐藏、又在什么状况之下调用成员变量和方法呢,隐藏是否有必要。
    六、接口回调与元件例化、函数调用的区别是什么。
    七、在Java中出现异常时,应使用try~catch语句,但try部分和catch部分在具体实例中是如何进行编写的。
    八、用format方法进行数字格式化,可是为何要格式化呢。
    九、Java处理事件的模式中事件源、监视器、处理事件的接口部分感受有些抽象。
    十、使用对象流写入或读入对象时,要保证对象是序列化的。若是不是序列化,会出现什么状况。
    十一、清楚了用户的需求以后,就须要进行数据库设计,而设计过程当中第四部是视图,如何使用程序来提供视图。
    十二、线程同步是指几个线程都须要调用同一个同步方法(用synchronized修饰的方法)。那么请问如何使用wait()方法和notifyAll()方法。
    1三、RMI是一种分布式技术,使用RMI可让一个虚拟机(JVM)上的应用程序请求调用位于网络上另外一处的JVM上的对象方法RMI是一种分布式技术。远程只能使用RMI吗。
    1四、如何使用Graphics类或其子类Grapgics2D类绘制各类基本图形图像。
    1五、请问HashMap对象为散列映射,TreeSet类建立的对象称做树集,这两种的集合框架使用范围和条件是什么。

  • 对比C语言的学习,在以后《Java程序设计》的学习中我但愿能掌握并能熟练运用Java。
    • 首先是打好基础,书中知识点应及时整理消化。接着即是勤练,针对一个任务,能够要求本身在必定时间范围以内进行编写以提升速度,而后再经过不断调试提升编写的正确率。
    • “作中学”中所提到的目标量化十分重要,将目标细分后一步步脚踏实地练习。随时注意及时反馈,如此迭代之下能有效提升对技能的掌握程度。
相关文章
相关标签/搜索