网站推广方案范文,网页设计实验报告过程,腾讯云服务器怎么用,东莞网站推广哪里找文章目录 C与C语言为什么要学习CC为什么难学c值得学习的新特征C参考书籍开发工具 可移植性和标准程序创建的技巧编译和链接 C与C语言
C是一种计算机高级程序设计语言#xff0c;C既可以进行C语言的过程化程序设计#xff0c;又可以进行以抽象数据类型为特点的基于对象的程序… 文章目录 C与C语言为什么要学习CC为什么难学c值得学习的新特征C参考书籍开发工具 可移植性和标准程序创建的技巧编译和链接 C与C语言
C是一种计算机高级程序设计语言C既可以进行C语言的过程化程序设计又可以进行以抽象数据类型为特点的基于对象的程序设计。
C对比C语言的特点
与C语言的兼容性。C与C语言完全兼容c语言的绝大多数内容可以直接用于C的程序设计。用C语言编写的程序可以不加修改的用于C。数据封装和数据隐藏。在C中类是支持数据封装的工具对象则是数据封装的实现。C通过建立用户定义类支持数据封装和数据隐藏。支持继承和重用。在C现有类的基础上可以声明新类型这就是继承和重用的思想。通过继承和重用可以更有效的组织程序结构明确类间关系并且充分利用已有的类来完成更复杂深入的开发。新定义的类为子类成为派生类它可以从父类那里继承所有非私有的属性和方法作为自己的成员。
为什么要学习C
C能提升性能。编程语言的需求总结为四个效率、灵活、抽象、生产力。C语言注重前两者C注重前三者JAVA、.net这些注重后两者。C应用范围广泛。
C为什么难学
C支持的编程范式 过程式for/if 数据抽象封装、继承和多态 基于对象程序对象对象对象消息传递 面对对象式 函数式递归方式进行编程 泛型形式程序对象对象抽象行为。抽象行为能够施加在不同类型而又大相径庭的对象上。通用编程的思想 模板元形式模板元编程是指给出代码的产生规则让编译器产生新代码实现我们预期的功能。这样的话某些运行时工作被提前到了编译器来完成从而增加了编译时间但提高了运行效率可以实现神奇的类型推导。值语义与对象语义值语义可以拷贝与赋值、对象语义不可进行拷贝和赋值。
c值得学习的新特征
智能指针如shared_ptr/weak_ptr等 rvalue reference; unction/bind lambda expression and closure
C参考书籍
c primerEffective CC编程规范敏捷软件开发——原则、模式与实践代码大全
开发工具
主流的有GNU g和微软的VS。在windows中开发的程序可以直接放在Lniux中运行。
可移植性和标准
可移植性不同平台上编写的代码可否直接运行 可移植性存在两个障碍其中的一个是硬件第二个障碍是语言上的差异通过制订C标准来消除。 C98、C11最新标准
程序创建的技巧
程序运行大体如下
.使用文本编辑器编写程序并将其保在到文件中这个文件就是程序的源代码。编译源代码。这意味着运行一个程序将源代码翻译为主机使用的内部语言一一机器语言。 包含了翻译后的程序的文件就是程序的目标代码(object code ) 。 .obj将目标代码与其他代码链接起来。链接指的是将目标代码同使用的函数的归标代码以及一些标准的启动代码(startup code) 组合起来 生成程序的运行阶段版本。包含该最终产品的文件被称为可执行代码。
编译和链接
创建好项目后需要对程序进行编译和链接。IDE通常提供了多个菜单项如Compile编译、Build建立、Make生成、Build All全部建立、Link链接、Execute执行、Run运行和Debug调试不过同一个IDE中不一定包含所有这些选项。
Compile通常意味着对当前打开的文件中的代码进行编译。Build和Make通常意味着编译项目中所有源代码文件中的代码。如果只有一个修改了则只编译这个文件。Build All通常意味着重新编译所有的源代码文件。Link意味着将编译后的源代码与所需的库代码组合起来。Run和Execute意味着运行程序。Debug意味着以步进方式执行程序。调试版本对比发布版包含额外的代码会增大程序降低执行速度但可提供详细的调试信息。