zoukankan      html  css  js  c++  java
  • 2017年寒假作业(一)

    在人生技能道路上,你有没有专长的高超技能获取的成功经验?(学习,棋类,球类,乐器,艺术,游戏,......)

    你有什么技能比大多人(超过70%以上)更好?针对这个技能的获取你有什么成功的经验?

    前言

    看到这个问题,我仔细想了想,大学之前学习占据了我能利用的大多数时间,就算是寒暑假我也被老师和父母赶着去上补习班。但是在此期间我仍然学习了很多东西,我学了游泳(因为一些原因中途放弃了)、足球、篮球、滑板、轮滑鞋等等,其中滑板稍微好一点,可能达不到超过百分之七十,但是我学习滑板过程中感触颇深,在这个过程中,我一次次的失败,身体虽然疼痛,但我能感受到一点一滴的进步,离成功越来越近。

    过程

    刚开始,我在电视上看到别人玩滑板,穿梭自由,来去如风,真的是非常羡慕,所以我求我爸帮我买了滑板。学习滑板那段时间,我每天都抽空学习,每次大概半小时。当然,为了能达到电视上那种效果,我上网查找了一些小视频,从最简单的直行开始学,失败最多的也是这个技能,我每失败一次,都会停下来用手拨弄研究怎么保持平衡,怎样加减速。就这样经过了好多次的摔跤之后,我终于可以顺利直行了,之后我又用这种方法学了各种各样的滑板技能。

    心得

    • 初学者都有一种畏惧心理,害怕摔跤,因为直直地后仰摔下去真的很疼,要想学会滑板必须克服这种心理并且想办法避免这样摔。
    • 其次,学习不能盲目,在失败一次后要停下来总结研究并在脑中预演一下,防止下次再次出现同样错误。
    • 最后,学会简单的之后要想更难的技能进发,万事开头难,可是能坚持下去更难,不断学习新的技能才能和他人拉开距离,变得优秀。

    有关C语言学习的调查

    你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?目前为止估算自己写过多少行C代码?理解的情况如何?

    在进入福州大学学习计算机之前,我对计算机一窍不通,因为我们那之前没有开设任何和电脑的课程。在学习c语言时,老师告诉我们这门课程是件非常重要,所以我在平常的学习中非常注重实践,课本上的一些代码,我并不满足于看看能理解,我是理解之后合上课本自己在电脑上运行一下,在这个过程中我发现问题,然后思考翻看课本比较不同,这种学习方式培养了是我对一些细节很敏感,能够及时发现一些语法问题。
    学习c语言我发现我总是比周围的同学慢半拍,但是我认为我花费的时间并不比他们少,刚开始一遇到问题就向周围同学,学长,老师请教,甚至要他们的代码参考理解,不久后的期中考给了我沉重一击,让我发现这种方式的弊端,这种方式远远没有我自己查阅资料看课本印象来得深,自己的独立思考能力也在弱化。之后我改善了学习方式,期末考试险险过线,但比期中有了进步。
    目前为止,不算课本上的,我大概写了1500行代码,全部能够理解,但还不够深刻,不能进一步优化,在平常做练习题时,我发现很多同学的方法真是巧妙易行,我的程序代码大都很麻烦不易读,所以,在今后的学习中。我要更注重优化算法。

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

    • 数组指针:指向数组的指针。
    • 指针数组:元素均为指针类型数据的数组。
    • 函数指针:存储空间的起始地址。
    • 指针函数:返回类型为指针的函数。

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

    我没有听说过文件和流的概念,以下是我从网上收集来的内容。

    文件(File)和流(Stream)的区别和联系

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

    文本文件和二进制文件的区别

    • 文本文件和二进制文件的定义
      • 文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。
      • 二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码。
    • 文本文件与二进制文件的存取
      • 文本文件的存储与其读取基本上是个逆过程。而二进制文件的存取显然与文本文件的存取差不多,只是编/解码方式不同而已。
    • 文本文件与二进制文件的优缺点

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

    “面向过程”是一种以过程为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
    面向过程其实是最为实际的一种思考方式,就是算面向对象的方法也是含有面向过程的思想.可以说面向过程是一种基础的方法.它考虑的是实际的实现.一般的面向过程是从上往下步步求精.所以面向过程最重要的是模块化的思想方法.对比面向对象,面向对象的方法主要是把事物给对象化,对象包括属性与行为.当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按着模块与函数的方法可以很好的组织。

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

    在课本中,我们学到了用函数实现模块化程序设计这一章,在设计一个较大的程序时,往往把它分为热若干个程序模块,每一个模块包括一个或多个函数,每个函数实现一个特定的功能,一个c程序可由一个主函数和若干个其他函数构成,有主函数调用其他函数,其它函数也可以相互调用,目前我还没有写过多个源文件的程序。

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

    • 基本解释
      高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
      • 高内聚
        内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
      • 低耦合
        耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。) 对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。

    学过了C语言,你如何把数组A的内容复制到数组B中?

    #include<stdio.h>
    int main()
    #define n 10
    {
    	int a[n],b[n],i;
    	for(i=0;i<n;i++)
    	{
    		scanf("%d",&a[i]);
    		b[i]=a[i];
    		printf("%d ",b[i]);
    	}
    	return(0);
    
    #include<stdio.h>
    #include<string.h>
    #define N 10
    int main()
    {
        char a[N],b[N];
        gets(a);
        strcpy(b,a);
        puts(b);
        return 0;
    }
    

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

    #include<stdio.h>
    #define n 10
    int main()
    {
    	int a[n],i,r=0;
    	for(i=0;i<n;i++)
    	{
    		scanf("%d",&a[i]);
    	}
    	for(i=0;i<n;i++)
    		if(a[i]==5)r=1;
    	if(r==1)printf("Yes");
    	else printf("No");
    	return(0);
    }
    

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

    • 从小到大
    #include<stdio.h>
    #define n 10
    int main()
    {
    	int a[n],i,j,t;
    	for(i=0;i<n;i++)
    	{
    		scanf("%d",&a[i]);
    	}
    	for(i=0;i<n;i++)
    	for(j=0;j<n-i;j++)
    	{
    		if(a[j]>a[j+1])
    		{
    			t=a[j];
    			a[j]=a[j+1];
    			a[j+1]=t;
    		}
    	}
    	for(i=0;i<n;i++)
    		printf("%d",a[i]);
    	return(0);
    }
    
    • 从大到小
    #include<stdio.h>
    #define n 10
    int main()
    {
    	int a[n],i,j,t;
    	for(i=0;i<n;i++)
    	{
    		scanf("%d",&a[i]);
    	}
    	for(i=0;i<n;i++)
    	for(j=0;j<n-i;j++)
    	{
    		if(a[j]<a[j+1])
    		{
    			t=a[j];
    			a[j]=a[j+1];
    			a[j+1]=t;
    		}
    	}
    	for(i=0;i<n;i++)
    		printf("%d",a[i]);
    	return(0);
    }
    

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

    这个正在研究。。。

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

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

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

    对于《面向对象程序设计》这门课程,我打算改变一下学习方法,注重思考,注重实践,最好能达到遇到问题能够分解开来,逐一击破,不出现没有思路的情况。我基础薄弱,还是以能够跟上老师的进度,按时保质保量的完成作业为目标。对于计算机思维这一方面,我觉得还是需要积累,按时刷题,理解透彻,在实践中培养。将自己的程序与其他同学比较,最好能找到最优算法。

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

    我觉得我的写作能力有所欠缺,不能达到提笔就写的程度,开口能说这方面就更加欠缺,要提高这些能力,还是要多看书,多思考,培养自己的思维能力,以便在写和说时能够快速理清思维。

  • 相关阅读:
    587 模块化开发 CommonJS规范:exports,module.exports,require细节,模块加载顺序,AMD和CMD规范
    img标签到底是行内元素还是块级元素
    File、Blob、dataURL 和 canvas 的应用与转换
    正则表达式
    什么是AVIF?如何在你的网站上使用AV1格式图像
    前端性能优化之图片懒加载
    padding-top的百分比值参考对象竟是父级元素的宽度
    自动增长Textareas的最干净技巧
    用纯css模拟下雪的效果
    了解CSS基本用法和选择器知识
  • 原文地址:https://www.cnblogs.com/52wu244/p/6288288.html
Copyright © 2011-2022 走看看