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

一、学习基础

1. 我所擅长的技能

从小我就对新鲜事物抱有浓厚的兴趣,因此多年来培养了许多爱好,对感兴趣的诸如绘画方面的国画、油画、素描、漫画等;音乐方面的钢琴、吉他、架子鼓等;运动方面的滑板、溜冰、游泳等;电脑方面的PS、Pr、AE、3dMax等……在很多方面都多多少少有所涉猎,而其中能说的上擅长的技能,当绘画莫属。

2. 获取技能的经验

从一两岁就开始的涂鸦,到现在手绘、鼠绘(在电脑上使用鼠标在PS中绘画)、板绘(更专业一些,在电脑上连接数位板使用PS、Sai等软件绘图)都算是熟练使用,可以说绘画是我最长情的爱好了。而获取这项技能的方法非常朴素,我认为最重要的有以下三点

  • 兴趣

兴趣是最好的老师

兴趣就好比源动力,是鼓舞我对待绘画始终如一的精神支柱。兴趣是培养技能的 第一阶段 。

子曰:“知之者不如好之者,好之者不如乐之者。”

事实正是如此。正是因为永远充满着兴趣,我才会对绘画如此热爱,并且致力于提升自己的绘图水平和创造能力,希望能越画越好。

  • 练习

套路(Kata)指针对某一种特定技术或技能进行重复性的练习,从而将其熟练掌握。这个概念借鉴于武术,指的是可以独自或多人共同练习的一系列动作、招式。

-- 引用自《做中学

这一点和老师在《做中学》中的观点不谋而合,是培养技能过程中的 第二阶段 ,也是最朴素、最基础、最重要的一个阶段。

在我刚开始进入板绘的世界时,简直是举步维艰,电脑上画笔的笔触与纸面上的完全不一样,要做到像手绘一样平稳的线条在当时的我看来完全不可能,在我泄气而懈怠的时候,有个前辈说这样对我说:

“万事开头难,所有人都是这样过来的。画画没有什么技巧,只有不断地练习才能不断地进步,如果连画笔这小小的不适应都克服不了,何谈进步?”

从此我开始了不断地练习,画的也越来越好,直到现在甚至能凭借这一技能赚些外快。

  • 坚持

培养一项技能的 第三阶段 是坚持。无数事实证明,只有一时的激情,没有长久的坚持是永远也做不成事的。只有坚持不放弃,才能在信念的指引下越做越好,在熟练度达到顶端的时候自然而然的就完成了量变到质变的转换,从而真正获得技能。

3. 与老师博客中提到的学习经验的共通之处

在认真读过老师做中学五笔减肥乒乓球背单词的博客后,我发现我在培养技能过程中的经验与老师提到的有异曲同工之妙。

主要可以总结成三个阶段:

  • 激发兴趣(interest)
  • 自主规划(plan)
  • 坚持实施(doing)

正如老师在《每天一万步,一周减十斤》所说的一样:

学习这件事,和健身一样,做得好的永远不停止,做不好的永远不开始。

当在经过以上艰苦与快乐共存的三个阶段后,当一件事做到开始称得上“做的好”后,将会激发更进一步的学习兴趣,形成积极促进作用,学习也是这样。

二、C语言基础

1. 学习C语言的方法及学习经验和教训。

我的学习方法主要是:

  • 自学(看书、询问、上网)
  • 听课(听老师讲课)
  • 做笔记(上课笔记、课后总结、期末梳理知识点)
  • 练习(做例题、抄代码、重复练)
  • 实验与考试(在上机课堂上及课后完成)

学习中的经验和教训:

  • 经验

    • 多抄。不懂的可以抄,但要抄到明白
    • 多背。如函数名等,在需要调用时才能迅速反应过来,节约时间
    • 多学。在练习中多学习其他大神的优秀代码是如何构建的,学习精髓,改进自身
    • 多练。勤能补拙,只有勤于练习才能熟练掌握
  • 教训
    • 不够投入,因此学习的不够深入,水平至今还没有大进步
    • 背记不清,有时候会因为记错指令或是根本忘记了而需要去查书,浪费了编码时间
    • 不够熟练,框架没有构建起来,例如在遇到指针类型的题目时还是不清不楚,写的时候就迷迷糊糊,多有错误

2. 目前为止估算自己写过多少行C代码?理解的情况如何?量变引起质变,如何平衡质和量?

估计是写了3000行以上代码。基础的操作可以较熟练完成,但例如函数、指针等还是需要在一段时间的思考后才能写出(而且不一定对……)。量变引起质变,这个量还是要根据个人的能力来把握的,不能为了完成量而去不停的抄代码,复制粘贴永远没法把知识输入脑子里。只有做到量大质优,才能自然而然的在大量的代码中提取精华,转变成自身的知识。

