20165234 预备作业2 学习基础和C语言基础调查
学习基础和C语言基础调查
一、技能学习经验及体会
你有什么技能比大多人(超过90%以上)更好?
看到这个问题,我仔细想了想,好像的确没有什么特别出众的技能,但是我想到了许多我个人的爱好。
我从小喜欢五子棋,并且对其有着自己的见解,但是一直未接受过棋类的培训,所以也只能算是一个爱好。可能是这方面的学习与理解能力较强吧,象棋、斗地主都是我通过观看别人对战而学会的,水平也还行。同时我还很爱玩游戏,尤爱那种需要耐心的探索型游戏,以及需要思考的益智型游戏。
体育运动方面,我从初一时开始接触排球,虽然只是在业余水平里很一般,但是每年我都会不断参加训练,在初中、高中参加班级排球赛,乃至在大学参加院排球赛。高考完之后我才去学了游泳,在学会之后我依旧经常去游泳馆练习,上大学后我还保持着至少每周一次去游泳馆的频率。当然我的这些爱好并不是比大多数人好,或者说只是很普通的爱好,但是对我而言是不错的锻炼身体的运动。
针对这个技能的获取你有什么成功的经验?
就对这些技能的获取过程而言,论成功的经验,我觉得可以归结为以下三点。
1. 对这些技能的热爱
我从小就对体育运动较为感兴趣,所以我愿意去接触、学习它们。从棋类游戏到益智类游戏,我都觉得非常有意思,所以我愿意去进行思考并进行尝试。
2. 持之以恒的练习
在学游泳时,我只用了五个课时,便掌握了蛙泳的所有要领,但接下来的五个课时都是练习。正所谓熟能生巧,经过后期不断地大量练习,才能真正掌握这一项技能。
3. 专业人士的指导
我无论是在学习排球还是学习游泳时,都得到过老师和教练的指导。在习得一项技能的过程中,老师和教练的指导是必不可少的。他们会根据我的及时反馈来告诉我正确的做法,能帮助我少走弯路。
与老师博客中的学习经验有什么共通之处?
正如我在上一个问题里所回答的,我并没有太出众的技能,但是我所拥有的这些技能/爱好,在获取的过程中都有共通之处。
娄老师在博客《优秀的教学方法---做教练与做中学》中分享了一些在学习,工作,健身中的实践:
做中学(Learning by Doing)之背单词-扇贝网推荐:两年词汇量超过22000.
做中学之五笔输入法实践教程:通过一个月的训练学会五笔输入法
每天一万步,一周减十斤:通过五个月的训练减肥30斤
「做中学(Learning By Doing)」之乒乓球刻意训练一年总结: 通过一年的训练提升乒乓球技能。
娄老师通过自己的背单词经历、五笔练习经历、减肥经历、乒乓球练习经历,详细地阐明了「做中学(Learning By Doing)」的重要性,并且总结了其中的要点:
学习是要思考的,仅仅实践是不够的;
技能是分层次的;
实践要具备一定的量才能引起质变;
技能的提升要「刻意训练」;
学习提升要有反馈。
我的学习经验也与这些要点有共通之处。“学而不思则罔,思而不学则殆”是我们从小就听过的道理,也是我一直以来具备的学习准则,学习中的思考与实践缺一不可。并且,量变决定质变因此,要想掌握一项技能,大量的练习必不可少。并且,在学习过程中时常做有针对性的练习,并且通过不断反馈来自我完善、自我提升。在下学期的学习中,我会争取巧妙地运用做中学(Learning By Doing)的方法,我们便可以在实践中发现问题,解决问题,不断提升自我。
二、C语言学习调查
你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?
我在大一第一学期时曾通过网课的形式自学过一部分C语言,对C语言有了初步的了解。在第二学期的课堂上,老师是按照PPT来教学。因为对前面的部分比较熟悉,起初我有些松懈,但随着难度的加大,我必须在课堂上紧跟老师的思路,明白老师如何去分析一道题。同时,在课下对照课本多敲代码,多加练习。课本中有很多算法的基础实例,通过对教材进行细致研究,够获取新的知识,丰富自己的思路。
目前为止估算自己写过多少行C代码?理解的情况如何?量变引起质变,如何平衡质和量?
说实话,我C语言学得很一般。平时我对练习并不是特别重视,直到临近期末才开始大量地练习,我估计自己写过的代码大概有2000-3000行。我对C语言的理解程度也较为一般,前面的内容还相对熟悉,后面的很多知识点诸如指针和数组、结构体和共用体、文件操作,就比较陌生。我认为对于C语言,唯有大量的练习加深刻的理解才能够掌握,所以量大才能引起质变。
学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
概念 | 解释 | 表示 |
---|---|---|
数组指针 | 指向数组的指针 | (*p)[数组大小] |
指针数组 | 数组内的元素都是指针,存储指针的数组 | *p[数组大小] |
函数指针 | 指向函数的指针包含函数的地址,调用函数 | (*p)(参数) |
指针函数 | 函数声明其返回值为某个指针时,给函数返回一个地址,用于需要指针的表达式 | *p(参数) |
学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
我不明白,上网查询得知:
概念 | 解释 |
---|---|
文件 | 是计算机管理数据的基本单位,是应用程序保存和读取数据的一个重要场所。 |
流 | 是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。 |
文本文件与二进制文件的区别是逻辑上的,这两者只是在编码层次上有差异。文本文件是基于字符编码的文件,而二进制文件是基于值编码的文件。因此,文本文件与二进制文件的区别仅仅是编码上的不同,二者无本质区别。
学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
面向过程程序设计,就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。简单来说,就是在设计任务时要先明白自己要做什么,然后分成每个小任务完成,再整合到主线中完成。
在C语言里面,什么是模块?你写过多个源文件的程序吗?
在C语言里可用函数实现各个功能,作为不同的模块,然后在主函数中调用各个功能模块(函数),这样在维护或升级程序时就可以只关注某个模块,可以简化编程问题。我还没写过多个源文件的程序。
学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
我不知道。通过上网查阅资料得知:
概念 | 解释 |
---|---|
内聚性 | 又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。 |
耦合性 | 也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。 |
高内聚 | 一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。 |
低耦合 | 一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。 |
——引用自百科《高内聚低耦合》
学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
1. 把数组A的内容复制到数组B中:
#include <stdio.h>
#include <stdlib.h> void main()
{
int n,i,j,a[N],b[N];
printf("Input n:");
scanf("%d",&n );
printf("A:\n");
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
printf("B:\n");
for(j=0; j<n; j++)
{
b[j]=a[j];
printf("%d",b[j]);
}
}
2. 查找整数数组A中有没有数字5:
#include <stdio.h>
#include <stdlib.h> void main()
{
int a[20],i,b=0;
for(i=0; i<20; i++)
{
scanf("%d",&a[i]);
}
for(i=0; i<20; i++)
{
if(a[i] == 5)
{
b=1;
printf("第%d个数字是5",i);
}
}
if(b == 0)
printf("没有数字5\n");
}
3. 对整数数组A进行排序(从小到大,从大到小):
#include <stdio.h>
#include <stdlib.h>
//从小到大
void main()
{
int a[10];
int i,j,p;
printf("Input 10 numbers:\n");
for(j=0; j<10; j++)
scanf("%d",&a[j]);
printf("\n");
for(i=0; i<9; i++)
for(j=0; j<9-i; j++)
if(a[j]>a[j+1])
{
p=a[j];
a[j]=a[j+1];
a[j+1]=p;
}
for(j=0; j<10; j++)
printf("%d\n",a[j]);
printf("\n");
} #include <stdio.h>
#include <stdlib.h>
//从大到小
void main()
{
int a[10];
int i,j,p;
printf("Input 10 numbers:\n");
for(j=0; j<10; j++)
scanf("%d",&a[j]);
printf("\n");
for(i=0; i<9; i++)
for(j=0; j<9-i; j++)
if(a[j]<a[j+1])
{
p=a[j];
a[j]=a[j+1];
a[j+1]=p;
}
for(j=0; j<10; j++)
printf("%d\n",a[j]);
printf("\n");
}
写一个程序,统计自己C语言共写了多少行代码
我的想法是用某个函数,可以统计整个文件目录下的所有程序代码的行数,并将所有程序代码行数汇总。限于水平,目前不会写。
你知道什么是断点吗?给出自己调试程序的例子。
断点就是程序中断的地方。在某行代码处设置断点后,调试程序时,程序运行到该行代码时会自动停止,然后就可以在这进行逐步调试。
关于这部分我有些遗忘,在网上搜索资料时发现一篇不错的博客可参考:设置断点调试程序
图:设置断点
每章提出一个问题
第一章:保存源文件时需注意什么(怎样保存)?
第二章:C语言的数据类型和数组,与Java中的是否相通?数组的引用这部分不太懂。
第三章:如何利用复合语句进行运算?
第四章:类方法和实例方法的区别,类和对象在使用上的区别?
......(不懂的地方太多了)
我本身的C语言基础一般,越往后面看越费劲,我也对PPT里的很多内容一知半解,就不笼统地提出问题来糊弄了。
在今后的学习中,我会通过上手操作与实践,在实践中加深理解,解决所有遇到的这些问题。
对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
在接下来的学习当中,我应该端正学习态度。我的具体目标就是,养成每天练习编程的习惯,将学习Java作为每天学习生活中的一部分。可以根据每天的情况不同来分配任务量,无论或多或少,每天都要写代码。并且,每次作业争取独立按时完成,多和班里的大佬交流讨论但不抄袭,有问题能与同学们和老师讨论。每一节课都认真听,每一次作业也都认真完成,及时查漏补缺。在具备基础知识的条件下,做更多的拓展以增加自己的见识。
我希望在学习Java时,思考与实践并行,努力理解课本上的大部分知识。并且在平时的学习中就一步到位,对学习中薄弱的地方进行刻意训练,不把遇到的问题堆到最后。并且,经常看看娄老师的博客,汲取经验,运用“做中学”的方法鞭策自我。
20165234 预备作业2 学习基础和C语言基础调查的更多相关文章
- 20165318 预备作业二 学习基础和C语言基础调查
20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...
- 20165230 学习基础和C语言基础调查
20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...
- 20165237 学习基础和C语言基础调查
学习基础和C语言基础调查 一.技能学习与特长 你有什么技能比大多人(超过90%以上)更好? 我的爱好和技能说实话挺广泛的.如果要挑出来一个很擅长的话,我觉得应该是钢琴. 针对这个技能的获取你有什么成功 ...
- 20165337学习基础和C语言基础调查
20165337学习基础和C语言基础调查 你有什么技能比大多人(超过90%以上)更好? 讲道理我感觉我自己没有什么能比90%以上的人都做得好的技能,我就瘸子里面拔将军挑一个我自认为还不错的技能吧. 我 ...
- 20165323 学习基础和C语言基础调查
20165323 学习基础和C语言基础调查 一.技能学习心得 1.你有什么技能比大多人更好? 我觉得我羽毛球打的还行,不能说打得比大多数人好,但是对于一些打羽毛球的要领还是掌握的. 2.针对这个技能的 ...
- 20165235 学习基础和C语言基础调查
20165235 学习基础和C语言基础调查 首先第一个问题:你有什么技能比大多人(超过90%以上)更好?感觉很难回答这种问题,其实我对很多东西挺感兴趣的,如果非要拿出一种比较突出的技能的话我感觉就是象 ...
- 20165317 学习基础和C语言基础调查
学习基础和C语言基础调查 关于优势技能 说来惭愧,读书多年,爱好不少,但是真的能拿的出手的.能被叫做特长的不多.至今,能在同龄人中处于较领先位置的也只有从四年级开始练起的乒乓球.记得开始练习乒乓球是从 ...
- 20165305 学习基础和C语言基础调查
学习基础和C语言基础调查 <优秀的教学方法---做教练与做中学>心得 在<优秀的教学方法---做教练与做中学>文章中又一次提到了"做教练"这一学习方法,因为 ...
- 20165215 学习基础和c语言基础调查
学习基础和c语言基础调查 <做中学>读后感与技能学习心得 读后感 Don't watch the clock. Do what it does. Keep going. 不要只看时钟,要效 ...
随机推荐
- Luogu P4011 孤岛营救问题
题目链接 \(Click\) \(Here\) 注意坑点:一个地方可以有多把钥匙. 被卡了一会,调出来发现忘了取出来实际的数字,直接把二进制位或上去了\(TwT\),其他的就是套路的分层图最短路.不算 ...
- cookie猜数字游戏(下)------------以及cookie使用的不安全之处
1.通过cookie可以解决上篇中多个用户对数据的修改,每个COOKIE保存不同用户的数据 <?php if(empty($_COOKIE['num'])||empty($_GET['num'] ...
- PV、UV、UIP、VV、CPC、CPM、RPM、CTR解释
PV.UV.UIP.VV.CPC.CPM.RPM.CTR 具体解释 PV:Page View,页面访问量,也就是曝光量. UV:Unique Visitor,独立访客数,同一个访问多次访问也只算1个访 ...
- 实战Google深度学习框架-C5-MNIST数字识别问题
5.1 MNIST数据处理 MNIST是NIST数据集的一个子集,包含60000张图片作为训练数据,10000张作为测试数据,其中每张图片代表0~9中的一个数字,图片大小为28*28(可以用一个28* ...
- Hadoop生态圈-单点登录框架之CAS(Central Authentication Service)部署
Hadoop生态圈-单点登录框架之CAS(Central Authentication Service)部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.CAS简介 CAS( ...
- SQL知识以及SQL语句简单实践
综述 大家都知道SQL是结构化查询语言,是关系数据库的标准语言,是一个综合的,功能极强的同时又简洁易学的,它集级数据查询(Data Quest),数据操纵(Data Manipulation),数据定 ...
- 开源图片文字识别引擎——Tesseract OCR
Tessseract为一款开源.免费的OCR引擎,能够支持中文十分难得.虽然其识别效果不是很理想,但是对于要求不高的中小型项目来说,已经足够用了. 文字识别可应用于许多领域,如阅读.翻译.文献资料的检 ...
- [leetcode-128] 最长连续序列
给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, ...
- Windows下安装Mysql5.7
版本如下: Windows10 Mysql5.7.18 下载地址:https://dev.mysql.com/downloads/mysql/ 本人解压到了:D:\Program Files (x86 ...
- Python实现工厂模式
from abc import ABCMeta, abstractmethod from enum import Enum class Person(metaclass=ABCMeta): @abst ...