关于C语言知识调查
因为上一篇随笔对这一部分写得不够清楚,因此在这篇做一些补充。
你是怎么学习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,);本质是指针,举个例子吧:

其中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语言知识调查的更多相关文章
- 5332盛照宗 如何获取新技能+c语言学习调查
如何获取新技能+c语言学习调查 你有什么技能比大多人(超过90%以上)更好? 如果问我有没有什么技能比大多数人,并且是90%的人好,我还真不敢说有,因为世界上有70亿人,要比63亿人做的好才行啊.我也 ...
- 20165220 学习基础和C语言基础调查
# # # # 我觉得我打游戏(不知道算不算一技之长)毕竟从小学一年级就接触到了各种形形色色的游戏,讲道理其实我的游戏天赋毕竟还是很大的,从意识到感觉我觉得都比大多数人好一些,其实吧打游戏打得好也是很 ...
- 20165230 学习基础和C语言基础调查
20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...
- 20165234 预备作业2 学习基础和C语言基础调查
学习基础和C语言基础调查 一.技能学习经验及体会 你有什么技能比大多人(超过90%以上)更好? 看到这个问题,我仔细想了想,好像的确没有什么特别出众的技能,但是我想到了许多我个人的爱好. 我从小喜欢五 ...
- 20165337学习基础和C语言基础调查
20165337学习基础和C语言基础调查 你有什么技能比大多人(超过90%以上)更好? 讲道理我感觉我自己没有什么能比90%以上的人都做得好的技能,我就瘸子里面拔将军挑一个我自认为还不错的技能吧. 我 ...
- 学习基础和C语言基础调查
学习基础和C语言基础调查 一.一种比大多数人(超过90%以上)更好的技能 说句实话,我还没有那种特别特别自信的.说我能拿得出手的.所谓能超过百分之九十以上的人的技能.毕竟人外有人,天外有天. 姑且算上 ...
- 20165231 预备作业二:学习基础和C语言基础调查
微信文章感想 读了娄老师微信公众号中的文章,老师给我们的启示首先就是要坚持,万事开头难,但是只要肯坚持就一定会有所成就,不管是学习还是生活方面.其中最有触动的就是减肥了,是我三四年来一直难以完成的目标 ...
- 20165328 学习基础和C语言基础调查
一.技能学习经验: 1.你有什么技能比大多数人(超过90%以上)更好: 我算是一个普通人,没什么特别的才能,如果硬要说有什么技能比其他人较好的话,我想大概是快速阅读的能力吧,我能以很快的速度 ...
- 20165323 学习基础和C语言基础调查
20165323 学习基础和C语言基础调查 一.技能学习心得 1.你有什么技能比大多人更好? 我觉得我羽毛球打的还行,不能说打得比大多数人好,但是对于一些打羽毛球的要领还是掌握的. 2.针对这个技能的 ...
随机推荐
- 用Linux命令行实现删除和复制指定类型的文件
(一)Linux 删除当前目录及子目录中所有某种类型的文件 方法1 : 此方法不能处理目录中带空格的那些. rm -rf `find . -name "*.example"` Li ...
- IOS开发笔记 - 基于SDWebImage的网络图片加载处理
前言: 在IOS下通过URL读一张网络图片并不像Asp.net那样可以直接把图片路径放到图片路径的位置就ok, 而是需要我们通过一段类似流的方式去加载网络图片,接着才能把图片放入图片路径显示. 这里找 ...
- Linux设备驱动开发详解-Note(5)---Linux 内核及内核编程(1)
Linux 内核及内核编程(1) 成于坚持,败于止步 Linux 2.6 内核的特点 Linux 2.6 相对于 Linux 2.4 有相当大的改进,主要体现在如下几个方面. 1.新的调度器 2.6 ...
- Oracle层次查询和with函数的使用
开发中大家应该都做过什么类似部门管理这样的功能,一般情况下一个部门下面还有下一级部门(子部门),这个层级就类似一棵树.这种情况下一般会把父级部门和子级部门分成2个或者多个表,这种算是比较常规的做法:有 ...
- oralce 10g 官方认证的操作系统版本
oralce 10g 官方认证的操作系统版本 Operating system x86 Red Hat Enterprise Linux AS/ES 3 (Update 4 ...
- 记一次修复被篡改的IE首页
今天开电脑,打开IE发现首页被篡改为http://www.you2000.cn/,下意识是恶意插件造成的,可是为什么金山卫士没发现呢(我电脑上只装了一个金山卫士)?我锁定首页的啊... 只好手动运行金 ...
- linux内核内存管理(zone_dma zone_normal zone_highmem)
Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数 ...
- Python基础1-变量、运算符、表达式
一.Python的安装 1.下载python安装包https://www.python.org/ 2.选择对应的Python版本(Windows下) 3.装完之后打开电脑的cmd,验证一下安装是否成功 ...
- 无U盘安装Linux openSUSE(通过硬盘安装Linux)
一.说明 为什么会想着用硬盘安装Linux?只是因为我陆陆续续买了两个U盘,然后它们都丢了,就没再买了.然而现在又想装个openSUSE,没有U盘,只能想办法通过硬盘安装. 记录自己走过的弯路,同时也 ...
- JavaEE XML DOM创建
DOM创建XML @author ixenos 1.思路: 先封装构建一颗DOM树,然后将DOM树转换成XML文件 2.三种写DOM树到XML文件的方式: 1)使用DOM(或DOM4J.JDOM) 2 ...