3. 如何区分数组指针,指针数组;函数指针,指针函数?((x[4])())[4]这个声明中的x是什么东西?

名称 定义区分
数组指针 是一个指针,指向数组
指针数组 是一个数组,由指针组成
函数指针 是一个指针,指向函数
指针函数 是一个函数,返回值是指针

4. 文件和流的区别和联系?如何区分文本文件和二进制文件?如何编程操作这两种文件?

  • 文件和流

我对文件和流的含义不甚了解,经过百度后自行总结整合如下表:

|名称|区别和联系|

|-|-|

|文件|是信息的集合,实际的设备,分为文本文件和二进制文件|

|流|是一个抽象概念,用于提供或存储数据,分为文本流和二进制流|

C语言的I/O系统为用户提供了一个接口,该接口与实际的存取设备无关。只是设备的一个抽象表示形式。这个抽象的接口称为流,实际的设备称为文件。

  • 文本文件和二进制文件
名称 区别和联系
文本文件 即ASCII文件,在磁盘中存放时每个字符对应一个字节,在屏幕上按字符显示,能直接看懂
二进制文件 按二进制的编码方式来存放文件,在C语言中按字节进行处理,看做字符流,因此也称“流式文件” ,不能直接看懂
  • 文件编程和操作

    • 文本文件:后缀名为“.txt”,打开方式为“r”、“w”、“a”、“r+”、“w+”、“a+”
    • 二进制文件:后缀名为“.bin”,后者为“wb”、“rb”、“ab”、“wb+”、“rb+”、“ab+”。

5. 什么是面向过程程序设计吗?它解决问题的方法是什么?

C语言是一种面向程序的编程软件。面向程序设计指的是一种以过程为中心的编程思想。解决问题的方法就是先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

6. 什么是模块?你写过多个源文件的程序吗?

个人理解就是将一个整的程序拆开用几个函数来写成,这几个函数分块就是“模块”,然后再在主函数中调用即可。

7. 什么是“高内聚,低耦合”?这个原则如何应用到高质量程序设计中?

  • “高内聚,低耦合”含义

内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。

耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

-- 引用自百度百科-高内聚低耦合

对这个概念并不是很清楚,查阅资料后个人理解是:高内聚指模块内部中联系紧密;低耦合指不同模块直接联系少,独立性高。

  • “高内聚低耦合”的应用

在设计程序时,应将程序尽量清晰的模块化,方便之后的调用,也能防止发生“牵一发而动全身”的惨状。

8. 写出下列相应程序:

① 如何把数组A的内容复制到数组B中?

#include <stdio.h>
#include <stdlib.h>
#define N 100
int main()
{
    int A[N],B[N],n,i;
    printf("input n:");
    scanf("%d",&n);
    printf("input A[n]:");
    for(i=0;i<n;i++)
    {
        scanf("%d",&A[i]);
        B[i]=A[i];
    }
    printf("B[n] is:  ");
    for(i=0;i<n;i++)
    {
        printf("%2d",B[i]);
    }
    return 0;
}

结果为:

② 如何查找整数数组A中有没有数字5?

#include <stdio.h>
#include <stdlib.h>
#define N 100
int main()
{
    int A[N],i,n=0;
    printf("请输入整数数组A: ");
    for(i=0;i<N;i++)
    {
        scanf("%d",&A[i]);
        if(A[i]==5)
            n++;
    }
    if(n>0)
        printf("该整数数组A中有数字5.");
    else
        printf("该整数数组A中没有数字5.");
    return 0;
}

结果为:

③ 如何对整数数组A进行排序(从小到大,从大到小)?

#include <stdio.h>
#include <stdlib.h>
#define N 100
void Up(int A[],int n);
void Down(int A[],int n);
void Print(int A[],int n);
int main()
{
    int A[N],i,n;
    printf("input n:");
    scanf("%d",&n);
    printf("input A[n]:");
    for(i=0;i<n;i++)
    {
        scanf("%d",&A[i]);
    }
    Up(A,n);
    printf("升序为:");
    Print(A,n);
    printf("\n");
    Down(A,n);
    printf("降序为:");
    Print(A,n);
    return 0;
}
void Up(int A[],int n)
{
    int i,j,temp;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(A[i]>A[j])
            {
                temp=A[i];
                A[i]=A[j];
                A[j]=temp;
            }
        }
    }
}
void Down(int A[],int n)
{
    int i,j,temp;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(A[j]>A[i])
            {
                temp=A[i];
                A[i]=A[j];
                A[j]=temp;
            }
        }
    }
}
void Print(int A[],int n)
{
    int i;
    for(i=0;i<n;i++)
        printf("%2d",A[i]);
}

