刚毕业的时候用了两个多月的C语言编程,总的来说对它还是很有感受的,C是一个过程式语言,没有像C++,Java等OOP语言这样那样的一系列的规则和限制;它比较灵活,简洁,高效;这些是给我的印象最深的。这是很久以前写的东西了,现在贴出来,希望对正在学习C语言的人有所帮助。

关于C编程的一些感受。

a.现在写程序的人很多,但大部分都是用的高级语言,其实一个优秀的程序员,一个优秀的软件工程师,都应该从底层做起,例如从汇编,从Dos;就像我的一个领导说的那样,计算机像一个海洋,而硬件就是海底,汇编和Dos是海床,是它们支撑了这个庞大的海洋;而高级语言则如同海里的船,等我们有了基础再去造各种各样的船那就很简单了。

b. 由于我们写的程序不能只有自己一个人来读,因此写代码期间移一定要有加详细注释的习惯,这样既可以增强程序的可读性,方便与别人交流合作;也会为自己调试程序带来方便。加注释要尽量用英文,因为有的编译器可能不支持汉字,例如Turboc,BorlandC++。

c . 指针是C语言的核心,因此在使用它时一定要格外小心,使用它时要尽量这样定义char p[],而不用这种形式 char * p; 后一种定义有时会给你带来意想不到的麻烦和错误。

d. 对于我们这些刚入门的人来说,写程序一定要养成良好的风格:例如函数定义,变量声明要让人们很容易能联想到它的作用,大括号上下要严格对齐,语句和它的子集语句要有明显的间隔,通常以一个Tab键的距离为准;等等这些吧。

e. 如果有能力的话,自己定义函数,而不是每次都被动的去使用编译器提供的库函数,因为我觉得使用自己定义的函数更放心。C++里面就不是这样了,在C++里面则要求尽量使用它自己的类库,而不是自己重新定义。

f. 你的东西做出来以后,一定要请多个人去调试,因为人们往往受定性思维的限制,这使得有些潜在的异常你很难发现,但别人也许会轻而易举的找到它,从而能帮你尽快完善你的程序。

g. 写程序一定要注意它的可扩充性和通用性,例如同样的一个绘制编辑框函数,有的可以绘制很多种不同大小的框,而有的则只能画固定长宽的框,这就是区别;所以不论写什么函数都要考虑它的通用性,定义好入口参数。

//附加:如果想以后转向C++或java编程的话,建议C语言不要学的太精,因为有这样一句话“C语言学的越精,就越不容易发挥C++语言的优势”。^_^!

回复:
写的还可以,和我的想法差不多。不过有些观点我不敢拘同:

1、指针很简单,就是一个地址而已,懂汇编都知道,那是一种内存寻址方式。char[] szText 和 char* pText,我更喜欢后者,因为它更灵活。[]只是一个数组而已,数组是一经分配就不能再赋值的,而*才是指针。它可以用malloc和free创建动态的内存分配。

2、这一句:“加注释要尽量用英文,因为有的编译器可能不支持汉字,例如Turboc,BorlandC++。”。我也提倡加释时尽量用英文,但你似乎可能打错字了吧?编译器是不会解释注释的,只有在源码编辑器环境中,才有这一说法。所以你应该说“……因为有的编辑器……”

关于C编程的一点感受相关推荐

  1. 【知乎问题】如何让不懂编程的人感受到编程的魅力?

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  2. 【知乎问题】如何让不懂编程的人感受到编程的魅力

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  3. 走出程序员的悲哀+自己的一点感受

    本文转载自:http://topic.csdn.net/u/20100524/13/f5cf8430-4bae-4b02-9421-e36bc318ea0f.html 外加自己的一点感受 <走出 ...

  4. 偶尔会有的一点感受(二)

    我是小康小白,一个平平无奇的Java小白.热爱有趣的文字,生活和远方. 写点日常所感或者放点美好的句子吧(保持一下自己的一个小小爱好,(- ̄▽ ̄)-(- ̄▽ ̄)-) 接上文偶尔会有的一点感受(一) 1 ...

  5. js面向数据编程(DOP)一点分享(转载)

    js面向数据编程(DOP)一点分享 by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpr ...

  6. 珍爱生命,远离微软,一点感受源自知乎上的某人评论

    以下纯转载,不代表博主观点^_^,吃瓜请自重.. 珍爱生命,远离微软,一点感受源自知乎上的某人评论 http://blog.sina.com.cn/s/blog_8ba3f5130102vty7.ht ...

  7. 对日软件外包的一点感受

    http://kang.iteye.com/blog/228525 一年多以前,自己开始参与到一个对日软件外包的项目中,现在将自己的一点感受写下来,希望对其他刚开始从事或者即将从事对日外包的同志有所帮 ...

  8. 关于复习《网络经济与企业管理》的一点感受

    这段时间正在忙于自考的复习,昨天做了一套网络经济的卷子,做之前大致浏览了一遍,题型为:单选.多选.问答.论述以及案例分析等.选择题占总分的40%,问答占30%,论述10%,案例分析20%. 初做之后, ...

  9. 编程如何入门?写写自己一点感受

    今天在网络上看到一个哥们的提问,就简短的回答了一下,完全手敲,纯属个人想法. 看到你的提问,我就想起了当年学编程的各种情景,感慨万千.首先,我并不是稀罕你的积分,我自己几万积分都用不完,我只是想给想初 ...

最新文章

  1. 执行appium程序时遇到如下报错,ImportError: cannot import name 'InvalidArgumentException',...
  2. 网络防嗅探工具SniffJoke
  3. Python报错UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 1413-1418: ordinal not
  4. Java基础之IDE
  5. QGraphicsItem获取不到鼠标事件
  6. yeoman生成react基本架构
  7. yolov5 deepsort 行人车辆 双向计数 跟踪检测
  8. fastreport iif小于条件_杭州灭菌柜验证需要什么条件
  9. iOS CocoaPods安装和使用图解
  10. 特别实用的几种SQL语句送给大家,让你的SQL高大上!
  11. Flash 应用:大智慧flash版本
  12. 线上软测培训机构柠檬班与iTEST.AI平台赋能测试行业共同发展、共绽异彩
  13. 基于视觉导航的自主机器人简介(一)
  14. 做好个人时间管理的10个关键
  15. [硬件项目] 2、汽车倒车雷达设计——基于专用倒车雷达芯片GM3101的设计方案与采用CX20106A红外线检测芯片方案对比...
  16. 【模电】0011 正弦波产生电路(LC正弦波振荡电路)
  17. 2017年第一次软工实践随笔--031502341
  18. Linux下常用软件,Linux下开发工具下载地址
  19. 设计模式(java)—— 简单工厂模式之农场,女娲造人
  20. 树莓派简单教程(一)

热门文章

  1. C#进阶之WebAPI(二)
  2. JAVA高级工程师课程笔记整理——(八)tomcat与九大内置对象
  3. oracle临时表空间组,证明临时表空间组在并发session时的作用
  4. 【手算】行列式树形展开
  5. Python 数据分析三剑客之 NumPy(一):理解 NumPy / 数组基础
  6. 【CodeForces - 673D】Bear and Two Paths(构造,tricks)
  7. 百度飞桨顶会论文复现(5):视频分类论文之《Representation Flow for Action Recognition》篇
  8. Anaconda中软件库更新
  9. java 数组 equals_java中用equals比较两个内容相同的字符数组
  10. Android实现mp3分析,Android编程实现播放MP3功能示例