我的寒假,我的随笔!

前言

2017的寒假,刚刚上完大学第一个学期的我,虽然学了C语言,但觉得自己还是个计算机小白,发现更多自己不懂的东西,也发现别人比我懂得更多东西。也知道了自己需要学习的东西还有很多,同时自己对计算机也有了更多的期待。希望自己能够知道更多,希望自己能够变得更强大。博客是我第一次使用,这个markdown格式也是第一次使用。我觉得如果我没有读这专业,可能会一辈子都不会知道有这种软件。当然第一次使用可能有做的不好的地方。不过我还是相信自己能做得很棒的。

在人生技能道路上,你有没有专长的高超技能获取的成功经验?

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

刚刚开始看到这个作业,看到这个什么人生技能道路上的高超技能,我有种想放弃这个作业的冲动。因为这个东西我觉得自己并没有。然后借着这个借口偷懒了好几天。现在我决定还是来写一写。回顾自己的人生,自己的学习并不是非常好,在福州大学比我优秀的人满地都是,更不用说跟985高校的学生比了。虽然我们的高数老师张慧英老师经常跟我们说“能读福州大学的孩子智商都是很高的,高数会不及格都是不想学习”我觉得是有一定的道理的。既然能在省内排名那么靠前了。肯定是有一定的天分的,虽然比不上那些清华北大的孩子。
我偷懒的几天我有想了一些东西,想一些自己比较优秀的东西。到现在我觉得自己最优秀的就是坚持了吧。但是我也不确定是不是能超过70%。高三那年,曾经坚持每天跑步,最开始是每天跑两圈,再三圈,五圈,到最后的十圈。中间又偷懒休息过几次。不过整整一年,当然除去寒假了,我的身体素质进步是很明显的。我从以前那个跑1000米,只能靠师生情来通过的渣渣,变成了一个1000米随意跑都能满分的大佬。或者说体育也是我的一项强项,不过这也只是对于业余的人来说了,还是没办法和那些专业练体育的人比较。就像我姐姐是练体育的,最开始我身体素质比较差的时候,1000米都跑不过她。现在最多也就和她相差无几吧。毕竟她也很久没有训练了。
第二个坚持的事例还是高中的时候,可能比较喜欢玩,高一的时候并没有多认真学习,水一水而已。到了高二下学期,不知道什么原因,突然觉得自己应该开始学习了。于是突然就静下了心开始学习。发现自己还是有一些天分的。通过高二下学期,一学期的努力,从班级的中等,慢慢过渡到了前茅。但是英语总是拉后腿,我的信心也慢慢消磨殆尽了。后来,我的老爸跟我说不妨试试先背一些单词,我觉得有道理就接受了,最开始一开始是每天100个单词,其中差不多有17或者18个新单词,其他的都是旧单词。慢慢地,得到的第一个小奖励是打卡七天奖励的贝壳,然后打卡一个月,最后还有连续打卡100天。就连猴年春晚的那天我都没忘记背单词。也因此获得了猴年徽章。背单词差不多一个月后,我开始慢慢增加自己背的单词。150个,200个,到后来的每天300个。我一共坚持了118天,未曾断过一天!这件事情可以让我骄傲很久了hhhhhh


这些是我的打卡记录。也因为此,我的英语慢慢得到了提高,其实,我不仅仅只是背单词,老爸跟我说背单词的时候,最开始确实真的只有背单词,后来慢慢开始看一些英语文章,不过很浪费时间,因为都看不太懂。没坚持很久就放弃了,但是选择了另外一个方面——听力。我开始用扇贝来练习听力,效果还是不错的。在这118天里,我的收获或许不是很多,但我觉得很充实。
接下来这些是我的徽章

这些徽章有连续打卡100天的,有猴年春节的,还有圣诞节和光棍节的,还有一个是听力1000句,也不是句子吧,有的是短文。这个听力是要把原句的每个单词打出来,有点难,每次都要听好多遍。不过辛苦还是值得的,在高考的时候,高考的英语成绩是我三年来英语最高的成绩!

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

这个问题呢,我的成功经验啊,上述就有了。不过我觉得真的只要自己愿意去努力,愿意去坚持,肯定会有收获的。
有关C语言学习的调查

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