结果为:

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

实在抱歉这题真的不会写,不过看到题后我有自己的思路

  • 先将所有后缀为“.c”的文件都放在一个目录下
  • 设计程序
    • 遍历整个目录
    • 统计文件中的换行符
    • 判断是否为注释和空行
    • 剔除后剩下的进行字符计数
  • 得出结果

最后还是上网参考了其他人的做法和代码:

写一个程序,统计自己C语言共写了多少行代码

还在消化学习的过程中,对文件操作实在是掌握的不好(……),等之后完全学会了在专门写一篇博客记录如何操作吧。

10. 什么是断点吗?给出自己调试程序的例子。

断点: 断点是用来调试程序的,通过设置断点使程序从断点处开始逐步调试,从而可以发现错误出现在具体的哪一步,方便分析问题和改正错误。

举个例子: 如在下图计算公倍数的程序中进行断点调试

三、JAVA学习前景

(1)快速浏览PPT并提问

  1. 什么是JAVA的平台无关性?
  2. 理解JAVA的8种基本数据类型,在JAVA中如何引用数组?
  3. 为什么表达式的值必须是boolean型的,为何不能用0和1表示?instanceof运算符的具体使用方法及使用场合是?
  4. “类”的应用方法?JAVA中的包是指?要如何引用?
  5. 子类能继承父类的那些东西?为什么子类实例能够赋值给父类引用,反之则不行?
  6. JAVA中父类和接口有什么区别?多态可以通过父类和接口实现吗?
  7. 可以将JAVA中的断言理解为C语言中的断点吗?JAVA内部类要如何才能实现调用?
  8. 如何使用字符串分析器?可以使用字符串来声明switch语句吗?
  9. 要如何发布一个GUI程序?
  10. 数据流是如何读取数据的?各种数据流有什么区别,要如何处理?
  11. MySQL数据库中可以调用哪些数据?
  12. start()方法和run()方法的区别是?阻塞的线程应该怎么唤醒?
  13. 如何创建一个URL类?如果需要打开的URL中含有中文应该如何解决?
  14. creatimage()和new bufferedImage()都能构造出缓冲区图像,两者有什么区别呢?
  15. JAVA中的堆栈“后进先出”是什么意思?

(2)JAVA学习目标

在用快速阅读法看完ppt后,我大致了解到了JAVA课程需要学习的内容,并在同时感受到了自身深深的不足,我还有许多新知识需要去学习、掌握。我希望我能在后续的学习过程中更加深入的学习JAVA,最好能较为熟练地掌握这门语言,编写出好的代码。这是我的目标。而要完成这个目标,就回到了这篇博客的开头我所写的几点基础又重要的做法:必要的兴趣、大量的练习、不断的坚持,才能完成这个目标。

原文地址:https://www.cnblogs.com/moddy13162201/p/8409208.html

时间: 2024-11-03 22:51:27

20165223 学习基础和C语言基础调查的相关文章

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

学习基础和C语言基础调查 读做中学有感 读了老师的推送,通过邹欣老师的博客中对老师和学生的关系比作教练和学员的阐述,这里重点为我们阐述了「做中学(Learning By Doing)」的重要性. 套路(Kata)指针对某一种特定技术或技能进行重复性的练习,从而将其熟练掌握.这个概念借鉴于武术,指的是可以独自或多人共同练习的一系列动作.招式. 做中学(Learning By Doing)从老师角度讲就是「项目驱动教学法」.学生在实践中发现问题,解决问题,在迭代中提升. --引用自<优秀的教学方法-

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

学习基础和C语言基础调查 ====== 一,技能学习经验体会 要问我有什么技能比大多数人强,这个我还真的不敢说,虽然我在很多方面都有自己的一些了解,比如乐器和绘画,但也都是一知半解,并没有在某一方面出类拔萃,自己虽然在某些方面强于一些人,但毕竟只是小有发展,更别说什么90%了,对于这个问题我想我们每个人都是没有勇气也没有资格说出来的,毕竟人外有人,因为这个问题和90%的条件确实没什么意义,所以我就随便说说我比部分人强的地方,在一些兴趣爱好和特长方面我认为唯一能拿得出手的就是萨克斯,虽然才学了两三

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

20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通,但已比大多数人更加熟练这项技能.对于弹钢琴最重要的就是需要反复的练习和有持之以恒的毅力.最开始练习弹钢琴时是非常枯燥无味的,因为练习的曲目是最基本最简单的音符,并不能一开始就练习你喜欢的曲目.只有通过不断的练习抬指和固定手型,才能拥有扎实的基本功,进而能在日后练习难度更大的曲目时得心应手.这和娄老

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

