有关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. OO第二次博客作业——电梯调度

    OO第二次博客作业——电梯调度 前言 最近三周,OO课程进入多线程学习阶段,主要通过三次电梯调度作业来学习.从单部电梯的傻瓜式调度到有性能要求的调度到多部电梯的调度,难度逐渐提升,对同学们的要求逐渐变 ...

  2. OO第二次博客作业—17373247

    OO第二次博客作业 零.写在前面 OO第二单元宣告结束,在这个单元里自己算是真正对面向对象编程产生了比较深刻的理解,也认识到了一个合理的架构为编程带来的极大的便利. (挂三次评测分数 看出得分接近等差 ...

  3. OOP第二章博客

    OO第二次博客作业 (1)作业分析 三次作业在处理多线程的协同配合时都是使用将同步放在自己写的"线程安全类"(经测试有些许漏洞_,但是不影响结果就是了): 我个人倾向于把wait( ...

  4. Java第二次博客作业

    Java第二次博客作业 时间过的很快啊,在不知不觉中这门课程的学习也就快要过去一半了,现在就来总结一下在这个第二个月的学习当中存在的问题以及得到的心得. 1.前言 第四次题目集和第五次题目集给我的感觉 ...

  5. pta第二次博客

    目录 pta第二次博客 1.前言 2.设计与分析 第四次作业第一题 第四次作业第一题 第四次作业第一题 第四次作业第一题 pta第二次博客 1.前言 2.设计与分析 第四次作业第一题 1.题目: &q ...

  6. OO第二次博客作业(第二单元总结)

    在我开始写这次博客作业的时候,窗外响起了希望之花,由此联想到乘坐自己写的电梯FROM-3-TO--1下楼洗澡,然后······ 开个玩笑,这么辣鸡的电梯肯定不会投入实际使用的,何况只是一次作业.还是从 ...

  7. 第二周博客作业 <西北师范大学| 周安伟>

    一,本周助教小结 逐步开始适应助教工作,对学生发布的博客进行点评,查看学生对软件工程前期的准备情况. 二,助教本人博客 https://home.cnblogs.com/u/zaw-315/ 三,学生 ...

  8. C语言第二次博客作业---分支结构

    一,PTA实验作业 题目1.计算分段函数 本题目要求计算下列分段函数f(x)的值: 1.实验代码 double x,result; scanf("%lf",&x); if( ...

  9. C语言第二次博客作业——分支结构

    一.PTA实验作业 题目1:计算分段函数 1.实验代码 #include<stdio.h> #include<math.h> int main(void) { double x ...

随机推荐

  1. 好用的Markdown编辑器一览

    Markdown 是一种简单的.轻量级的标记语法.用户可以使用诸如 * # 等简单的标记符号以最小的输入代价生成极富表现力的文档. Markdown具有很多优点: 写作中添加简单符号即完成排版,所见即 ...

  2. 如何修改MyEclipse项目的web context-root

    修改一个MyEclipse项目的名称很容易,右键点项目->rename就行了. 但此时项目的web context-root 还没有改变,需要右键点项目->properties->M ...

  3. swift language

    API reference Swift UIKit Swift 菜鸟教程 Great Installed Visual Studio Code, I found I cannot open it fr ...

  4. linux基础

    用户管理: id:可以查看当前用户 whoami:查看当前的用户 who:看当前已经登录的用户  w:也可以看 添加用户:useradd name 添加用户组: useradd -g groupnam ...

  5. Android四大核心组件之Service

    实验内容 启动Service 绑定Service 与Service进行通信 实验要求 启动Service 绑定Service 与Service进行通信 实验步骤 Service概述 Service通常 ...

  6. Ubuntu 下安装 Mysql

    这里讲用Ubuntu下安装MySql ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server   2. apt-get ...

  7. Rational Rose2007下载安装教程以及问题处理

    Rational Rose2007详细安装步骤 学习了UML,那么Rational rose画图软件当然就是必不可少的了.我的电脑是win7 64位的系统.下面的链接是安装软件以及破解方法.该软件是B ...

  8. 终于解决各种动画问题了,感谢雨松MOMO

    http://www.xuanyusong.com/archives/2222 看懂了,什么问题关于动画的都可以解决的,加油!

  9. 论文阅读(Zhuoyao Zhong——【aixiv2016】DeepText A Unified Framework for Text Proposal Generation and Text Detection in Natural Images)

    Zhuoyao Zhong--[aixiv2016]DeepText A Unified Framework for Text Proposal Generation and Text Detecti ...

  10. mysql 触发器示例和注解

    -- 格式 CREATE TRIGGER 触发器名称 AFTER|before insert|update|delete ON 触发表 FOR EACH ROW BEGIN insert into 处 ...