20165211 学习基础和C语言调查

理论脱离实践是最大的不幸。——达芬奇

达芬奇,是我眼里最有嫌疑的穿越者。

绘画、天文、雕塑、音乐、发明、建筑,数学、生理、物理、天文、地质……我很难想象有一个人能在这么多的领域都取得堪称大家的成就。从他的这句话中,似乎能让我们一窥他成功的秘诀。

在阅读了娄老师的博客后,我对于之后的学习也有了一些的感触,就在这里记录一下吧。

在娄老师的博客做中学中,老师与我们分享了学习的经验方法,并向我们推荐了一些学习的资料和途径,并和我们分享了练五笔减肥打乒乓球背单词的经验。在这些过程中,注重方法,做好规划,注重坚持。

我主要的感悟是,一是要有足够科学的方法,娄老师所强调的做中学,强调了,学习需要的是理论,思考,实践,总结的结合。二是要做一个自制的人,这里的自制不限于自我的克制,更多地是在于自我的管理,克制恶习的同时,要能主动地去完成自己的目标,所以,在这中间,我认为制定自己的目标,并对自己进行自我和外界的监督极为重要。


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

这个问题,其实我是有一些惭愧的,父母一直奉行着放养原则,并不强迫我去参加一些兴趣班,补习班之类的,而我对于自己感兴趣的事物大多是自学,要达到比90%的人要好,我肯定是没有这个自信的。仔细想了之后,自己能写的大概就是自学能力和耐心能写吧。

就自学能力来说,我觉得自己应该可以算是比大多数人要好一点,小时候对奥数比较感兴趣,奥数班也是我为数不多的报的兴趣班,在那里的一些思维方式对于之后一些知识的理解助力。之后在高中也报了不少的竞赛,高二时未选生物,生物也算是基本自学,也有一些成绩。还有自己感兴趣的事物,也基本是自学。还有耐心,最明显的表现大概就是,我对于一些细小的工作会更加的感兴趣。


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

总结一下,我觉得经验主要是有以下几点吧:

  1. 兴趣的指引,可以作为自己学习的最初动力。
  2. 在有兴趣的同时,要有即刻去做的行动能力
  3. 要做好规划管理,为自己制定好计划
  4. 要有足够的自制能力,在最初的热情褪去的时候,要有坚持执行自己计划的自制力。
  5. 都对自己实行自我的监督外界的监督

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

共同之处的话,我觉得主要在于。规划,自制和合适的监督这三点。

我觉得这三点,规划在于在学习之初的指导作用,还有对自己的一个期望,是学习开始一个必要的阶段。自制,则是能够坚持的关键,也是整个学习过程的关键,不然,三天打鱼,两天晒网,只在初期努力就只能在获得很浅的知识,并不能对自己有什么提升。合适的监督则是一个辅助的机制,减少自己的惰性心理,预防放弃也是不可小视的。


有关C语言学习的调查

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

在C语言的学习过程中,在大一上学期就已经有所接触,而且我认为我主要的知识也是在大一上完成了基本的了解,下学期主要着重于积累和练习。我觉得主要的学习过程为:自学,听讲,练习,复习,巩固。

相比于之前提到的技能,我觉得主要的区别就在于,C语言,我是出于一种必要技能的需要来学习的,并不是出于个人最初的兴趣。并且,因为在下学期又进行了二次的学习,算是学习了两次吧。

我觉得在C语言的学习过程中,主要的经验教训在于,在学习之后,不能只能依靠练习来进行复习,毕竟,我们所接触的那些练习和题目,都是在我们能力范围内的,而C语言,有很多其实是我们上课程上接触不到的,对于编程语言的学习,如果只限于课程范围内,那么就永远只能掌握很小的一部分,我们要在掌握的基础上,不断扩展,才能真正的掌握知识。

目前为止估算自己写过多少行C代码?理解的情况如何?量变引起质变,如何平衡质和量?

我觉得自己写的代码,大概有3000到4000行。就自己所掌握的来说,这3000~4000行代码,有很大一部分是一些内容的变形,重复。就这些小部分的知识,我觉得掌握是没有问题的。但是很无奈的是,C语言的内容并不是只有这些,有很多知识,我至今还是一知半解,甚至根本不了解。

我觉得在学习中质变和量变有两种,一是对一个知识点或对某一个知识块的了解和练习的量变达到一个对这一个知识的质变的点,也就是完全的掌握和延伸。二是这样的知识点或知识块的积累的量变,并且,达到了这样的知识块的连接,则达到了整个学科的理解的质变。简单来说,就是量变引起部分的质变,再到整体的质变。我们不能停留于一个个部分的质变,而要不断去追求整体的质变。

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

  1. 数组指针:指向数组地址的指针,本质是指针
  2. 指针数组:元素是指针的数组,本质是数组,例如int *p[3]
  3. 函数指针:指向函数的指针变量,用途为调用函数和做函数的参数
  4. 指针函数:返回值是指针的函数,本质是函数

