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

你是怎么学习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. JavaEE:response响应和request请求

    Web服务器接收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象既然代表请求和响应,那么我 ...

  2. iOS 测试驱动开发

    测试驱动开发是敏捷开发的一部分,它一般有“red-green- refactor”步骤 iOS测试驱动开发的工具 一. OCUnit 是Xcode自带的测试工具 其使用步骤分为 1 建立测试的Targ ...

  3. mysql基础:数据库的创建,增删改查

    =============查看数据库========================== 使用SHOW语句找出服务器上当前存在什么数据库: mysql> SHOW DATABASES; +--- ...

  4. android.database.CursorIndexOutOfBoundsException: Index <m> requested, with a size of <n>

    遇到这样的问题比较郁闷,造成上述问题的原因也是多种多样的. 总结一下原因: 1:得到cursor对象,没有moveToPosition()或者moveToNext()等游标操作就进行cursor.ge ...

  5. 项目开发之分页---异步分页(ajax)

    PS:前面忘了给大家讲解后台需要做的 ,同步分页的时候,我们只需要定义一个方法,给前台传递一个page对象,前台接收到直接展示即可:异步分页要多一步,首先还是写一个方法,传递初始对象,后面的ajax返 ...

  6. 关于ocx中遇到的坑

    前言 这还是第一次写博客,以前太懒了,现在发现是很有必要记录下这些经验和问题的.最近项目中有个需求(报表单据需要客户签名,连接签字板,把签名单据同步到服务器上),需要和硬件交互,当时硬件商提供了ocx ...

  7. 如何在网站中加入markdown

    在vue组件中加入markdown,模板使用的是webpack 我是这样做的: 因为是npm引入的,所以markdown是遵循CommonJS规范的,需要在webpack.base.conf.js里引 ...

  8. ASP.NET Zero--11.一个例子(4)商品分类管理-数据检验

    虽然已经可以添加商品分类,但还需进行优化,比如:用户是否输入.输入字符串是否有格式限制等等. 打开添加分类按钮,名称不输入任何字符,直接保存,会发现列表添加一条空记录.在实际项目中,这是不允许出现的事 ...

  9. Curator Recipes(Cache&Counter)

    Cache 路径缓存(Path Cache) 监视一个ZNode,当子节点增加.更新.删除改变状态时,路径缓存会在本地保存当前子节点及其数据和状态. public PathChildrenCache( ...

  10. java的return区别

    return ;和return null的区别在于:前者当方法返回值为void时候,return ; 跳出方法. 后者当方法的返回值为object对象时,return null,跳出方法,返回值为空值 ...