因为上一篇随笔对这一部分写得不够清楚,因此在这篇做一些补充。

你是怎么学习C语言的?

起初,对于C语言的学习主要是通过老师课堂的教学,完成相关的课后作业。与我的技能相比的话,他们都有一个共同点需要去实践,需要尝试,要自己去敲代码,对于教训的话,比如在之前很多情况下,对于书上的一些代码例题,认为自己一看就会,已经掌握了方法。比如对于一开始学习冒泡排序的时候,看了书上的例题感觉自己会了,等到做编程题的时候,发现自己敲出的冒泡排序漏洞百出,最终还是翻开书本一一对照,比较我的代码与书上的差别。发现自己在处理循环的结束条件和中间的排序与书上有较大的差别。唉,这就很尴尬了。这就当成一个大的教训吧。因此对于敲代码还是要自己敲敲看,才能熟练。对于编写一个关于计算代码行数的计算程序,目前还不会。只能自己去估计。自我认为对C语言的理解情况,只能就掌握了它的皮毛。

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

数组指针:在代码中可以这样表示 int (*a)[10]; 在应用中较常出现的是,二维数组指针。有了数组指针,对于二维数组有更好的表达它的地址。例如&a[i][j]就是指(*(p+i)+j)两者等价,可以把(*a)[10]理解成~~一个数组里含有10个指针~~(怎么说,这里有点乱乱的,有点说不出来)尴尬 T_T 。
指针数组:在代码中的表示 int *a[10]; 说明有十个指针。其所含的元素都是指针,其中a[i]指的是第i+1个元素的地址。
函数指针:指向函数的指针,比如:int (*p)(int x, int y,);本质是指针,举个例子吧:
![](http://images2015.cnblogs.com/blog/1092267/201701/1092267-20170113224347791-2068779374.png)
其中int (*p)(int a,int b);中 p指向了max函数。
指针函数:代码表示 : int *p(int x);对于表达就是有无括号的区别。本质是函数,指针型函数。但他的返回值是一个地址。然后其返回值也要赋值给一个指针。我的理解是先把p(int x)看成一个整体,加上*就是变成其地址(指针)。所以返回值是个指针。

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

在没写这个随笔之前都不知道流的意思。查阅了一下资料,文件是数据的基本单位,是用于数据读取,保存的地方。流指的是字节序列的抽象概念,是信息的转换,有输入流和输出流。。。。可以说是一个信息通道吧。文本文件和二进制文件,我认为是内部表达上的不同,二进制文件,是把数据以二进制的形式储存下来。简单的说 用记事本打开不会乱码就是文本文件,会乱码就是二进制文件。具体操作,不会。

学过了C语言,你知道什么叫面向过程程序设计吗?

我认为面向过程程序设计,面向过程是一种以过程为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。解决问题,按照一定的流程步骤来解决。

在C语言里面,什么是模块?你写过多个源文件的程序吗?学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?

模块,我认为是把一个程序内容分开,成一个个区域,然后在主函数中调用,也就是利用函数,将一个庞大的程序模块话,利用函数实现其各种功能。而高内聚,低耦合也是这个意思,就是对函数的巧用,使整个程序看起来不会冗长,很复杂。让程序员看得较清楚。

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

这一部分在上一篇随笔提到了,目前对于排序还只是停留在冒泡排序法上面,还有很多排序法没有去了解。过几天的话,如果可以我再把学到的排序写出来0.0。

写一个程序,统计自己C语言共写了多少行代码。(将上述多个程序的Github链接附在随笔上,可以在随笔上附上关键而非全部代码)你知道什么是断点吗?给出自己调试程序的例子。(可以截图贴图说明)

对于编写程序计算代码行数目前还不会。只能复制下来,观察。。。。至于断点的话,适用于调试程序错误时用到的,当程序出现错误,利用它,结束程序,目前我知道exit();这个结束程序的方法0.0。不过,在目前,我调试并发现错误,一般是用printf();来观察的。

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

具体目标就是好好读书吧,只能通过勤敲代码来提高能力和思维吧。感觉对于编程的学习,是要通过“做中学”才能有效提高,对于不懂的知识,在求解问题的过程中,对它进行了解,并学下来。我认为,编程许多问题是要在敲代码的时候才会显现出来,然后在过程中学习,解决疑问。
这篇就先写成这样吧,上次没有用Markdown来编写,这次补上0.0。

关于C语言知识调查的更多相关文章

  1. 5332盛照宗 如何获取新技能+c语言学习调查

    如何获取新技能+c语言学习调查 你有什么技能比大多人(超过90%以上)更好? 如果问我有没有什么技能比大多数人,并且是90%的人好,我还真不敢说有,因为世界上有70亿人,要比63亿人做的好才行啊.我也 ...

  2. 20165220 学习基础和C语言基础调查

    # # # # 我觉得我打游戏(不知道算不算一技之长)毕竟从小学一年级就接触到了各种形形色色的游戏,讲道理其实我的游戏天赋毕竟还是很大的,从意识到感觉我觉得都比大多数人好一些,其实吧打游戏打得好也是很 ...

  3. 20165230 学习基础和C语言基础调查

    20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...

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

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

  5. 20165337学习基础和C语言基础调查

    20165337学习基础和C语言基础调查 你有什么技能比大多人(超过90%以上)更好? 讲道理我感觉我自己没有什么能比90%以上的人都做得好的技能,我就瘸子里面拔将军挑一个我自认为还不错的技能吧. 我 ...

  6. 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.一种比大多数人(超过90%以上)更好的技能 说句实话,我还没有那种特别特别自信的.说我能拿得出手的.所谓能超过百分之九十以上的人的技能.毕竟人外有人,天外有天. 姑且算上 ...

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

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

  8. 20165328 学习基础和C语言基础调查

    一.技能学习经验:      1.你有什么技能比大多数人(超过90%以上)更好: 我算是一个普通人,没什么特别的才能,如果硬要说有什么技能比其他人较好的话,我想大概是快速阅读的能力吧,我能以很快的速度 ...

  9. 20165323 学习基础和C语言基础调查

    20165323 学习基础和C语言基础调查 一.技能学习心得 1.你有什么技能比大多人更好? 我觉得我羽毛球打的还行,不能说打得比大多数人好,但是对于一些打羽毛球的要领还是掌握的. 2.针对这个技能的 ...

随机推荐

  1. ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS

    ASP.NET MVC:利用ASP.NET MVC4的IBundleTransform集成LESS 背景 LESS确实不错,只是每次写完LESS都要手工编译一下有点麻烦(VS插件一直没有安装好),昨天 ...

  2. 写一个简单的Web框架

    在.Net中有两种常用的Web开发方式,一种是Asp.Net WebForm,另一种是Asp.Net MVC.我先简单的给大家介绍下这两种开发方式的特点,然后再应用自定义脚本映射,反射,json2te ...

  3. 提高Java代码质量的Eclipse插件之Checkstyle的使用详解

    提高Java代码质量的Eclipse插件之Checkstyle的使用详解 CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具.它能够自动化代 ...

  4. Servlet的Request.getInputStream()只能读取一次问题

    Servlet的Request.getInputStream()只能读取一次问题 这个星期公司的项目接口进行改造,公司的接口有的采用了WebService的方式,有的使用的是Http协议+Servle ...

  5. 工作流--JBPM简介及开发环境搭建

    一. 工作流简介 项目中不断的接触工作流,点点滴滴积累了一些,下面把一些学习到的东西整理记录下来. 工作流一般的适用场景:公文流转.行政审批.订单处理.产品研发.制造过程等.用专业一点的语言来描述工作 ...

  6. struts征程:1.初识struts2

    1.struts2在开发中所必须用到的jar包导入到项目的lib目录下 2.在web.xml中配置一个过滤器,代码格式如下 <filter> <filter-name>stru ...

  7. message from server: "Host 'xxx' is not allowed to connect to this MySQL server的解决

    解决方法:    1. 改表法.    可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" ...

  8. .net 实战 根据configuration选项生成不同的config文件

    项目开发过程中都会遇到的问题,开发环境的配置肯定是和生产环境不一样的,一直都是重复手动拷贝,但是配置太多拷贝的弊端就显现出来了,为了解决这个问题可以有几种方案: 1.Web.config Transf ...

  9. Putty的注册表设置

    Putty是一款非常好用的远程管理Linux系统的工具,其主要具有以下几个优点:  完全免费;  在Windows 9x/NT/2000下运行的都非常好;  全面支持SSH1和SSH2:  绿色软件, ...

  10. openstack私有云布署实践【9.2 Glance镜像管理(办公网环境)】

    首先登录controller1创建glance数据库,并赋于远程和本地访问的权限.      mysql -u root -p   CREATE DATABASE glance; GRANT ALL ...