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

时间:2022-05-04 16:18:58

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

一、技能学习与特长

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

    我的爱好和技能说实话挺广泛的。如果要挑出来一个很擅长的话,我觉得应该是钢琴。


  • 针对这个技能的获取你有什么成功的经验?
  1. 首先有一定的兴趣和追求,这个能让我产生继续下去的动力和勇气,也是我不断练习的原因。
  2. 其次就是要有耐心,只有不停的练习和思考,能力才会提升,技能才会变得娴熟。
  3. 最后就是坚持,学习过程中有很多瓶颈,只有坚持下去,才会到达成功的彼岸,最终在人群中脱颖而出。

引用:

现实生活中,只有极少部分人有意志力能长时间大量重复枯燥的基础练习。半途而废是许多人都经常面临的事情。

钢琴老师经常告诉我们坚持这个词。尽管手指的茧很多,关节很痛,但是如果坚持下去,这些痛都会一消而散,转化为成功道路上的汗水和动力。而且,练习过程中,必须高度集中注意力,不专注,效果真的会很差。

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


二、有关C语言学习的调查

  • 你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?
  1. 通过精读教材、网站刷题以及习题实验来学习
  2. 我认为C语言的学习过程中,一定要思想灵活,多思考,一个问题可以简单化,也可以复杂化,就看编程者怎么思考。

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

    如果按照网站题库每道题15行代码的话,大概也有将近四千五百行。在指针的一些地方理解的还是有些欠缺,但是前面基础我认为还是可疑的。质变是量变的结果,但是不能追求由千篇一律的粗糙量变换来的质变。


  • 学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
  1. 数组指针:指向数组的指针。
  2. 指针数组:元素是指针的数组。
  3. 函数指针:指向函数的指针变量。
  4. 指针函数:返回值是指针的函数。

  • 学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?什么是模块?你写过多个源文件的程序吗?你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?

    这些问题中,我只是略知一二。

  1. 面向过程是以过程为中心的编程思想。
  2. 解决的方法:通过分析出程序所需要的步骤,然后用函数把每一个步骤写出来,最后再依次调用。
  3. 模块是将一个程序分成多个完整组成部分,然后编程分别实现这些部分。

  • 学过了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;
}

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

    断点为在程序的某行代码处设置断点,程序运行到就停止,开始单步调试。

调试:

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


  • 每章提出一个问题
  1. JAVA应用程序源文件如何编写和保存?
  2. 数组怎么分配元素空间?
  3. 条件语句和循环语句怎么使用?
  4. 如何引用对象?
  5. 如何面向抽象编程?
  6. 接口怎样克服Java单继承缺点?
  7. 怎样使用内部类和匿名类?
  8. 什么是String类与StringBuffer类?有什么关联吗?
  9. 怎么去构造并理解JFrame?
  10. 怎样获取一个对象的克隆对象?
  11. 如何更新、添加与删除?
  12. 为什么产生垃圾实体?
  13. URL类是什么?特殊的地方在哪里?
  14. 如何绘制基本图形和播放音频?
  15. 如何使用各种集合框架类?

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

  • 我认为积极的练习和广泛的思考是必不可少的。我希望在课程中,真正领会到编程语言的意义,像理解汉语那样知道JAVA语言的真正含义和思想。理解和练习相结合,学会、学通、学精。