刘子健的第二次博客——有关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语言(・᷄ᵌ・᷅)的更多相关文章
- OO第二次博客作业——电梯调度
OO第二次博客作业——电梯调度 前言 最近三周,OO课程进入多线程学习阶段,主要通过三次电梯调度作业来学习.从单部电梯的傻瓜式调度到有性能要求的调度到多部电梯的调度,难度逐渐提升,对同学们的要求逐渐变 ...
- OO第二次博客作业—17373247
OO第二次博客作业 零.写在前面 OO第二单元宣告结束,在这个单元里自己算是真正对面向对象编程产生了比较深刻的理解,也认识到了一个合理的架构为编程带来的极大的便利. (挂三次评测分数 看出得分接近等差 ...
- OOP第二章博客
OO第二次博客作业 (1)作业分析 三次作业在处理多线程的协同配合时都是使用将同步放在自己写的"线程安全类"(经测试有些许漏洞_,但是不影响结果就是了): 我个人倾向于把wait( ...
- Java第二次博客作业
Java第二次博客作业 时间过的很快啊,在不知不觉中这门课程的学习也就快要过去一半了,现在就来总结一下在这个第二个月的学习当中存在的问题以及得到的心得. 1.前言 第四次题目集和第五次题目集给我的感觉 ...
- pta第二次博客
目录 pta第二次博客 1.前言 2.设计与分析 第四次作业第一题 第四次作业第一题 第四次作业第一题 第四次作业第一题 pta第二次博客 1.前言 2.设计与分析 第四次作业第一题 1.题目: &q ...
- OO第二次博客作业(第二单元总结)
在我开始写这次博客作业的时候,窗外响起了希望之花,由此联想到乘坐自己写的电梯FROM-3-TO--1下楼洗澡,然后······ 开个玩笑,这么辣鸡的电梯肯定不会投入实际使用的,何况只是一次作业.还是从 ...
- 第二周博客作业 <西北师范大学| 周安伟>
一,本周助教小结 逐步开始适应助教工作,对学生发布的博客进行点评,查看学生对软件工程前期的准备情况. 二,助教本人博客 https://home.cnblogs.com/u/zaw-315/ 三,学生 ...
- C语言第二次博客作业---分支结构
一,PTA实验作业 题目1.计算分段函数 本题目要求计算下列分段函数f(x)的值: 1.实验代码 double x,result; scanf("%lf",&x); if( ...
- C语言第二次博客作业——分支结构
一.PTA实验作业 题目1:计算分段函数 1.实验代码 #include<stdio.h> #include<math.h> int main(void) { double x ...
随机推荐
- 从Nginx的Web请求处理机制中剖析多进程、多线程、异步IO
Nginx服务器web请求处理机制 从设计架构来说,Nginx服务器是与众不同的.不同之处一方面体现在它的模块化设计,另一方面,也是最重要的一方面,体现在它对客户端请求的处理机制上. Web服务器和客 ...
- C++学习笔记 宏 const 内联 枚举
宏, const变量, 内联, 枚举 宏 宏定义: 宏即宏替换,在C语言源程序中允许用一个标识符来表示一个字符串,称为宏,关键字 define,在所有使用到宏的地方都只是直接的替换而不做任何类型检查 ...
- shell计算小问题
1.shell处理两数相加时报错: req_all=$(($hits+$misses)) error: invalid arithmetic operator (error token is &quo ...
- System.Web.AspNetHostingPermission 类型的权限已失败
System.Security.SecurityException: 请求“System.Web.AspNetHostingPermission, System, Version=2.0.0.0, C ...
- working with fitnesse wiki pages
fitnesse提供一个简单易用的wiki创建一个web页面用于测试.测试页面有一个button,允许所有的测试在这个页面运行,因此任何人在任何时间都可以去这个页面点击这个按钮,查看测试是否通过.fi ...
- IOS要用到的东西
code4app.com 这网站不错,收集各种 iOS App 开发可以用到的代码示例 cocoacontrols.com/ 英文版本的lib收集 objclibs.com/ 精品lib的收集网站 h ...
- JDBC基础与连接sql2012
JDBC简介 JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成. 组成JDBC的2个包: java.sql javax.sql 以上2个包 ...
- SQL中exists和in比较
in 和exists in是把外表和内表作hash 连接,而exists 是对外表作loop 循环,每次loop 循环再对内表进行查询. 一直以来认为exists 比in 效率高的说法是不准确的.如果 ...
- Overview of the Oppia codebase(Oppia代码库总览)
Oppia is built with Google App Engine. Its backend is written in Python, and its frontend is written ...
- Lunix 命令
awk '{a[$1]+=1;if(a[$1]==1){print $0}}' awk -F ',' '{print $1, $6}' IS.csv | sort -k1n -k2n | awk ...