对于这个问题,我还有有点懵的,去找了一些博客作为参考的资料的。

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

并不清楚,以下是我查阅资料所得:

  • 文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。每个文件都有文件名、文件所在路径、创建时间及访问仅限等属性。
  • 流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。除了和磁盘文件直接相关的文件流以外,流还有多种类型。流可以分布在网络中、内存中或者是磁带中。
  • Windows 平台中,程序中是 "\n",对应的文件内容是 "\r\n";而二进制文件的写入和读取按其原样。例:定义 fp 是 Windows 平台中以文本文件形式打开的文件指针,则 fprintf(fp, "\n"); 运行后,文件中多了 "\r\n"。
  • 文件的操作
文件的打开操作 fopen 打开文件
文件的关闭操作 fclose 关闭文件
文件的读写操作 fgetc 从文件中读取一个字符
fputc 写一个字符到文件中去
fgets 从文件中读取一个字符串
fputs 写一个字符串到文件中去
fprintf 往文件中写格式化数据
fscanf 格式化读取文件中数据
fread 以二进制形式读取文件中的数据
fwrite 以二进制形式写数据到文件中去
getw 以二进制形式读取一个整数
putw 以二进制形式存贮一个整数

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

C语言是一种面向过程的程序设计,这是一种以过程为中心的编程思想。

解决问题的方法为:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

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

查阅了以下资料,emmmm...还是有一种一知半解的感觉啊,感觉到自己对C语言的了解还是停留在很表层的阶段,多个源文件的程序也没有写过。

以独立性、低耦合性,逐层分解”的基本思想描述(分解)系统,首先以数据流图为基础导出系统模块(功能)结构图,直到每一模块都是功能单一的模块系统模块(功能)结构图
结构化设计方法、“自顶向下、公共模块作为模块划分的原则,再将各大模块继续划分为较小的模块、高内聚性。

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

在学习过程中,经常听到这个原则,但是没有详细的了解过,又只能找度娘了......

怎样理解高内聚低耦合

内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系;

耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

就我个人的理解就是,在系统之中,单个模块要使他尽可能的联系紧密,但是模块之间,尽可能的使其独立存在,减少相互之间的影响。

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

我将所有的功能都放在了下面这个程序里了。

#include <stdio.h>
#include <stdlib.h>
#define N 100
int main()
{
int a[N],b[N],n,i,j,temp;
printf("请输入数组中数的个数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
b[i]=a[i]; //数组复制
}
for(i=0;i<n;i++)
{
if(a[i]==5)
{
printf("数组中有5");
exit(0);
}
}
printf("数组中没有5"); //查找数组中的5
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
} //从大到小排序
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
} //从大到小排序
return 0;
}

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

这个程序,真的是没什么头绪,我的文件操作,真是的,一团糟,当时也只是做了一点点的了解(有种后悔莫及的感觉......)

目前思路大概是,导入文件,统计换行符,判断注释及空行。但是,文件操作真的是一团乱麻,所以现在先写了一个统计行数的程序。

#include <stdio.h>
#include <stdlib.h>
int main()
{
char a;
int l=0;
do
{
a=getchar();
if (a=='@') break;
if (a=='\n') l++;
}while(1);
printf("共有%d行。\n",l);
}

还有文件的操作部分和对于注释空格的判断,打算不断地学习完善,争取能尽快写出来!

下面是一些找到的博客资料,作为完善的参考:

用C语言编写一个程序,统计一个文本文件的行数。

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

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

断点是一种调试方法,即在调试中设置断点,下一次让程序自动运行到断点位置,便可在上次设置断点的位置断下来,可以提高调试的效率。


参考怎样快速阅读一本书,快速阅读一下云班课中有PPT,每章提出一个问题

  1. JAVA的平台无关性是怎样实现的?
  2. 字符串长度较长时用并置符号连接,那么我们一般划分字符串长度的标准是什么?
  3. instanceof运算符的具体使用方法及使用场合?
  4. 类和C语言中的结构体是否可以类比,二者之间的主要区别是什么?
  5. 子类继承父类的方法有哪些?有什么不同之处?
  6. 接口是怎样克服Java单继承的缺点的?
  7. 内部类,匿名类,异常类的定义,及在Java语言中如何使用?
  8. String类及StringBuffer类之间的不同和联系,以及各种常用实用类的使用场合。
  9. 窗口的含义,作用及使用方法。
  10. File类的各种方法的使用是否可以比较C语言中的文件操作进行类比比较理解?
  11. 预处理语句的作用及具体的使用方法。
  12. 线程的定义以及多线程的概念。
  13. URL类是指什么,有何特点?
  14. 绘制这些基本图形,以及对基本图形的变形的具体操作是怎样实现的?能否实现简单的绘画功能?
  15. 怎样具体了解堆栈及相关概念?

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

我的目标主要就是能够真正的学到知识,能独立的编写完成自己的小程序。在简单看了一遍PPT之后,我几乎有一种头昏脑涨的感觉,各种概念,名词,在脑子里乱飞。

