有关CCCCC语言(・᷄ᵌ・᷅)

下面又到了回答老师问题的时候啦~(・᷄ᵌ・᷅)

有些问题正在深思熟虑中!敬请期待近期的不间断更新!

  • 你有什么技能比大多人(超过90%以上)更好?
  • 针对这个技能的获取你有什么成功的经验?
  • 与老师博客中的学习经验有什么共通之处?

有关C语言学习的调查

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

  • 目前为止估算自己写过多少行C代码?理解的情况如何?
    • 多少行代码呢~我从没有估算过,我也觉得没必要估算,因为我知道不写代码就一定学不好C语言,但代码写多了也未必能学好C语言,因为仅从你自己你个人的角度并不能保证自己代码的质量和运行效率等问题。目前经历了一个学期C语言课程的我们水平实在不能说有多好,毕竟我们接受的编程训练从数量和时间上来说都是很有限的,我们大多数人可以说是为了C语言这门课为了期末考试而学习C语言,做编程题时也只是关心是否能完成题给任务,其他哪管那么多呢。因此在我看来,写过的C代码行数多少仅仅能作为C语言熟练度的一个参考而绝非衡量编程能力的一个标准,万一你编了好长一大堆虽达到要求而绝大部分都是垃圾代码呢~实在要估计的话呢,几千行应该有了吧,毕竟我密码学实验一个中国剩余定理就有四五百行代码了,再加上大一下学期C语言学习期间在徐小青老师的严厉教导下在作业系统上刷过的在记事本上记下的帮别人编过的无数道题呢。不过我承认,这样为了分数为了考试而学习的效果确实不好,不知道是不是自己智商确实不够无法领悟C语言真正精髓的原因,还是方法不得当亦或是训练量不够的问题,我觉得自己的编程能力并没有多少提高。一到上机考试了就懵逼不知所措大脑一片空白,虽然很多题目考前都编过的甚至做得更完美,导致了我C语言成绩很不理想,极大地打击了我学习C语言的热情。有些需要C语言实现的问题虽然自己能独立完成但需要花费大把的时间,可能是我力求每个程序都更加完美的缘故吧,光是自己加进去的一个防止非法输入就够我折腾半天了(我承认我密码学三次实验一拖再拖至今都没交给老师QWQ)……
  • 学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
  • 学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
  • 在C语言里面,什么是模块?你写过多个源文件的程序吗?
  • 学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
    • 虽然在徐小青老师的C语言课上没有听说过“高内聚,低耦合”的说法,但“耦合”这一概念我最早是在物理学电磁学那一章里接触到的,有一种电路叫做耦合电路,是说多个电路之间存在相互作用,之后的模电课上也有提过,因此我推断C语言中的“耦合”应该指的是不同程序块之间的相互影响吧,“低耦合”应该是要求各个独立的程序块之间尽量不相互影响吧;而“高内聚”则应该力求各个程序块内部紧凑、执行效率高这方面的吧。

    • 真正权威的定义百度一下才知道,也算是涨知识了吧:

    高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

    耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。

所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。

耦合:一个软件结构内不同模块之间互连程度的度量。

对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。

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

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

                #include<stdio.h>
      #include<stdlib.h>
      #define N 20
      int main()
      {
      int i,a[N],b[N];
      printf("请输入一个长度为%d的数组A:\n",N);
      for(i=0;i<N;i++)
      {
      scanf("%d",&a[i]);
      }
      for(i=0;i<N;i++)
      {
      b[i]=a[i];
      }
      return 0;
      }
    • 查找整数数组A中有没有数字5:

                #include<stdio.h>
      #include<stdlib.h>
      #define N 10 //定义数组长度为10
      int main()
      {
      int i,a[N],count=0,ret;
      printf("请输入一个长度为%d的数组:\n",N);
      for(i=0;i<N;i++)
      {
      scanf("%d",&a[i]);
      }
      for(i=0;i<N;i++)
      {
      if(a[i]==5) count++;
      }
      if(count==0) printf("该数组A中没有数字5");
      else printf("该数组A中有数字5");
      return 0;
      }
    • 对整数数组A进行排序(从小到大):