关于自己怎么学习C语言这个问题。我以前并没有任何基础,计算机小白,害怕开学会赶不上大家的脚步,我在暑假有看了一些视频,关于C语言的视频,自我感觉还不错,前面的东西和老师讲的并不会差很多。但是到了函数指针那些,就开始懵逼了,老师上课讲的我也很迷糊。觉得自己并没有十分理解这些概念,或许可以在寒假多多学习一下。觉得学习C语言最好的方法应该是敲代码了,多敲就会有感觉。然后我觉得应该要多总结,不过我自己不会总结。觉得总结的难度太大,或许是我道行太浅还不会吧。我的敲代码也不多。仅仅是老师布置的作业而已(我有去刷过一些网站上面的题目,不过都是送分题那种,收获不大的样子,然后因为懒惰就没有坚持了。)。我有争取全部都做。但是有一次那个要用递归的全排列我还是不会。同学给我讲过好几次了。还是比较缺少努力。

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

估算啊,这又是一个难题,我对自己写的代码没有什么印象了,但是那些作业加上考试,我觉得我写的代码应该至少也有几百行吧,听着好少的样子、、、、、、、但是我觉得我寒假还是不会怎么写代码,放假就是要好好玩的。不过当然需要适度的学习,我买了一本《C++ Primer Plus》,准备预习一下,看看C++和C语言有什么联系与区别。

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

数组指针:就是一个数组,指针指向数组的地址。
指针数组:就是一个数组,里面的元素是指针。
函数指针:这个我没有很深的印象,所以百度了一下。这个说的是:指向函数的指针,可以用来指向函数的入口地址,从而便可以在程序中使用它来调用它所指向的函数。感觉和数组指针有点类似。
指针函数:(这个我也不明白,觉得自己白学了。。。。)
指针函数其实就是函数返回值为一个指针,一般格式如下:
数据类型 *函数名(形参表)

{

               函数体

}
我觉得这样子会比较好理解。

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

其实学C语言的时候,我看书比较少,一般都是直接上手,不懂得自己想,想不出来会百度一下,如果还是不理解会问一下同学(我舍友就是大佬)。对于这些我不清楚。我继续百度哈。

文件(File)和流(Stream)是既有区别又有联系的两个概念。

 文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。

 存储介质:文件是指在各种存储介质上(如硬盘、可移动磁盘、CD等)永久存储的数据的有序集合,它是进行数据读写操作的基本对象。

 特性:每个文件都有文件名、文件所在路径、创建时间及访问仅限等属性。

 流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。

 存储介质:除了和磁盘文件直接相关的文件流以外,流还有多种类型。流可以分布在网络中、内存中或者是磁带中。

 ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:
 ASC码:  00110101 00110110 00110111 00111000

       ↓     ↓    ↓    ↓
十进制码: 5     6    7    8 共占用4个字节。ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。 由于是按字符显示,因此能读懂文件内容。

   二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示, 但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。 输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。
一个文件可以以文本模式或二进制模式打开,这两种的区别是:在文本模式中回车被当成一个字符'/n',而二进制模式认为它是两个字符0x0D,0x0A;如果在文件中读到0x1B,文本模式会认为这是文件结束符,也就是二进制模型不会对文件进行处理,而文本方式会按一定的方式对数据作相应的转换。
这些内容是我百度的,我看了之后不敢说完全懂了,但是至少我又多知道了一些东西。

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

 面向过程是指考虑如何解决问题。解决方法是算法。

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

 我对这个没有什么概念,但是我猜测应该是函数吧。
 果然和我的猜测差不多,C语言中,各个模块,其实就是函数的合集。没写过多个源文件的程序。

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

不知道,突然觉得自己C语言学得很糟糕,我应该只是学会了如何协议邪恶简单的代码而已。路漫漫其修远兮,吾将上下而求索。hhhhh不知道适不适合在这里用。
“高内聚,低耦合”应该是把一个程序模块化,变得井井有条,不再显得杂乱无章吧。

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

这个很熟悉,内容复制用strcpy函数就可以了;查找数字的话也不难;排序老师也有讲过。

下面是我的程序:

数组A的内容复制到B中:

#include<stdio.h>
#include<string.h>
int main()
{
	char A[100],B[100];             /*这里假设数组长度相等且长度只有100,具体情况再做改变就可以啦,其实A数组要复制到B数组中,有要求B数组长度要不小于A数组的长度*/ 
	scanf ("%s",A);
	scanf ("%s",B);
	strcpy(B,A);
	printf ("%s",B);
	return 0;
}