在即将到来的Java学习中,我对自己的最低要求是要能够真正的理解掌握新的知识。在做完C语言基础的调查之后,我深深地感觉到,之前的C语言学习和成绩是有很大水分的,有一些概念真的是一概不知。在此基础上,还需要做知识的延伸,理解掌握这门课。

20165211 学习基础和C语言调查的更多相关文章

  1. 20165318 预备作业二 学习基础和C语言基础调查

    20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...

  2. 20165230 学习基础和C语言基础调查

    20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...

  3. 20165237 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.技能学习与特长 你有什么技能比大多人(超过90%以上)更好? 我的爱好和技能说实话挺广泛的.如果要挑出来一个很擅长的话,我觉得应该是钢琴. 针对这个技能的获取你有什么成功 ...

  4. 20165234 预备作业2 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.技能学习经验及体会 你有什么技能比大多人(超过90%以上)更好? 看到这个问题,我仔细想了想,好像的确没有什么特别出众的技能,但是我想到了许多我个人的爱好. 我从小喜欢五 ...

  5. 20165337学习基础和C语言基础调查

    20165337学习基础和C语言基础调查 你有什么技能比大多人(超过90%以上)更好? 讲道理我感觉我自己没有什么能比90%以上的人都做得好的技能,我就瘸子里面拔将军挑一个我自认为还不错的技能吧. 我 ...

  6. 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.一种比大多数人(超过90%以上)更好的技能 说句实话,我还没有那种特别特别自信的.说我能拿得出手的.所谓能超过百分之九十以上的人的技能.毕竟人外有人,天外有天. 姑且算上 ...

  7. 20165323 学习基础和C语言基础调查

    20165323 学习基础和C语言基础调查 一.技能学习心得 1.你有什么技能比大多人更好? 我觉得我羽毛球打的还行,不能说打得比大多数人好,但是对于一些打羽毛球的要领还是掌握的. 2.针对这个技能的 ...

  8. 20165235 学习基础和C语言基础调查

    20165235 学习基础和C语言基础调查 首先第一个问题:你有什么技能比大多人(超过90%以上)更好?感觉很难回答这种问题,其实我对很多东西挺感兴趣的,如果非要拿出一种比较突出的技能的话我感觉就是象 ...

  9. 20165317 学习基础和C语言基础调查

    学习基础和C语言基础调查 关于优势技能 说来惭愧,读书多年,爱好不少,但是真的能拿的出手的.能被叫做特长的不多.至今,能在同龄人中处于较领先位置的也只有从四年级开始练起的乒乓球.记得开始练习乒乓球是从 ...

随机推荐

  1. JNUOJ 1184 - 科学计数法

    花了半个小时,强行拗出一长串又臭又长的代码,把所有情况都分了(该分的,不该分的……都分了……) #include<cstdio> #include<cstring> #incl ...

  2. 【紫书】 Unix ls UVA - 400 模拟

    题意:中文版https://vjudge.net/problem/UVA-400#author=Zsc1615925460 题解:首先读取字符,维护一个最长字符串长度M,再排序. 对于输出,写一个pr ...

  3. css实现简单几何图形

    前言:你知道吗?用代码就可以做出三角形.圆形.扇形等等这些几何图形呦.快过来一探究竟吧! 页面上一些简单的图形,如三角形.圆形等等,除了用图片来实现,我们还可以用css的border属性来实现,不仅减 ...

  4. Cloud Native Application理论备忘录之(一)——Microservice architectural style

    感谢一路走来默默支持和陪伴的你~~~ ------------------欢迎来访,拒绝转载------------------- 1. 传统云平台的架构体系:用户界面层.业务逻辑层.数据访问层 2. ...

  5. flask_SQLAlchemy常用数据类型及列选项

    SQLAlchemy常用数据类型:1. Integer:整形,映射到数据库中是int类型.2. Float:浮点类型,映射到数据库中是float类型.他占据的32位.3. Double:双精度浮点类型 ...

  6. flask-WTForms组件

    WTForms是一个支持多个web框架的form组件 主要能够帮助我们生成html标签 对数据进行验证 安装 pip install wtforms Wtforms的使用 这里借助一个用户登录注册的示 ...

  7. qt——for循环里创建widget

    在for循环里创建 widget,比如test类 不能使用 test t; 而要使用 test t = new test(): for (i=0;i<=3;i++) { QPushButton* ...

  8. android studio 1

    1.继承activity类的时候,重写父类 @Override   //伪代码 ,代表如果不是重写父类的方法,该地方会报错 protected void onCreate( Bundle savedI ...

  9. PAT 1097 Deduplication on a Linked List[比较]

    1097 Deduplication on a Linked List(25 分) Given a singly linked list L with integer keys, you are su ...

  10. PAT 1067 Sort with Swap[难]

    1067 Sort with Swap(0,*) (25)(25 分) Given any permutation of the numbers {0, 1, 2,..., N-1}, it is e ...