• 第二次预备作业 20155325


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

    绘画

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

    • 欣赏它
      不论是在创作的过程中还是结束创作欣赏作品的时候,都能感受到绘画的美感。颜色、线条、构图、意境……浓淡之间,点滴之别,不论是写意还是工笔,都能给人很大的想象空间,而想象,总是能创造美好的灵感。
    • 喜爱它
      兴趣总是最好的导师,当喜爱它的时候,就不会感受到漫长练习时间的痛苦,会更加积极地寻找让它变得更可爱的方法。
    • 塑造它
      我在画画的时候,非常追求细节和完美,可以说每一幅完成稿都尽了我当时的最大能力,所以我每次画完画都被自己折磨得心力交瘁,不过,还是很喜欢它啊(摊手)

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

    • 需要思考
      绘画不是单纯的线条变化和色彩填涂。怎样去运笔?用什么样的纸张?怎样的擦拭程度能够达到什么样的绘图效果?笔的吸水量和它的材料有关,纸张同样是能够赋予绘画不同生命力的基调。
      行为背后的原理,支撑工具的理论-都是在学习过程中需要思考并熟识的。
    • 技能分层
      毋庸置疑,“新手/高级初学者/合格者/精通/专家”也是适用于绘画。
    • 质变引起量变
      Practise makes perfect!
    • 刻意训练弱项
      当你为别人画的人物惟妙惟肖而感叹的时候,不能因为为此需要练习的骨骼肌肉的难度而望洋兴叹,止步不前,空空遗恨。
      所以,当我学习java遇到薄弱之处的时候,不能避之不练。反而应该“哪里痛,就往哪里按。”
    • 反馈
      往往很尴尬的事情就是,当我完成到某一层的时候,我总觉得哪里不对劲,可又说不上来,这个时候,就需要懂行的人的指导,如果能有更专业的指导,或许就此我的水平会得到质的飞跃。

    C语言

    你是怎么学习C语言的?与你的高超技能相比,C语言的学习有什么经验和教训?

    • 上课认真听课,好好完成作业,总结笔记,和小伙伴交流学习。
    • 经验:好好听课。在基本语法学会之后,更应注重对自己逻辑思维的培养。
      另外,单步调试很重要!
    • 教训:其实说实话,当时在学习的时候对C语言的时候单纯把它当做考试项目对待。才学C语言的时候我连“在控制面板彻底删除程序”都不会(一丝苦笑),英语底子也不怎么好,一看见未知的软件和满篇英文就内心抗拒。回过头来剖析自己,其实是因为胆怯、不够有信心导致的潜意识抗拒。所以我当时给自己的目标定得并不高,也没有做额外的练习。
      所以在今后的学习中我应该静下心来好好直面自己的短板,同时尽量让自己的学习变得有趣一些。

    目前为止估算自己写过多少行C代码?理解的情况如何?

    我已经下了git,并且正在努力学习它……
    我的代码数排在大家的中间吧,或许。
    链表、文件

    你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?

    数组指针是指向数组地址的指针,其本质为指针。可断句为:数组(修饰语) 指针(本体)
    指针数组是数组元素为指针的数组(例如 int *p[3],定义了p[0],p[1],p[2]三个指针),其本质为数组。可断句为:指针(修饰语) 数组(本体)
    函数指针是指向函数的指针变量。本体是指针
    指针函数,指针函数是指带指针的函数。本体是一个函数。

    虽然“本体”是我自己不准确的用法,但是这个词大概是我的一个记忆标记,让我迅速回忆起某些内容,也不知道自己是什么脑回路,摊手。(哎呀,别打我)我是为了以后自己看博客时能够回忆起某些知识。。。

    学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?

    • 文件和流

    文件

    是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。
    存储介质:文件是指在各种存储介质上(如硬盘、可移动磁盘、CD等)永久存储的数据的有序集合,它是进行数据读写操作的基本对象。
    特性:每个文件都有文件名、文件所在路径、创建时间及访问仅限等属性。
    是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。
    存储介质:除了和磁盘文件直接相关的文件流以外,流还有多种类型。流可以分布在网络中、内存中或者是磁带中。摘自http://blog.csdn.net/ghevinn/article/details/8525818

    • 区别文本文件和二进制文件:二进制文件中,数据以二进制形式储存,文本文件中数据的每一位数字作为一个字符以其ASCII码形式储存。——定义来自《C语言程序设计(第3版)》

    • 用fopen()打开文件,方式为:"r"、"w"、"a"、"+"、"b",用fopen()关闭文件。 读写方式:按字符和按格式。

    FILE *fp;
    省略
    if((fp = fopen("demo.bin","wb"))=NULL/*以二进制写方式打开文件*/
    

    你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?

    虽然我对于面向过程程序设计这一名词并不熟悉,但是实际上已经在运用这种思维进行编程了。
    把运算过程分成一个个步骤,一块块完成。为了使流程更明了或者有重复使用的运算,常常会编写自编函数使用。

    在C语言里面,什么是模块?你写过多个源文件的程序吗?

    • 模块,又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合(即程序代码和数据结构的集合体)。
    • 没写过多个源文件的程序

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

    比如写一个自编函数,尽量使它在不依赖别的函数的情况下独立完成某一个功能。比如我要编写一个求最大公因数的函数A,我没有必要先调用一个求是否互素的自编函数B(如果互素直接返回1)。因为如果B或者两者之间的调用出了问题,则A就无法正常使用,而且如果要移植A则还要连B也一起打包带走,则显得有些笨重。

    你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。

    #include <stdio.h>
    #include <stdlib.h>
    #define QWE 5
    int main()
    {
        int i,a[QWE]={2,4,1,7,5},b[QWE],p = 5,flag = 1,t,j;/*若想使程序不局限于查找5,
        在后面用输入p的值改变所想查找的数*/
        char paixu;
    //  int n;
    //  printf("请输入数组A大小n:");
    //  scanf("%d,&n);
    //  while(n>QWE)//防溢出
    //{
    //    printf("数组A的容量为%d,n>数组A的容量,请重新输入n",QWE);
    //    scanf("%d",&n);
    //}
    //  printf("请输入a[]:");
        for(i=0;i<QWE;i++)
        {
    //        scanf("%d",a[i]);
            b[i]=a[i];/*如果a[]的值想靠人工赋值,则把之前的作为注释的语句去掉"//",
            并把for语句的QWE改为n*/
        }//完成把数组A的内容复制到数组B中
    //    printf("请输入您想在数组A查找的数:");
        for(i=0;i<QWE;i++)
        {
            if(a[i]==p)
            {
                printf("数组A里有%d
    ",p);
                flag = 0;
                break;
            }
        }
        if(flag)
        {
            printf("数组A里没有%d",p);
        }//查找结束
        for(i=0;i<QWE-1;i++)
        {
            for(j=i+1;j<QWE;j++)
            {
            if(a[i]>a[j])//该排列是从小到大的冒泡排序,如果要从大到小则把">"换成"<"
            {
                t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
            }
        }//排序完成
        printf("数组B:
    ");
        for(i=0;i<QWE;i++)
        {
            printf(" %d ",b[i]);
        }
            printf("
    数组A:
    ");
        for(i=0;i<QWE;i++)
        {
            printf(" %d ",a[i]);
        }
    }
    
    

    结果如下图

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

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
        FILE *fp;
        char name[20];
        char l;
        int n = 0;
        printf("您想打开什么文件呢?");
        scanf("%s",name);
        if((fp=fopen("name","r"))==NULL)
        {
            printf("Failure to open it,bye~");
            exit(0);
        }
        while((l = fgetc(fp)) != EOF)
        {
            if(l=='
    ')
            {
                n = n+1;
            }
        }
        printf("一共%d行代码",l);
        fclose(fp);
        return 0;
    }
    
    

    你知道什么是断点吗?给出自己调试程序的例子。

    拿上面那个程序举例,我并未用printf打出我的数组A。在将数组A的值赋给B之后,为了检测是否成功,进行了单步调试如下图

    对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?

    目标:更高的要求,更多的自学,更熟练地掌握。
    方式:寒假回去自己初步了解Java;开学后结合课程加强对薄弱环节的练习;认真听课;刻意训练时由一个程序展开更丰富的联想然后编写出更多的功能;加大练习量;和同学相互交流;实在弄不明白的就去请教老师。

    毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?

    我觉得我的写作能力很一般。
    方法:加大阅读量,从尝试模仿相应的文体写起,寒假练字的时候抄一抄古文。遇见很喜欢的书的话我大概会有灵感想一大堆字,放假时就不抑制自己了,把它写下来吧。

  • 相关阅读:
    洛谷 P1430 序列取数
    洛谷 P2042 维护数列
    洛谷 P3391 【模板】文艺平衡树(Splay)
    Permutation UVA
    treap板子(洛谷 P3369 【模板】普通平衡树(Treap/SBT))
    Jumping Jack CodeForces
    Increasing Sequence CodeForces
    Cunning Gena CodeForces
    Hie with the Pie POJ
    ACboy needs your help HDU
  • 原文地址:https://www.cnblogs.com/GDDFZ/p/6194964.html
Copyright © 2020-2023  润新知