zoukankan      html  css  js  c++  java
  • 技能获取与编程学习 卢梓杰20155222

    技能获取与语言学习

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

      我觉得足球算是我的技能中比较突出的一项,虽然算不上有多好,但是在进入大学,经过一年多的训练之后,我还是有一些自己的体会。

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

      首先兴趣当然是很重要的,除了谋生的技能,我们学习任何东西的动力都来源于兴趣(或者是女朋友的兴趣),足球也是这样,否则我为什么要在酷暑烈日之下,严冬的寒风之中奔跑,难道待在空调房里或者暖气房里不舒服么。兴趣也是让我们坚持的理由,每当在训练中累得喘不过气,腿软的想跪下,为什么还要坚持,当然是因为我热爱它。

      其次,还要有大量的基础训练。我们训练的大部分时间都在进行停传带射的基本训练,没有大量的基础训练,就不能有好的球感和快速的反应,也就谈不上进步。

      另外,我认为观看顶级的足球比赛也是十分重要的,以前我从来不看球赛,导致我在场上常常不知道要干什么,拿到球不知如何处理。最近,我观看了一些比赛或者视频,给了我很多灵感,当然这些都需要经过实践,才能变成真正的技能。

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

      实践要具备一定的量才能引起质变:
      学乒乓球,没有10万次的练习掌握不了一个动作
      学好编程?没有10000行代码的训练量是不够的

      我十分认同这个观点,我也意识到了我对于技能的练习还远远不够。

    • 有关C语言学习的调查

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

        学习c语言首先当然是上课听讲,不过由于我上课经常开小差,所以经常没跟上老师讲的内容。所以我基本是经过做练习学习的c语言,遇到没学过(上课没听到)的地方就翻书,再没有就百度,通过这样的方式,我才渐渐熟悉了c语言的语法。所以我认为编程和踢球一样,都需要大量的练习。但是还有一些不足的地方。首先我对于编程的兴趣还不是很浓厚,导致我只有在编程有疑问的时候才会去主动获取知识,并且在遇到问题很久都不能解决的时候,我也会放弃。另外,我在c语言的学习上喜欢闭门造车,不喜欢跟同学跟老师交流,导致我一直没什么进步。

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

        目前为止大概编过几千行代码,由于大多数都是简单的程序,所以基本都能理解。有的地方套用了课本上的方法,可能还不是完全理解,比如说某些排序方法,当然如果花时间去看应该还是能理解的,但是我并没有,因为我比较懒。

      • 学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?

        数组指针:一个指向数组的指针
        指针数组:一个数组,里面的每个元素都是指针
        函数指针:一个指向函数的指针
        指针函数:一个函数,返回值类型是指针

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

        文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。文件是指在各种存储介质上(如硬盘、可移动磁盘、CD等)永久存储的数据的有序集合,它是进行数据读写操作的基本对象。每个文件都有文件名、文件所在路径、创建时间及访问仅限等属性。然而,文件(File)和流(Stream)是既有区别又有联系的两个概念。流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。除了和磁盘文件直接相关的文件流以外,流还有多种类型。

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

      面向过程”是一种以过程为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

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

        一个.c文件就是一个模块。由于编过的程序都是小程序,所以没写过多个源文件的程序。

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

      内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系;
      耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

      要做到高内聚低耦合,重点并不是代码的编写,而是整体程序的设计阶段。程序设计时,要先将要实现的功能列出来,然后设计模块。模块设计后,再进行代码实现。
      要做到高内聚低耦合,设计模块时需要做到:
      1 各个模块之间的功能必须明确;
      2 各个功能模块间实现的功能不可以有交叉;
      3 不允许出现模块间的相互调用;
      4 如果必须出现模块间调用,那么只允许单向调用,即A可以调用B,B不可以调用A。

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

       #include <stdio.h>	    
     #include <stdlib.h>	     
     #include <string.h>	       
    int main()	
    	{
    			char a[100],b[100];
    			printf("输入数组a
    ");
    			gets(a);
    			printf("输入数组b
    ");
    			gets(b);
    			strcat(b,a);
    		} 
    

    		#include <stdio.h>
    		#include <stdlib.h>
    		int main()
    		{
    			char a[100];
    			int i;
    			printf("输入数组a
    ");
    			gets(a);
    			for(i=0;a[i]!='';i++)
    				if(a[i]=='5')
    			{
    				printf("已找到5");
    				exit(0);
    			}
    			printf("未找到5");
    		}
    

    			 #include <stdio.h>
    			  #include <stdlib.h>
    			  #include <string.h>
    					int read(int a[])
    					{
    						int i;
    						for(i=0;;i++)
    							{
    								scanf("%d",&a[i]);
    								if(a[i]==0)
    									break;
    							}
    						return i;
    					}
    					choose(int i,int j,char ch)
    					{
    						if(ch=='<' && i>j)
    							return 1;
    						if(ch=='>' && i<j)
    							return 1;
    						return 0;
    					}
    					sort(int a[],int n,int ch)
    					{
    						int i,j,temp;
    						for(i=0;i<n-1;i++)
    							for(j=i+1;j<n;j++)
    						{
    							if(choose(a[i],a[j],ch)==1)
    							{
    								temp=a[i];
    								a[i]=a[j];
    								a[j]=temp;
    							}
    						}
    					}
    					print(int a[],int n)
    					{
    						int i;
    						for(i=0;i<n;i++)
    						printf("%d ",a[i]);
    					}
    					int main()
    					{
    						int a[100];
    						int i,j,n,temp;
    						char ch;
    						printf("输入数组a,输入0结束输入
    ");
    						n=read(a);
    						printf("选择从小到大还是从大到小(</>)
    ");
    						scanf(" %c",&ch);
    						sort(a,n,ch);
    						print(a,n);
    					}
    

    • 写一个程序,统计自己C语言共写了多少行代码。
    		#include<io.h>
    		#include<string.h>
    		#include<stdio.h>
    
    int main()
    
    {
    char ch;
    int count=0;
    long Handle;
    struct _finddata_t FileInfo;
    if((Handle=_findfirst("C:\Users\luzijie\Desktop\c练习\*.c",&FileInfo))==-1L)
    printf("没有找到文件
    ");
    else
    
    do{
    
    FILE *fp;
    char F_PATH[]="C:\Users\luzijie\Desktop\c练习\";
    strcat(F_PATH,FileInfo.name);
        if((fp=fopen(F_PATH,"r"))==NULL)
        {
            printf("error");
            exit(0);
        }
        while((ch=fgetc(fp))!=EOF)
            {
                if(ch=='
    ')
                    count++;
            }
        fclose(fp);
    
    
    }while( _findnext(Handle,&FileInfo)==0 );
        _findclose( Handle );
    
    printf("%d",count);
    
    return 0;
    
    }
    

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

      在某行代码处设置断点后,调试程序时,程序运行到该行代码时会自动停止。然后你就可以在这进行逐步调试了!其作用就是深入代码,查找代码内部缺陷。

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

      上课认真听讲,作业认真完成,完成五千行代码的任务。

      技能的提升要「刻意训练」
      低水平重复是不行的,训练时间再长都没用
      要循序渐进,不能进入「恐慌区」

      看了老师“走出舒适区”的建议,我深以为然。在大一学习c语言时,就是一直待在舒适区中,而对于不熟悉的指针、结构体、文件,常常是能避则避,导致在薄弱的方面一直没有进步。这次老师让编写一个统计代码行数的程序,让我走出舒适区,重新学习文件和指针的有关知识,虽然费了不少功夫,但感觉获益良多。可惜最终还是只能扫描一个文件夹里的文件,没有实现对整个磁盘进行扫描。

      另外,我认为多读优秀代码也是很重要的,高手的几行代码可能能顶我的几十行代码。要看到差距,才能促使进步。要先通过模仿,才能自己进行创新。

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

      我的写作能力是比较糟糕的,尤其是一些空话、套话,完全写不来。我认为首先应该丰富自己的思想,努力学习马克思主义这样的世界观和方法论,为写作提供素材。另外,也应该珍惜平常不多的写作机会,磨练自己的写作能力。

  • 相关阅读:
    线性代数回顾+深化(未完成版)
    HIT OS2020 Spring Lab2
    选择
    工业互联网
    leetcode-200 岛屿数量
    记网易面试题<二>
    记网易面试题《一》
    leetecode-14-最长公共子串-简单
    leetcode-1012 至少有1位重复的数字
    协程
  • 原文地址:https://www.cnblogs.com/20155222lzj/p/6192717.html
Copyright © 2011-2022 走看看