技能学习经验与C语言

技能学习经验

你有什么技能比大多人(超过90%以上)更好?针对这个技能的获取你有什么成功的经验?与老师博客中的学习经验有什么共通之处?

从小到大,或是出于兴趣、或是出于父母的要求,我涉猎过的技能有很多,比如游泳、太极、围棋等等,但能称得上比大多数人(此处不敢妄言是大于90%)更好的,应该是小提琴。

开始接触小提琴到现在也差不多有十四年了,我大致经历了这样几个过程:嫌苦嫌累被追着打着练琴、为了考级每天自觉练琴、面临升学压力放弃学琴,和发觉兴趣所在拉琴消遣。其中,我得到的不仅仅是在大大小小舞台比赛上的证书奖状,而且是自信乐观的生活态度。

我的技能学习经验可由两个词概括出来:练习和兴趣。正如娄老师在《做教练与做中学》中所说的“实践要具备一定的量才能引起质变”及《做中学之乒乓球刻意训练一年总结》一文中的“肌肉记忆”,要想学会一件东西,反复练习是必不可少的,渐渐地变被动为主动了、进而形成一种惯性了,才有可能真正去熟习它。而兴趣,在我看来是很好的助力剂,它支撑着我们不要放弃,带领着我们探索乐趣,让我们想着办法地琢磨如何去做得更好,自然,我们的本领也会变得更强。下学期对Java课程的学习也该如此,我们要在“刻意训练”下循序渐进,直至熟练掌握要领。

有关C语言学习的调查

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

答:我主要是通过刷题库里面的题和读教材学习C语言的,我认为C语言学习是要在大量练习的基础上能够真正地理解。在理解这一点上,我就存在着不足,不会触类旁通,因此在面对中等以上难度编程问题的时候经常会手足无措。今后的学习一定要注重理解,不然真的很吃亏。

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

答:目前为止大概写过3000行以上的C代码。真正是自己编写的代码能够完全理解,有过参考的代码能做到看懂,但对指针、结构体和文件方面的理解还不充分。我认为平衡质和量,就先要对每个量负责,以自然地产生质变。

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

答:数组指针是个指针,指向数组;指针数组是个数组,里面的元素是指针。函数指针是个指针,指向函数;指针函数是函数,返回值是指针。

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

答:不知道。参考了《流和文件的区别》《文本文件和二进制文件的区别》后,我才了解到这些知识。流类似于分段操作,大文件使用流可以提高操作效率。文本文件和二进制文件在编码上有区别:文本文件基于字符编码,基本为定长编码;二进制文件基于值编码,可看做是变长编码。

文本方式写时,每遇到一个''\n'',它将其换成''\r \n'',然后再写入文件;当文本读取时,它每遇到一个''\r\n''将其反变化为''\n'',然后送到读缓冲区。二进制读写时,其不存在任何转换,直接将写缓冲区中数据写入文件。

-- 引用自《文本文件与二进制文件区别

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

答:面向过程程序设计的中心是过程,即解决问题的步骤,并结合调用函数的方法实现。

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

答:函数是C的基本模块。没有写过多个源文件的程序。

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

答:高内聚是指一个模块内各元素联系紧密,低耦合是指模块之间独立性强,我们在设计时应尽量去满足这个基本原则,使各个模块间功能独立、程序设计思路明确。

参考:《什么是高内聚、低耦合?》

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

答:

#include <stdio.h>
#include <stdlib.h>
#define N 100
int main()
{
char a[N] = "\0",b[N] = "\0";
int i;
printf("Input:\n");
scanf("%s",a);
for(i = 0;a[i] != '\0';i++)
{
b[i] = a[i];
}
printf("%s\n",b); return 0;
}
#include <stdio.h>
#include <stdlib.h>
#define N 100
int main()
{
char a[N] = "\0";
int i;
printf("Input:\n");
scanf("%s",a);
for(i = 0;a[i] != '\0';i++)
if(a[i]==5)
printf("5 is existent.");
return 0;
}

升序如下,降序同理:

#include <stdio.h>
#include <stdlib.h>
#define N 10
int main()
{
int i,j,t,p,a[N];
for(i=0;i<N;i++)
{
printf("%2d:",i+1);
scanf("%d",&a[i]);
}
for(i=0;i<N-1;i++)
{
p=i;
for(j=i+1;j<N;j++)
if(a[p]>a[j])
p=j;
if(p!=i)
{
t=a[p];
a[p]=a[i];
a[i]=t;
}
}
for(i=0;i<N;i++)
printf("%d",a[i]);
}

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

答:不会写。

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

答:程序执行至断点,会暂停。

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

  • 类加public和不加public有什么区别?
  • 显示转换的格式里面的类型名是谁的?
  • switch语句中default是否是必要的?
  • 为什么要将源文件编译得到的类的字节码文件保存在有包名的类的存储目录?
  • 上转型对象可以调用子类重写的实例方法是什么意思?
  • 为什么接口可以实现回调?
  • 断言的功能能否用if实现?
  • 为什么C语言的标准库里没有string类型?
  • JPanel面板的布局如何改变?
  • 什么情况下需要序列化呢?
  • utf-8和gb2312的区别是什么?
  • 重写run()方法后是要从哪个类中调用?
  • 设计广播数据报网络程序时的D类地址具体是什么?
  • 绘制图像时的observer起了什么作用?
  • 泛型的安全性怎么体现?

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

