2017寒假作业一

前言

在学习了一学期的C语言之后,我对计算机专业还是有点小迷茫,但正如老师所说的“当我们感觉宿舍或家里一片杂乱,不知道从哪开始大扫除或改变时,从脚下这片地开始扫起,一点点做”,我打算跟着一次次的作业和一步步的学习来完善自己。

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

这个问题想了好几天,作为一个在应试教育中成长起来的懒人,我没有任何值得骄傲且可以展示的技能,在学习中也没有特别擅长的方面,只有特别拐角的科目。所以在部门面试时,每当被问到特长爱好时只能回答:“没有兴趣,没有爱好,没有特长。”在询问老师脑洞特别大也可以之后,我发现,我在吐槽这一方面还是过得去的。所以,我要将吐槽作为我对这个问题的回答。

2. 针对这个技能的获取你有什么成功的经验?

我是在初二看了日漫《银魂》之后接触到“吐槽”这个词的。这部吐槽风的动漫打开了我新世界的大门,从此我就在吐槽的这条大道上策马奔腾了。并且在初中那段时间,非主流盛行,为我的吐槽提供了大量素材。再加上认识了几个志同道合,槽点特别多的朋友,兴趣所在,我的吐槽经验条就不停地蹭蹭的往上涨了。
总之,我回顾吐槽技能的获取,应该就是学习实践应用,再加上所处环境的情况和朋友的陪伴了,我想很多的技能都是通过这么一个模式来的吧。

有关C语言学习的调查

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

我主要是通过看书上课听讲以及动手敲敲代码完成作业来学习C语言的。
与吐槽一样,我在C语言的学习中得出的经验是一定要自己动手去实践。用一句小学课本的话来说就是“纸上得来终觉浅,绝知此事要躬行。”阅读课本和上课听讲得到知识最终都要通过实践来转换成自己的知识。在做作业的时候,我经常有了思路,却在打代码时遇到了困难,要么是无法将自己的思路转化为代码,要么就是写出的代码过于冗长繁琐或者是运行后无法得到想要的结果。所以我认为,勤于思考,上机操作是在C语言学习中特别重要的事。
对于C语言的学习,最大的教训就是一定要细心!我常常因为一点点的细节问题如括号、引号之类的小符号的错误而得不到想要的结果,不停地反复修改代码,甚至换个思路重写代码,反复折腾。而我在最后发现错误之后总是特别后悔自己的粗心大意,却又经常重蹈覆辙,重演历史。所以一定要细心是我最大的教训吧。

2. 目前为止估算自己写过多少行C代码?理解的情况如何?

我对数字没有什么概念,写过的代码大概有一千多行吧,我感觉我现在对于C语言的理解是一知半解,有些作业题都打不出来,而且我的代码常常是特别长,特别繁琐。总之,我在C语言的学习道路上还是刚刚起步,有一段特别长的路要走吧。

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

  • 数组指针:指向数组的指针,本质为指针。
  • 指针数组:所含元素为指针类型数据的数组,本质为数组。
  • 函数指针:指向函数的指针,本质为指针。
  • 指针函数:返回值为指针的函数,本质为函数。

    接下来的这些内容是我结合网络,书本和个人看法打出来的,错误应该挺多的,请见谅。

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

    关于文件和流我只在课本中见过它们的定义而已,不是很清楚它们的区别和联系,只知道文件一般是指存储在外部介质上数据的集合,是数据的输入输出,是一个传输通道。看第十章对于文件分类的介绍,可能是根据数据的组织形式来区分文本文件和二进制文件的吧。如果数据在内存中是以二进制形式存储的,可不加转换地输出到外存,则为二进制文件;若要求在外存上以ASCII代码形式存储,需要在存储前进行转换,则为文本文件。关于如何变成操作这两种文件,我也只是看了书本而已,不大清楚。

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

    应该是以过程为中心,从而设计程序解决问题的一种程序设计方法吧。它解决问题的方法是先分析问题,将问题细化为一个个的步骤,然后通过设计算法实现一个个的步骤来解决最终的问题。

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

    我觉得模块指的可能是一个功能吧,若干个模块有着若干个不同的功能,共同组成一个具有多个功能的程序这样。目前技术很渣,没有写过。

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

    我的理解是每个模块的功能应该尽可能单一高效,使每个模块之间尽量互不影响,从而使多个人一同编写一个大型程序时不易出错。关于如何应用不是很清楚,可能是把目标程序的功能细分成若干个部分,然后分别设计一个个模块来实现这若干个部分?以下来自百度百科:

    所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
    对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。

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

    将数组A的内容复制到数组B(int)


    int n,i,a[100],b[100];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
        b[i]=a[i];
    }
    for(i=0;i<n;i++)
        printf("%d",b[i]);

(char)

#include<stdio.h>
#include<string.h>
int main()
{
    char a[100],b[100];
    gets(a);
    strcpy(b,a);
    printf("%s",b);
    return 0;
}

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

#include<stdio.h>
int main()
{
    int i,n,a[100],f=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==5)
            f=1;
    }
    if(f==1)
        printf("Yes\n");
    else
        printf("No\n");
    return 0;
}

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

include<stdio.h>
int main()
{
    int i,j,n,a[100],t;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    for(i=0;i<n;i++)
    {for(j=0;j<n-i;j++)
        if(a[j]>a[j+1])
        {t=a[j];a[j]=a[j+1];a[j+1]=t;}
    }
    for(i=0;i<n;i++)
        printf("%d ",a[i]);
    return 0;
}

(从大到小)只是修改了一个符号


    for(i=0;i<n;i++)
    {
        for(j=0;j<n-i;j++)
            if(a[j]<a[j+1])
            {t=a[j];a[j]=a[j+1];a[j+1]=t;}
    }

Github折腾了很久,也不知道这样对不对。

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

这个....真的打不出来。

10.你知道什么是断点吗?给出自己调试程序的例子。(可以截图贴图说明)

调试程序时,程序会在设置断点的地方停止,便于查找错误。对于断点只是知道,不会使用。

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

具体的目标是一定要把作业打完!多动脑,多上机操作,争取对于一题有不同的思路和解法,力求精简自己的代码。通过多实践,多思考,多总结来实现目标。

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

我觉得我的写作能力特别不好,写作从来就没有逻辑,想到哪写到哪,就像这次的作业一样。提高写作能力应该要多阅读,先增加自己的积累,培养下逻辑,然后尝试着去模仿,最后形成自己的风格和习惯。当然最重要的是行动和锲而不舍的坚持了。


总之,第一次的寒假作业就这样完成了,希望我能改掉拖延的毛病,下次早点完成。

转载于:https://www.cnblogs.com/z031602148/p/6289243.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值