zoukankan      html  css  js  c++  java
  • 20155201 预备作业02

    你有什么技能比大多人(超过90%以上)更好?针对这个技能的获取你有什么成功的经验?与老师博客中的学习经验有什么共通之处?

    说来惭愧,技能是有,但是现在没有办法做到超过90%的人;可能小时候都会被父母拉去各种兴趣班的学习,我那时候学过舞蹈、电子琴、架子鼓、画画、书法,也许在学习的时候有超过90%的人的可能,但是现在相比专业水平还是差的很远。然而技能之所以称之为技能,是因为在学会之后,变成自己的所有物,甚至是附加属性,好比现在写字虽然不如当时写出来的字规矩,但肯定要比没有学习过的字要好看的多;再比如说器乐的学习使我的节奏感更强等等,虽然做不到90%,但我可以保证绝对不是0%;

    阅读老师的博客,一句话“任何的学习都是在增强人的可控能力。”引起了我的共鸣,所有学习都是有效果的,绝不会是无用的0%;在初中的时候,我也学习过乒乓球,那时候家长听说练乒乓球对小孩子视力有帮助,所以送我去学,然而学了不到一年因为搬家没有再继续下去。到了这学期体育选修,我几乎是看到乒乓球毫不犹豫的选择了它,一是想要看看曾经的技巧还剩多少,二是想要继续加强一下,一个学期过去,感谢老师的悉心指导,重拾了部分技巧。看到娄老师的乒乓球成果我很震撼,也许每天的任务量不大,日积月累后所展现的效果和成就却是显著的,在此对老师的毅力决心表示敬佩,努力向老师看齐。

    有关C语言学习的调查

    • 你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?

    上学期教我们C语言的老师是徐小青老师,她上课的风格给我留下很深的印象,在课堂上总是情绪高涨,在她的课上我好像没有困过。徐老师对我们的要求课后每天练习5-10题以保证知识技巧的熟练,也相当于复习每次课的新知识。除此之外,把每次上机实验设置为小测验计分的形式,让我们更重视上机实际操作。另外,教材中也有很多算法的基础实例,通过对教材的研究也能够获取新的知识。一学期的C语言学习给我留下的不仅仅是以后课程的知识储备,还留给我了良好的学习习惯——课后及时复习总结、检验复习成果。这样的学习习惯一旦养成一定会提升后续的课程学习的效率。

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

    简单估算一下,简单程序每个10行,复杂程序每个算70行,大概写过的程序有6000行左右,其中参考题库的程序不多,基本可以保证都是自己的思路,所以理解程度我给自己打90分。

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

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

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

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

    #include <stdio.h>
    void main()
    {
        int a[10];
        int i,j,t;
        printf("Input 10 numbers:
    ");
        for(j=0; j<10; j++)
            scanf("%d",&a[j]);
        printf("
    ");
        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
    ",a[j]);
        printf("
    ");
    }
    
    • 写一个程序,统计自己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 == '
    ') ++lines;
        }
       fclose(fp);
       printf("%s 的行数为 %d
    ",filename,lines);
       printf("Input filename:");
       }
    
    }
    
    • 你知道什么是断点吗?给出自己调试程序的例子.

    断点:程序中断终止的地方。在某行代码处设置断点后,调试程序时,程序运行到该行代码时会中断,方便逐步调试;能够起到深入代码,查找代码内部缺陷的作用。
    当程序中使用较多的for循环时,我更倾向于选择设置断点、运行程序检验是否有数组溢出等等的错误。
    

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

    相比C语言的学习,我希望在下学期Java的学习后能够拿出一个很好的作品以证明我的学习成果。我认为程序设计能力和计算思维都不是一朝一夕可以提升的,需要日复一日的练习和思考才能取得进步。下学期一定努力跟上老师的进度,加强课后练习以实现做中学。

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

    大数据时代,我们获取写作材料更多都是通过互联网渠道,能够静下心来写出脑海中的思想的机会变得越来越少,但是“提笔能写”的能力又是当代社会所需人才必须具备的能力,因此,即使网上的资料丰富,我们还是需要锻炼我们的公文写作能力。我的写作能力不是很强,很多时候词不达意,或者写出的文字啰唆反复。如果以后碰到写材料的时候我会尽力摆脱网络,更多的写出自己的真实想法和思路。

  • 相关阅读:
    NanUI文档
    NanUI文档
    NanUI文档
    开源组件NanUI一周年
    NanUI文档
    NanUI 0.4.4发布
    【开源】做了一个WinForm窗体的投影组件,能够为窗口添加影子效果
    NanUI for Winform 使用示例【第二集】——做一个所见即所得的Markdown编辑器
    NanUI for Winform 使用示例【第一集】——山寨个代码编辑器
    非常简洁简单的tcp socket库 XKSocket
  • 原文地址:https://www.cnblogs.com/zhuohua/p/6195478.html
Copyright © 2011-2022 走看看