我对学习Java的目标是:养成良好的学习习惯,每天至少敲50行代码,能够保质保量、及时反馈地完成老师布置下来的任务,锻炼出自己独立编程的能力。吸取C语言学习时的经验教训,我们应该适当增加编程训练的难度,选择有挑战的题去做,从而提高对自身编程能力的要求,做到在实践中增强理解,把知识化为己有。

20165309 技能学习经验与C语言的更多相关文章

  1. 技能学习经验与C语言学习调查

    技能学习经验与C语言学习调查 前言 要说的话,这还是我第一次写博客.不论是为了作业也好,为了将来的学习工作也好,写博客都是必不可少的,也算是个自我提升的途径吧.不过第一次写博客,就用从来没听说过的ma ...

  2. 20165316 技能学习心得与c语言学习

    20165316 技能学习心得与c语言学习 一.技能学习经验 我会打乒乓球,在中国,我只能说我"会"打,至于"比大多数人更好"我不敢断言,因为我无时无刻不感受到 ...

  3. 20165320 预备作业2:技能学习心得与C语言学习

    一.技能学习心得 1.你有什么技能比大多数人好? 我觉得我的篮球打得比一般的人好吧,但是也仅仅掌握了大部分基本的篮球技巧,算不上精通. 2.针对这个技能的获取你有什么成功的经验? 我觉得要打好篮球需要 ...

  4. 20155206赵飞技能获取经验,C语言学习感想与对JAVA的学习目标

    自己较强的技能获取经验. 1:实话实说我自己是没有哪个技能可以超过90%的人的,只有自认为做的还可以的一些事情,例如打篮球,office软件的应用,一百米跑.至于其他方面就是很平庸了. 2:经验主要有 ...

  5. 足球运动训练心得及经验分析-c语言学习调查

    在准备预备作业02之前,我参考娄老师的提示,阅读了<[做中学(Learning By Doing)]之乒乓球刻意训练一年总结>一文. 在文章描述的字里行间,给予我的印象是系统.负责,娄老师 ...

  6. 20155226田皓宇关于优秀技能经验以及c语言学习感悟和对JAVA的展望

    读老师文章后关于一项优秀技能的经验有感 1.首先我自我剖析认为,我是没有哪一个方面能做到强于身边90%的人的,我只能说有些方面略强于身边的人.比如唱歌.办公软件的应用(word.excel)等.但我不 ...

  7. 20165309 2017-2018-2《Java程序设计》课程总结

    20165309 2017-2018-2<Java程序设计>课程总结 一.每周作业链接汇总 预备作业1:我期望的师生关系 预备作业2:技能学习经验与C语言 预备作业3:Linux安装及学习 ...

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

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

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

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

随机推荐

  1. Java 多线程案例

    同步代码块 SynchronizedTest类,用来表示取票功能 package concurency.chapter6; public class SynchronizedTest implemen ...

  2. Eclipse和Tomcat使用过程的一些配置、错误等的总结记录

    背景:公司项目使用jdk1.6.tomcat7.SVN,本文总结使用到现在的一些配置和问题. 1.Eclipse项目几点配置:(1)Windows -> Preferences -> Ja ...

  3. P3980 [NOI2008]志愿者招募

    思路 巧妙的建图 因为每个志愿者有工作的时段,所以考虑让一个志愿者的流量能够从S流到T产生贡献 所以每个i向i+1连INF-a[x]的边(类似于k可重区间集),每个si向ti连边cap=INF,cos ...

  4. HDU 5069 Harry And Biological Teacher(AC自动机+线段树)

    题意 给定 \(n\) 个字符串,\(m\) 个询问,每次询问 \(a\) 字符串的后缀和 \(b\) 字符串的前缀最多能匹配多长. \(1\leq n,m \leq 10^5\) 思路 多串匹配,考 ...

  5. JavaWeb--简单分页技术

    分页需要的技术点:1.前台分页标签的使用 2.前台上一页,下一页显示的业务逻辑 3.MSQL用到的语句  limit 4.封装pageBean对象 这个是PageBean用到的 分页公式: int t ...

  6. x=x+1,x+=1,及x++的效率哪个最高,为什么?

    x=x+1: 1.     读取右X的地址 2.     X+1 3.     读取左X的地址 4.     将右值传给左边的X x+=1: 1.     读取右边的x的地址 2.     X+1 3 ...

  7. Docker 开发最佳实践

    Docker development best practices The following development patterns have proven to be helpful for p ...

  8. 3、My Scripts

    .用for循环批量修改文件扩展名(P240) .使用专业改名命令rename来实现 .通过脚本实现sshd.rsyslog.crond.network.sysstat服务在开机时自动启动(P244) ...

  9. Terminal run py文件

    cd Documents cd PythonCode python3 hello.py Text Editor: Atom Atom 可以用来写 python 脚本 (文件后缀名 .py). 但是不用 ...

  10. 针对list集合进行分页展示

    直接定义个工具类,代码如下: package com.jk51.modules.wechat.web.util; import java.util.Collections; import java.u ...