预备作业二——有关CCCCC语言(・᷄ᵌ・᷅)
有关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语言(・᷄ᵌ・᷅)的更多相关文章
- 20165318 预备作业二 学习基础和C语言基础调查
20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...
- 20165231 预备作业二:学习基础和C语言基础调查
微信文章感想 读了娄老师微信公众号中的文章,老师给我们的启示首先就是要坚持,万事开头难,但是只要肯坚持就一定会有所成就,不管是学习还是生活方面.其中最有触动的就是减肥了,是我三四年来一直难以完成的目标 ...
- 20165301 预备作业二:学习基础和C语言基础调查
<做中学>读后感及C语言学习调查 读<做中学>有感 娄老师在文章中多次提到「做中学(Learning By Doing)」的概念,并通过娄老师自己的减肥经历.五笔练习经历.乒乓 ...
- 预备作业2 :学习基础和C语言基础调查
剑网三毒经pk心得: 看完标题的你真的没有进错,这里是博客园. 想到写这篇文章的原因一部分是自己的确没啥技能比超过90%以上的人还好,还有一部分是受到了作业提示的指引...... 如果你有类似的技能获 ...
- 20165234 预备作业2 学习基础和C语言基础调查
学习基础和C语言基础调查 一.技能学习经验及体会 你有什么技能比大多人(超过90%以上)更好? 看到这个问题,我仔细想了想,好像的确没有什么特别出众的技能,但是我想到了许多我个人的爱好. 我从小喜欢五 ...
- 20165320 预备作业2:技能学习心得与C语言学习
一.技能学习心得 1.你有什么技能比大多数人好? 我觉得我的篮球打得比一般的人好吧,但是也仅仅掌握了大部分基本的篮球技巧,算不上精通. 2.针对这个技能的获取你有什么成功的经验? 我觉得要打好篮球需要 ...
- 2016-2017-2 《Java程序设计》预备作业2总结
2016-2017-2 <Java程序设计>预备作业2总结 古希腊学者普罗塔戈说过:「头脑不是一个要被填满的容器,而是一束需要被点燃的火把.」 在对计算机系的学生情况的调查中,我说: 最近 ...
- 2016-2017-2 《Java程序设计》预备作业1 总结
2016-2017-2 <Java程序设计>预备作业1 总结 预备作业01:你期望的师生关系是什么见https://edu.cnblogs.com/campus/besti/2016-20 ...
- 20165327 预备作业3 Linux安装及学习
20165327 预备作业3 Linux安装及学习 一.学习基于VirtualBox虚拟机安装Ubuntu图文教程,在自己笔记本上安装Linux操作系统,注意尽量选用最新版本的VirtualBox和U ...
随机推荐
- nylg 开方数
开方数 时间限制:500 ms | 内存限制:65535 KB 难度:3 描述 现在给你两个数 n 和 p ,让你求出 p 的开 n 次方. 输入 每组数据包含两个数n和p.当n和p都为0 ...
- win10完美去除小箭头
1.去掉小箭头 reg add /d "%systemroot%\system32\imageres.dll,197" /t reg_sz /f taskkill /f /im e ...
- JVM类加载器及Java类的生命周期
预定义类加载器(三种): 启动(Bootstrap)类加载器: 是用本地代码实现的类装入器,它负责将<Java_Runtime_Home>/lib下面的类库加载到内存中(比如rt.jar) ...
- LeetCode Tries Prefix Tree
class TrieNode { public: ; TrieNode* child[NR_FANOUT]; int count; // Initialize your data structure ...
- CSS关于文本渲染的属性text-rendering
CSS关于文本渲染的属性text-rendering告诉渲染引擎工作时如何优化显示文本. 浏览器会在渲染速度.易读性(清晰度)和几何精度方面做一个权衡. 我们知道,SVG-可缩放矢量图形(Scalab ...
- JQuer.HoverDir的基本使用方法
首先引入JQ和HoverDir库 HTML部分: <ul id="da-thumbs" class="da-thumbs"> <li> ...
- Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug
这几天eclipse 项目迁移 android studio Error:Execution failed for task ':app:transformClassesWithJarMergingF ...
- springMVC入门-08
这一讲介绍用户登录实现以及两种异常处理controller控制器的方法,最后提一下在springMVC中对静态资源访问的实现方法. 用户登录需要一个登录页面login.jsp,对应代码如下所示: &l ...
- [翻译] DDExpandableButton
DDExpandableButton https://github.com/ddebin/DDExpandableButton Purpose - 目的 DDExpandableButton is a ...
- EXC_BAD_ACCESS错误
EXC_BAD_ACCESS错误 一直都是使用ARC开发,咋就莫名其妙的出现这种EXC_BAD_ACCESS错误. 一直都是是怀疑在block中有着特殊处理,导致了使用时出现了这种错误,查找了好久.. ...