C语言关键点梳理:程序结构与数据基础

需积分: 10 2 下载量 77 浏览量 更新于2024-07-20 收藏 111KB DOC 举报
C语言重点知识总结文档概述了C语言编程的基础核心知识点,包括程序结构、数据存储和类型转换。以下是关键知识点的详细解析: 1. **程序结构**: - C语言程序的基本结构包括顺序结构、循环结构(for、while、do-while)和选择结构(if和switch)。理解这些结构的逻辑流程对编写代码至关重要。 2. **程序执行流程**: - 所有C程序都从`main()`函数开始执行,按照从上至下的顺序执行,遇到循环或选择结构时会按其内部逻辑进行。 3. **数据表示与地址**: - 计算机中的数据以二进制形式存储,每个数据都有一个唯一的地址,即存储位置。 4. **二进制与十进制转换**: - 学习如何将二进制数据转换成十进制,这对于理解和处理数值操作十分重要。 5. **基本数据类型**: - C语言中有整型、字符型和浮点型(如单精度float和双精度double),其中整型通常占2字节,字符型1字节,而浮点型根据机器字长可能不同。 6. **合法标识符**: - 用户自定义标识符应由字母、数字或下划线组成,且第一个字符必须为字母或下划线,且避免使用C语言的关键字。 7. **实型数据和字符数据**: - 实型数据允许科学记数法表示,例如2.333e-1。字符数据区分单引号('1')和双引号("1")的区别,后者表示字符串。 8. **数据类型大小**: - 在不同系统中,整型和浮点数的字节数可能会有所变化,但理解基本的字节数量有助于编写跨平台兼容的代码。 9. **转义字符**: - 在C语言中,十六进制数前缀`0x`必不可少,如`inta=0x6d`;八进制用`0`而非`0x`,如`inta=06d`;转义字符中`\x`用于十六进制,`\`后紧跟两个十六进制数字,如`\x6d`和`\141`。 10. **预处理和函数**: - 编译预处理是C语言的一部分,但不在运行时执行。每个C程序仅允许有一个`main()`函数,且函数内部不能定义新的函数。 以上是C语言的一些基础要点,理解这些知识对于学习和应用C语言至关重要。通过反复练习和实际编程,这些概念会变得更加熟练。
2016-07-13 上传
关于软件设计方面的书很多,比如《重构》,比如《设计模式》。至于软件开发方式,那就更多了,什么极限编程、精益方法、敏捷方法。随着时间的推移,很多的方法又会被重新提出来。 其实,就我个人看来,不管什么方法都离不开人。一个人写不出二叉树,你怎么让他写?敏捷吗?你写一行,我写一行。还是迭代?写三行,删掉两行,再写三行。项目的成功是偶然的,但是项目的失败却有很多原因,管理混乱、需求混乱、设计低劣、代码质量差、测试不到位等等。就软件企业而言,没有比优秀的文化和出色的企业人才更重要的了。 从软件设计层面来说,一般来说主要包括三个方面: (1)软件的设计受众,是小孩子、老人、女性,还是专业人士等等; (2)软件的基本设计原则,以人为本、模块分离、层次清晰、简约至上、适用为先、抽象基本业务等等; (3)软件编写模式,比如装饰模式、责任链、单件模式等等。 从某种意义上说,设计思想构成了软件的主题。软件原则是我们在开发中的必须遵循的准绳。软件编写模式是开发过程中的重要经验总结。灵活运用设计模式,一方面利于我们编写高质量的代码,另一方面也方便我们对代码进行维护。毕竟对于广大的软件开发者来说,软件的维护时间要比软件编写的时间要多得多。编写过程中,难免要有新的需求,要和别的模块打交道,要对已有的代码进行复用,那么这时候设计模式就派上了用场。我们讨论的主题其实就是设计模式。 讲到设计模式,人们首先想到的语言就是c#或者是java,最不济也是c++,一般来说没有人会考虑到c语言。其实,我认为设计模式就是一种基本思想,过度美化或者神化其实没有必要。其实阅读过linux kernel的朋友都知道,linux虽然自身支持很多的文件系统,但是linux自身很好地把这些系统的基本操作都抽象出来了,成为了基本的虚拟文件系统。 举个例子来说,现在让你写一个音乐播放器,但是要支持的文件格式很多,什么ogg,wav,mp3啊,统统要支持。这时候,你会怎么编写呢?如果用C++语言,你可能会这么写。