20165235 学习基础和C语言基础调查 首先第一个问题:你有什么技能比大多人(超过90%以上)更好?感觉很难回答这种问题,其实我对很多东西挺感兴趣的,如果非要拿出一种比较突出的技能的话我感觉就是象棋和书法.不敢说比大多数人更好,但是在业余爱好者中间相对来说还是不错. 针对这个技能的获取你有什么成功的经验?若想获取这种技能首先最重要的是对这种技能的兴趣,因为兴趣是人最好的老师.因为我对象棋书法的热爱导致我想去学习.其次是坚持,若想真正的掌握一门技能就得去坚持练习,不断的增进自己的技能. 对于第

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

学习基础和C语言基础调查 做中学体会 阅读做中学之后,了解老师关于五笔练习.减肥.乒乓和背单词的经历,不禁联想到自己学古筝的经历. 成功的经验 兴趣 我其实小时候学过一段时间古筝,但是那时候是因为父母的要求,自己并不喜欢,后来就终止了.直到再过了几年自己对于古筝产生了兴趣,主动要求重新学习古筝,一直坚持到了最后. 专注 说来惭愧,我练琴从来不是定时定量的,而是根据心情和专注程度来,对于我来说,心不在焉的练习两个小时的效率没有专注练习半小时高.状态不好时当天我会放弃练习,状态好的时候连续练习几个小

20165318 预备作业二 学习基础和C语言基础调查

20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法---做教练与做中学>中的标准:一项技能的掌握程度分为:新手/高级初学者/合格者/精通/专家.我认为自己尚且只达到合格者的程度,并不能说自己的水平凌驾于大多数人之上. 从4岁学到14岁,这些年的学习,还是带给我很多启发,要学好一项技能,要具备以下几点: 兴趣:兴趣是最好的老师.我小时候就对舞蹈很有兴趣,看

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

学习基础和C语言基础调查 一.一种比大多数人(超过90%以上)更好的技能 说句实话,我还没有那种特别特别自信的.说我能拿得出手的.所谓能超过百分之九十以上的人的技能.毕竟人外有人,天外有天. 姑且算上象棋吧,能下的过一些人,碰上一些每天都在下的那种老爷爷可能还是不太招架得过来. 至于说我所积累的经验,总结一下,大量的实战经验和灵活的思维模式. 首先说这头一点吧,实战经验就是大量的练习.有的人下棋就喜欢背棋谱,不过我觉得纸上得来终觉浅,或者说,我觉得真刀真枪地干上一局比背棋谱进步得快.其实....

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

学习基础和C语言基础调查 一.技能学习与特长 你有什么技能比大多人(超过90%以上)更好? 我的爱好和技能说实话挺广泛的.如果要挑出来一个很擅长的话,我觉得应该是钢琴. 针对这个技能的获取你有什么成功的经验? 首先有一定的兴趣和追求,这个能让我产生继续下去的动力和勇气,也是我不断练习的原因. 其次就是要有耐心,只有不停的练习和思考,能力才会提升,技能才会变得娴熟. 最后就是坚持,学习过程中有很多瓶颈,只有坚持下去,才会到达成功的彼岸,最终在人群中脱颖而出. 与老师博客中的学习经验有什么共通之处?

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

20165323 学习基础和C语言基础调查 一.技能学习心得 1.你有什么技能比大多人更好? 我觉得我羽毛球打的还行,不能说打得比大多数人好,但是对于一些打羽毛球的要领还是掌握的. 2.针对这个技能的获取你有什么成功的经验? 想要打好羽毛球,首先你得建立起对它的兴趣.你对打羽毛球这件事产生了兴趣,你才能够更加投入地去练习它,这样子你的效率才高.如果你对这件事没有兴趣,那么你对于这件事的态度或许只是在应付而已,这样子就不会有任何的意义,也很难提升自己的水平.其次,便是坚持.常言道:"宝剑锋从磨砺出

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

20165210 学习基础和C语言基础调查 一.技能学习过程和心得 读了娄老师<做中学>自己还是深有感受的,对于运动.音乐.棋牌都会一点,我觉得做中学可以概括为三点:做,学,学做结合,所谓的做就是实践,反复的去练习,而学就是学习,但这不是单纯的学习,而是在学习中思考,最后的学做是把思考的东西和学习的东西运用到实践上. 在我小学的时候,我曾经学过一段时间的二胡,但是"超过90%以上"的人那应该是没有,但是学习的过程和心得想和大家分享一下,因为我的母亲特别喜爱民族乐器,所以我也