查找整数数组A中有没有数字5:

#include<stdio.h>
int main()
{
	int a[1000],i,n,t=0;      /*在这里假设数组只有1000的长度,还定义了一个n,这个n的意义是这个数组的长度,可以根据不同题目做出改变。*/ 
	scanf ("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf ("%d",&a[i]);    /*其实在这里就可以作弊的,在这里加个if条件就可以省下后面的程序了,不过仅限于数组是需要输入的,如果是原来就知道的数据就不行了*/
		if (a[i]==5) 
		{
		   t=1;
		   break;
	    }
	}
	if (t==1) printf ("是");
	else printf ("否");
	return 0; 
} 

另外的查找方法如下:

#include<stdio.h>
int main()
{
	/*题目说只要找到5就可以了,并没有说要求说要知道有几个5等等之类的*/
	int a[1000],i,t=0,n;     /*这里继续假设数组的长度和n*/
	scanf ("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf ("%d",&a[i]);
	} 
	for (i=0;i<n;i++)
	{
		if (a[i]==5)
		{
			t=1;
			break;
		}
	}
	if (t==1) printf ("是");
	else printf ("否");
	return 0; 
} 

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

排序,我们有学过过冒泡排序法。
代码如下:

#include<stdio.h>
int main()
{
    int a[10];
    int i,j,t,temp;                //假设就十个数吧 
    for (i=0;i<10;i++)             //输入10个待排序的数
    {
        scanf("%d",&a[i]);
    }
    for (j=1;j<=9;j++)            //j从1到10循环
    {
        t=10-j;                       //t=10-j
        for (i=0;i<t;i++)             //  i从0到t-1循环  比较相邻的元素。如果第一个比第二个大,就交换他们两个
                               
        {
            if (a[i]>a[i+1])           
            {
               temp=a[i];
               a[i]=a[i+1];
               a[i+1]=temp;
            }
        }
    }
    for (i=0;i<=9;i++)           /*输出排序后的数字(这个输出的是从小到大的排序,如果要从大到小只要把循环里面给改了就行了)*/
    {
        printf("%d  ",a[i]);     /*从大到小如下:for (i=9;i>=0;i--) printf ("%d  ",a[i])*/
    }
   return 0;
}

写一个程序,统计自己C语言共写了多少行代码。(将上述多个程序的Github链接附在随笔上,可以在随笔上附上关键而非全部代码)

对这个东西感到绝望,我完全不会,百度了,也看不懂。甚至连原理都是一知半解的。

你知道什么是断点吗?给出自己调试程序的例子。(可以截图贴图说明)

实话实说,我不知道,突然觉得自己计算机白学了。我百度了一下,大概了解了,这是百度的一个例子。
断点,英文名字叫BreakPoint!

意思就是说!你在某行代码处设置断点后,调试程序时,程序运行到该行代码时会自动停止!然后你就可以在这进行逐步调试了!
其作用就是深入代码,查找代码内部缺陷!!
我打开了我的Dev编译器想尝试一下,结果一直闪退,不知道为啥。。。。。

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

回顾了自己所学习的C语言,根本就是一塌糊涂。我觉得目标,不敢说把所有概念都学会,单至少要比C语言做得好,我的目标是掌握百分之八十。平时的作业必须按时完成。还有就是多刷一些题目了。如何刻意训练,我觉得可以把同一个知识点的题目不断重复做,知道变成下意识就能想到,这应该就是达到境界了。learning by doing 这个,需要多多实践,学编程,不是只要看书就行的。更需要动手去操作。

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

自己的写作能力,这是我的一个短板,从小到大,从来都是理科好,文科差,可能我看的书比较少。但是我有参加过一个公文写作的讲座,我有学到一些东西。其实公文可以训练的,开口能说,注重的是个人的交际能力,我觉得我的交际能力还是不错的,至少我当上班长应该是有交际能力的一份功劳的。

后记

这篇文章写得还是挺久的,第一次写,也不知道好不好,但是我觉得不是很好,自我感觉很差。以后会经常写一写吧,这也是对自己的一个总结,对自己的一个认识,不然当自己骄傲的时候都不知道自己的愚蠢,当自己沮丧的时候,也可以让自己重拾信心。我的处女作,哈哈哈哈,从头到尾看了一遍,有点逗比。
原文地址:https://www.cnblogs.com/nanjibin/p/6284016.html