学习基础和C语言基础调查
一、技能学习与特长
-
你有什么技能比大多人(超过90%以上)更好?
我的爱好和技能说实话挺广泛的。如果要挑出来一个很擅长的话,我觉得应该是钢琴。
- 针对这个技能的获取你有什么成功的经验?
- 首先有一定的兴趣和追求,这个能让我产生继续下去的动力和勇气,也是我不断练习的原因。
- 其次就是要有耐心,只有不停的练习和思考,能力才会提升,技能才会变得娴熟。
- 最后就是坚持,学习过程中有很多瓶颈,只有坚持下去,才会到达成功的彼岸,最终在人群中脱颖而出。
-
与老师博客中的学习经验有什么共通之处?
读了娄老师的「做中学(Learning By Doing)」之乒乓球刻意训练一年总结,我认为有很多共通之处。比如:
引用:
现实生活中,只有极少部分人有意志力能长时间大量重复枯燥的基础练习。半途而废是许多人都经常面临的事情。
钢琴老师经常告诉我们坚持这个词。尽管手指的茧很多,关节很痛,但是如果坚持下去,这些痛都会一消而散,转化为成功道路上的汗水和动力。而且,练习过程中,必须高度集中注意力,不专注,效果真的会很差。
二、有关C语言学习的调查
- 你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?
- 通过精读教材、网站刷题以及习题实验来学习
- 我认为C语言的学习过程中,一定要思想灵活,多思考,一个问题可以简单化,也可以复杂化,就看编程者怎么思考。
-
目前为止估算自己写过多少行C代码?理解的情况如何?量变引起质变,如何平衡质和量?
如果按照网站题库每道题15行代码的话,大概也有将近四千五百行。在指针的一些地方理解的还是有些欠缺,但是前面基础我认为还是可疑的。质变是量变的结果,但是不能追求由千篇一律的粗糙量变换来的质变。
- 学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
- 数组指针:指向数组的指针。
- 指针数组:元素是指针的数组。
- 函数指针:指向函数的指针变量。
- 指针函数:返回值是指针的函数。
-
学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?什么是模块?你写过多个源文件的程序吗?你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
这些问题中,我只是略知一二。
- 面向过程是以过程为中心的编程思想。
- 解决的方法:通过分析出程序所需要的步骤,然后用函数把每一个步骤写出来,最后再依次调用。
- 模块是将一个程序分成多个完整组成部分,然后编程分别实现这些部分。
- 学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从大到小)?
#include <stdio.h>
#include <stdlib.h>
#define N 100
int main()
{
int a[N],b[N],i,j,k,temp;
printf("输入数组中有几个数:");
scanf("%d",&k);
for(i=0;i<k;i++) //复制a->b
{
scanf("%d",&a[i]);
b[i]=a[i];
}
for(i=0;i<k;i++){
printf("%d ",b[i]);}
for(i=0;i<k;i++) //循环查找5
{
if(a[i]==5)
{
printf("数组中有5\n");
break;
}
}
printf("数组中没有5\n");
for(i=0;i<k-1;i++) //从大到小排序
{
for(j=i+1;j<k;j++)
{
if(a[i]<a[j]) //此处若改成>,则为从小到大排序
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
return 0;
}
-
你知道什么是断点吗?给出自己调试程序的例子。
断点为在程序的某行代码处设置断点,程序运行到就停止,开始单步调试。
调试:
- 每章提出一个问题
- JAVA应用程序源文件如何编写和保存?
- 数组怎么分配元素空间?
- 条件语句和循环语句怎么使用?
- 如何引用对象?
- 如何面向抽象编程?
- 接口怎样克服Java单继承缺点?
- 怎样使用内部类和匿名类?
- 什么是String类与StringBuffer类?有什么关联吗?
- 怎么去构造并理解JFrame?
- 怎样获取一个对象的克隆对象?
- 如何更新、添加与删除?
- 为什么产生垃圾实体?
- URL类是什么?特殊的地方在哪里?
- 如何绘制基本图形和播放音频?
- 如何使用各种集合框架类?
三、对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
- 我认为积极的练习和广泛的思考是必不可少的。我希望在课程中,真正领会到编程语言的意义,像理解汉语那样知道JAVA语言的真正含义和思想。理解和练习相结合,学会、学通、学精。