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

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

技能学习

我认为给学生具体的, 能实践的, 能马上看到因果关系的教材和练习, 是激发学生兴趣, 好奇心, 求知欲的好方法。

-- 引用自《做中学》

  • 老师博客中注重兴趣,好奇心,求知欲的这种经验,我是一直都很赞同的。如果没有兴趣,便没有继续下去的动力。这就像我们对游戏有兴趣,才会去空出时间玩游戏,并且大量去琢磨怎样才能玩好游戏。
  • 其实我并没有什么比大多数人都强的技能,要是一定要说可能就是游戏吧。
  • 初中的时候迷上了《穿越火线》这款游戏,因为很感兴趣,便花了很多时间去玩。后来慢慢的发现,会有很多未能意料的情况出现在游戏过程中,于是就尽可能的去记住各种情况以及对应的方案,这样就能很好的应对突发情况。而且,也一直对各种情况的解决方案进行了大量的练习。后来在学习中也是,先尽可能的培养兴趣,这样就能有动力去继续学,然后在学习过程中总结出一些情况,然后进行大量的练习,这样一来,下次遇到这种情况的时候就能快速解决而不会卡在这里。

C语言学习调查

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

  • 最开始是其实没有什么兴趣去学,后来渐渐的培养出了一定的兴趣。在作业平台上完成了规定的量,便从网上搜题目来练习,实验的时候会尝试用不同的代码去实验。但是整个过程中,我完全没有像游戏那样记住各种各种突发情况,以致每次出现情况我都要手忙脚乱很久,才能解决问题。

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

  • 其实并不记得写过多少行代码,理解情况也不是很好,简单的基础的代码没什么问题,但是复杂一点的我就会错误百出,这证明我的对知识的理解不够。保证“量”的质,进行大量的练习,有了量的积累,渐渐就形成质变。

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

  • 数组指针:指针,指向一个数组。
  • 指针数组:数组,元素是指针。
  • 函数指针:指针,指向一个函数。
  • 指针函数:函数,返回值是指针。

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

  • 这些概念,我只能靠百度的帮助了。
  • 文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。
  • 流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。
  • 文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。
  • 二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码)。在C语言中,文本文件操作都是由库函数来完成的。二进制文件一共要用到三个函数,fopen,fread,fwrite。二进制读写的顺序是用fopen以二进制方式打开读写文件,然后使用fread和fwrite两个函数将数据写入二进制文件。

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

“面向过程”是一种把过程作为中心的编程思想,先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现。

面向过程其实是最为实际的一种思考方式,就是算面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法.它考虑的是实际的实现。一般的面向过程是从上往下步步求精。所以面向过程最重要的是模块化的思想方法.对比面向对象,面向对象的方法主要是把事物给对象化,对象包括属性与行为。当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按着模块与函数的方法可以很好的组织。

-- 源自百度

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

  • 模块就是,当将一个程序分成若干部分,每个部分由一个函数进行一个特定的功能,这样的部分就是程序模块。
  • 还没写过多个源文件的程序。

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

  • 内聚是指模块内的联系,耦合是指模块间的联系。“高内聚,低耦合”就是模块内部联系度高,各个模块之间联系度低。
  • 高质量程序设计中,每个模块内部联系要尽可能高,而各个模块之间要尽可能的独立。

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

  • 数组A复制到数组B中
#include <stdio.h>
int main()
{
    int a[10],b[10],n;
    int i = 0,j=0;
    
    printf("请输入个数:\n");
    scanf("%d",&n);
    printf("请输入数值:\n");
    for(i = 0;i<n;i++){
        printf("%d\n",&a[i]);
    }
    for(j=0;j<n;j++){
        b[j]=a[j];
    }
    
    return 0;
}
  • 查找整数数组A中是否有5
#include<string.h>
#define N 100
int main( )
{
    int A[N],i;
    for(i=0;i<=N;i++)
    {
        if(A[i]==5)
        printf("有5!\n");
        break;
    }
    return 0;
}
  • 对整数数组A进行排序,由小到大
#include<stdio.h>
void main()
{
int a[10] = { 10,2,8,6,9,4,3,5,7,1 };
int i,j,t;
for(j=0;j<10;j++) 
    for(i=0;i<10-1-j;i++)
    if(a[i]>a[i+1]) 
    {
        t=a[i];
        a[i]=a[i+1];
        a[i+1]=t;
    }
for(i=0;i<10;i++)
   printf("%d ",a[i]);
}
  • 由大到小
#include<stdio.h>
void main()
{
int a[10] = { 10,2,8,6,9,4,3,5,7,1  };
int i,j,t;
for(j=0;j<10;j++) 
    for(i=0;i<10-1-j;i++)
    if(a[i]<a[i+1]) 
    {
        t=a[i];
        a[i]=a[i+1];
        a[i+1]=t;
    }
for(i=0;i<10;i++)
   printf("%d ",a[i]);
}

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

不会写。

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

  • 在某处设置断点后,程序运行时,会运行到设置断点处停止运行。

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

  • 首先是要能完成基础的程序设计,在这个基础上能够进行更深一步的学习和设计,希望能自己做出一些实用的程序。
  • 要有大量高质量的练习。
  • 要培养兴趣,逐渐深入了解。多问老师和同学。

问题

  • 第一章 JAVA源文件中不同的类怎么进行区分?
  • 第二章 基本数据类型如何区分?
  • 第三章 boolean型是指?
  • 第四章 如何理解类方法?
  • 第五章 抽象类怎样理解?
  • 第六章 如何理解接口以及其编程思路?
  • 第七章 源代码中为什么会保留断言语句?
  • 第八章 String类与StringBuffer类啥关系?
  • 第九章 JFrame咋构造?
  • 第十章 流应该怎样连接和使用?
  • 第十一章 数据库操作怎样实现?
  • 第十二章 进程线程区分以及如何建立多线程?
  • 第十三章 如何连接套接字与对象?
  • 第十四章 绘制图形的一系列方法和注意事项?
  • 第十五章 泛型类有何优点?

posted on 2018-02-01 13:44  张士洋  阅读(155)  评论(1编辑  收藏  举报

导航