• 2017《面向对象程序设计》寒假作业一


    前言

    以前也有开过博客不过最后因为各种原因而放弃了,既然是随笔那我就随意的写一下啦。

    1.在人生技能道路上,你有没有专长的高超技能获取的成功经验

    你有什么技能比大多人(超过70%以上)更好?
    针对这个技能的获取你有什么成功的经验?

    有什么技能能比大多数人好?对于我来说有两方面,一个是表现在外面:短跑成绩;另一个属于性格特质:能坚持去做一件事。前者没有成功的经验吧,因为是天生的身体素质所造就的;后者成功的经验在于拥有不错的心态,不会因为一些挫折而轻易放弃。

    2.有关C语言学习的调查

    你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?
    目前为止估算自己写过多少行C代码?理解的情况如何?

    我学习C语言的方式是自学为主,教师指导为辅助。与我的高超技能相比,我的C语言学习应该一样持之以恒并且以平和的心态来学习C语言,不要急功近利。我估计自己写了大概上千行代码了吧,我在C语言的学习过程中了解了顺序结构,条件结构和循环结构。在此之上,是对数值和计算机内存的操作,指针可以直接对内存操作,指针是C语言的根基。
    大概有上千行了吧。

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

    大致了解了:
    数组指针:指向数组第一位数据的指针

    指针数组:由指针类型组成的数组

    函数指针:指向函数体的内存地址的指针

    指针函数:传入数据或传出数据包含指针类型的函数

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

    文件应该是存储在存储器中的01序列,而流则是文件信息从一个地方到另一个地方的过程。文本文件是通过将二进制码转换成ASCLL码的文件,而二进制文件这是由01组成的文件,这在书上文件操作一章有提到。如何变成操作两种文件的话,在C的课本中讲是通过r和rb来操作的,rb代表二进制文件的读取。

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

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

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

    按照功能将一个软件切分成许多部分单独开发,然后再组装起来,每一个部分即为模块 ,模块是在内核空间运行的程序,实际上是一种目标对象文件。我自己还没有尝试写过多个源文件的程序。

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

    大概就是写的一段代码尽可能专一的完成一个任务,各段代码尽量模块化互相独立.不要像刚学写程序时那样从头写到尾只能完成当前任务,不能被移植倒其他任务中。

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

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

    for (i=1;i<=lengthOfArrayA;i++){
        b[i]=a[i];
    }
    

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

    bool have5=false;
    for(i=1;i<=lengthOfArrayA;i++){
        if (a[i]==5) {
            have5=true;
            break;
        }
    }
    

    对整数数组A进行排序(从小到大,从大到小):

    #include<stdio.h>
    #include<stdlib.h>
    int cmp(const void *a,const void *b){
        return(*(int *)a-*(int *)b);
    }
    int main(){
    int n=3;
    int a[3]={1,3,2};
    qsort(a,n,sizeof(a[0]),cmp);
    printf("%d",a[1]);
    }
    

    写一个程序,统计自己C语言共写了多少行代码。(将上述多个程序的Github链接附在随笔上,可以在随笔上附上关键而非全部代码)

    #include <stdio.h>
     
    int main() {
        int ch,lines;
        FILE *fp;
        char filename[FILENAME_MAX];
        printf("输入文件名:");
        while(scanf("%s",filename) == 1) {
            fp = fopen(filename,"rt");
            if(fp == NULL) {
                printf("无法打开数据文件:%s
    ",filename);
                printf("输入文件名(or <Ctrl + Z>):");
                continue;
            }
            lines = 0;
            while((ch = fgetc(fp)) != EOF) {
                if(ch == '
    ') ++lines;
            }
            fclose(fp);
            printf("%s : %d
    ",filename,lines);
            printf("输入文件名(or <Ctrl + Z>):");
        }
        return 0;
    }
    

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

    我希望通过《面向对象程序设计》的学习写出更高质量的代码,进一步提升自己的学习能力和水平。“做中学”我觉得大致意思就是实践为主,也就是自己多敲敲代码自己多研究琢磨新的技巧,自己一点一点积累经验。

    毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?

    我觉得自己的写作能力比较平庸。写作能力我觉得在一定程度上和逻辑能力有关,因为写作的铺排和陈述都有讲究逻辑,一步一步如何下来的都有规律。因此我觉得,提升自己的逻辑能力,比如打打代码应该就可以在一定程度上提升一些,当然,适当的阅读量对自己的写作能力的提升也很有帮助。

  • 相关阅读:
    网站访问量大 怎样优化mysql数据库
    BootStrap 模态框禁用空白处点击关闭
    常用SQL语句
    诅咒JavaScript之----ArcGIS JavaScript 点聚合 ClusterLayer
    模态框与 天地图地图控件冲突
    FXK Javascript
    从列表中或数组中随机抽取固定数量的元素组成新的数组或列表
    wangEditor
    手把手教你用vue-cli构建一个简单的路由应用
    解决eclipse端口被占用的问题
  • 原文地址:https://www.cnblogs.com/fleur1025/p/6284116.html
Copyright © 2020-2023  润新知