#include<stdio.h>
#include<stdlib.h>
#define N 5 //定义数组长度为5
int main()
{
int i,j,t,a[N];
printf("请输入一个长度为%d的数组:\n",N);
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<N-1;i++)
{
for(j=0;j<N-i-1;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;
}
  • 写一个程序,统计自己C语言共写了多少行代码。

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

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

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

    • 我觉得自己的写作能力一定没问题啦,毕竟现在写博客对我来说也是一种很强的锻炼写作能力的手段呀!再次给娄老师点赞!

预备作业二——有关CCCCC语言(・᷄ᵌ・᷅)的更多相关文章

  1. 20165318 预备作业二 学习基础和C语言基础调查

    20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...

  2. 20165231 预备作业二:学习基础和C语言基础调查

    微信文章感想 读了娄老师微信公众号中的文章,老师给我们的启示首先就是要坚持,万事开头难,但是只要肯坚持就一定会有所成就,不管是学习还是生活方面.其中最有触动的就是减肥了,是我三四年来一直难以完成的目标 ...

  3. 20165301 预备作业二:学习基础和C语言基础调查

    <做中学>读后感及C语言学习调查 读<做中学>有感 娄老师在文章中多次提到「做中学(Learning By Doing)」的概念,并通过娄老师自己的减肥经历.五笔练习经历.乒乓 ...

  4. 预备作业2 :学习基础和C语言基础调查

    剑网三毒经pk心得: 看完标题的你真的没有进错,这里是博客园. 想到写这篇文章的原因一部分是自己的确没啥技能比超过90%以上的人还好,还有一部分是受到了作业提示的指引...... 如果你有类似的技能获 ...

  5. 20165234 预备作业2 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.技能学习经验及体会 你有什么技能比大多人(超过90%以上)更好? 看到这个问题,我仔细想了想,好像的确没有什么特别出众的技能,但是我想到了许多我个人的爱好. 我从小喜欢五 ...

  6. 20165320 预备作业2:技能学习心得与C语言学习

    一.技能学习心得 1.你有什么技能比大多数人好? 我觉得我的篮球打得比一般的人好吧,但是也仅仅掌握了大部分基本的篮球技巧,算不上精通. 2.针对这个技能的获取你有什么成功的经验? 我觉得要打好篮球需要 ...

  7. 2016-2017-2 《Java程序设计》预备作业2总结

    2016-2017-2 <Java程序设计>预备作业2总结 古希腊学者普罗塔戈说过:「头脑不是一个要被填满的容器,而是一束需要被点燃的火把.」 在对计算机系的学生情况的调查中,我说: 最近 ...

  8. 2016-2017-2 《Java程序设计》预备作业1 总结

    2016-2017-2 <Java程序设计>预备作业1 总结 预备作业01:你期望的师生关系是什么见https://edu.cnblogs.com/campus/besti/2016-20 ...

  9. 20165327 预备作业3 Linux安装及学习

    20165327 预备作业3 Linux安装及学习 一.学习基于VirtualBox虚拟机安装Ubuntu图文教程,在自己笔记本上安装Linux操作系统,注意尽量选用最新版本的VirtualBox和U ...

随机推荐

  1. 基于JSP的RSS阅读器的设计与实现

    阅读器访问地址:http://easyrss.tk/,欢迎体验! 阅读导览 一.    概述  二.    设计的基本概念和原理 三.    设计方案 四.    主要源代码 五.    阅读器使用说 ...

  2. Eclipse发布的Dynamical web项目在Tomacat文件夹下显示

    Eclipse设置了Tomacat后,项目信息会在你的workspace上,在Tomacat文件夹上是没有的.但是通过设置是可以在Tomacat文件夹上存在的. 配置好服务器后,先关闭服务器,然后在E ...

  3. 浅谈JVM-图解类加载机制

    一.目录 二.类加载机制流程 1.什么是类加载机制? JVM把class文件加载到内存里面,并对数据进行校验.准备.解析和初始化,最终能够被形成被JVM可以直接使用的Java类型的过程. 2.类加载流 ...

  4. Linux 文件缓存 (二)

    close系统调用入口1. 首先来到系统调用入口,主要使用__close_fd进行了具体的处理过程,并没有耗时操作.(current->files表示进程当前打开文件表信息,fd为需要关闭的文件 ...

  5. 在GDI+中如何实现以左下角为原点的笛卡尔坐标系

    今天写了一个求点集合的凸包的一个算法,虽然结果求解出来了,但是想将过程用GDI+绘制出来,就需要将点绘制出来,然而c#GDI+中绘图的坐标与我们常用数学中笛卡尔坐标系是不一样的,所以就要转换GDI+中 ...

  6. 导航栏布局时遇到的问题以及解决办法 css选择器优先级

    得到的导航栏效果 添加#menu ul li{width:30px;} 效果如图 将会使列表项和分隔区域的宽度同时改变因为id选择器的优先级高于类选择器,此时应该为列表项添加内联样式如图 才能得到如下 ...

  7. JavaScript中==和===的区别(面试题目)

    ==用于一般比较,===用于严格比较;==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase. 举例说明: "1" == true; //true 类型不 ...

  8. 增加图例 Legend和删除图例

    private void button1_Click(object sender, System.EventArgs e) { //Get the GraphicsContainer IGraphic ...

  9. onscroll事件没有响应的原因以及vue.js中添加onscroll事件监听的方法

    1 onscroll事件失效 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  10. 使用jvisualvm的jstatd方式远程监控Java程序

    使用Java自带的jvisualvm调试Java程序,可以查看CPU.内存.类及线程等信息,还可以进行Dump,无疑是一个利器 由于客户端是Windows.服务端是Linux,并且是最小安装的Linu ...