zoukankan      html  css  js  c++  java
  • 20165326 学习基础和c语言基础调查

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

    一、关于个人技能

    阅读了娄老师关于做中学的文章,我想起了自己之前学习技能的经历。

    从小到大我学过的东西不少,除学校的教育课程外,我还参加过各种兴趣班,书法、绘画、舞蹈、吉他、羽毛球、珠心算等等,可以说是涉猎极广。但惭愧的是,我从未在这其中一项上取得过大的成就,仿佛我的兴趣都是头脑一时发热罢了。

    究其原因,我认为是我的学习目标不够坚定,而我本身又缺乏毅力了。

    姑且用我学习羽毛球的经历来举例吧。文中提到的[肌肉记忆]是体育学习中一个重要的环节。上千次的挥拍练习,在你看到球的一瞬间,身体就能做出本能的反应,肌肉和手腕自动对力度和角度进行调整,或搓或吊或杀,配合步伐,完全就能hold住全场。

    做中学,在我看来就是实践和理论结合的一个简洁概括,认知和实践的循环,以至于能达到完全的理解与掌握。我之前从没有发现过技能学习之间的相通之处

    二、关于c语言学习基础

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

    我是通过自己阅读教材对示例代码进行理解,然后自己动手编写调试代码,有疑问的地方询问老师或同学,最后达到代码正确以及理解知识点来学习的。我认为c语言的学习就是需要不断的练习和理解。

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

    如果硬要估算的话我觉得在一千行以内吧,理解可能不是非常透彻。量是保证基础的一个方式,而质变是在量变之上进行的,多看多写有助于自己思考理解知识的代码,我觉得这个才是好的平衡方式。

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

    分得清。数组指针:指向数组的指针;指针数组:数组元素全为指针的数组;函数指针:指向函数的指针;指针函数:返回类型是某一指针的函数。

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

    不明白。

    文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。
    是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。

    参考二进制文件与文本文件的区别:通过编码方式区分。

    Windows中,程序中是" ",对应的文件内容是" ";而二进制文件的写入和读取按其原样。Linux中,文本文件和二进制文件没有任何区别。

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

    “面向过程”是一种以过程为中心的编程思想。首先分析解决问题所需的步骤,然后用函数把这些步骤一一实现,使用时依次调用。

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

    C语言中的“模块”就是能实现不同功能的一块块的区域。没有。

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

    不知道。

    高内聚,低耦合:系统中模块与模块之间独立存在而模块中各元素联系紧密。
    应用:尽量每个功能写一个模块,方便系统的维护。

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

    把数组A的内容复制到数组B中

    #include <stdio.h>
    #define N 100
    
    int main()
    {
        int A[N],B[N],n,i;
        printf("input n:");
        scanf("%d",&n);
        printf("input A:");
        for(i=0;i<n;i++)
        {
            scanf("%d",&A[i]);
            B[i]=A[i];
        }
        for(i=0;i<n;i++)
            printf("%d",B[i]);
        return 0;
    
    }
    

    查找整数数组A中有没有数字5

    #include <stdio.h>
    #define N 10
    int main()
    {
    int A[N],i,j=0;
    printf("input A:
    ");
    for(i=0;i<N;i++)
    {
        scanf("%d",&A[i]);
        if(A[i]==5)
            j++;
    }
    if(j>0)
        printf("yes
    ");
    else
        printf("no
    ");
    }
    

    从小到大

    #include <stdio.h>
    #define N 10
    int main()
    {
    int A[N],i,m,n,temp;
    printf("input A:
    ");
    for(i=0;i<N;i++)
    {
        scanf("%d",&A[i]);
    }
    for(m=0;m<N;m++)
    {
        for(n=m+1;n<N+1;n++)
        {
            if(A[m]>A[n])
            {
                temp=A[m];
                A[m]=A[n];
                A[n]=temp;
            }
        }
    }
    
    for(i=0;i<N;i++)
        printf("%d
    ",A[i]);
    }
    

    从大到小
    (原理与从小到大排列相同),其中一语句改为如下即可

    if(A[m]<A[n])
    
    • 写一个程序,统计自己C语言共写了多少行代码。

    不会写,通过查询资料像这样的,大概思路应该是先遍历有代码的格式的文件(如txt,main.c等),再从其中处理掉缓冲区所占的行数,进行统计。

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

    在调试程序时,程序运行到有断点的某行代码时会自动停止,就可以对代码进行逐步调试了。

    三、初步学习

    读完老师关于怎样快速阅读一本书以及快速翻阅了ppt之后,我有如下问题:

    • 反编译是什么?其指令又是以何种方式实现的?
    • java和c语言与有许多共通之处,再实际编程中如何区别?
    • 位运算符和instanseof运算符的更详尽的使用方法和环境?
    • 新的概念"方法"可否在c语言中找到类比概念?理解有困难。
    • 变量隐藏和重写的实际应用?继承关系的多重性?
    • 接口和模块调用是否可以类比?多态和参数的真正含义?
    • 断言和和断点的使用原理有几分类似,具体如何实现?
    • string类和stringbuffer类使用的具体区别?
    • GUI的细化方法?
    • 介绍认识了不同类类型的流,储存及运转方式?
    • MySQL关系数据库管理系统,其存放数据的形式是什么样的?
    • 线程如何脱离并形成独立周期?
    • 网络编程这些步骤之中的具体联系?
    • java制作类似fl studio的程序如何实现?
    • “泛型”为何为“参数化类型”?编译器编译时与其他基本类型有何不同?

    四、java学习规划

    通过此前的学习经验,在未来对java这门课程的学习中我觉得因该做到有目标,有要求,有规划,在学习的过程中摆正心态,脚踏实地的做题,不断理解和进步,在做题中学习知识,在做题中感受深层次的知识内涵,融汇贯通,不满足于现阶段所能达到的成就,提高了练习的难度,增强思维的活跃度,这样才能真正的学好一门课。

  • 相关阅读:
    浏览器
    背景图片设置
    用CSS画平行四边形
    git常用操作
    函数Function
    Object类型的创建和访问
    执行环境及作用域
    传值和传引用
    String类型
    HTML< legend >标签
  • 原文地址:https://www.cnblogs.com/Czzzz/p/8414495.html
Copyright © 2011-2022 走看看