《与C语言相恋》
第一章
《与C语言相恋》
|
目录: |
|
|
1.1 |
C语言的诞生 |
|
1.2 |
相恋C语言的理由 |
|
1.3 |
相恋C语言的7个步骤 |
|
1.4 |
目标代码文件,可执行文件和库 |
|
1.5 |
本章小结 |
- C语言的诞生
1972年,贝尔实验室的丹尼斯里奇(Dennis Ritch)和肯汤普逊(Ken Thompson)在开发UNIX操作系统时设计了C语言。
1.2 相恋C语言的理由
1.设计特性:融合了计算机科学理论和实践的控制特性。C语言的设计理念让用户轻松地完成自顶向下的规划,结构化编程和模块化设计。所以和C语言相恋更加易懂,更可靠。
2.高效性。
3.可移植性:在一种系统中编写的C程序只需稍作修改或不修改就能在其他系统运行(不在于简化编译程序的工作,而在于改写程序的工作变得轻易)。
4.强大而灵活:C程序可以用于解决物理学和工程学的问题,
Particularly,用于制作电影的动画特效。
5.面向程序员。
6.缺点:比如说使用指针要格外小心警惕。
有句话说的好:想要拥有自由就必须时刻保持警惕!
1.3 相恋C语言的7个步骤

1.4 目标代码文件,可执行文件和库
1.源代码:手写代码。
2.编译器的作用:把源代码转化为机器语言代码,其结果放在目标代码文件(还不能直接运行该文件,因为只是编译器翻译的源代码)。
3.连接器的作用:把你编写的目标代码,系统的标准启动代码和库代码这3部分合并成一个文件,即可执行文件。
注:
(1)启动代码:充当程序和操作系统之间的接口。
(2)库代码:链接器只会把程序中要用到的库函数代码提取出来。
简言之,目标文件和可执行文件都是机器语言指令组成的。只不过,可执行文件包含了你编写的程序中的库函数和启动代码的机器代码。

1.5 本章小结
C是强大而简洁的语言。她之所以流行,在于自身提供大量的实用编程工具,能很好地控制硬件。而且,与大多数程序相比,C程序更容易从一个系统移植到另一个系统。
C是编译性语言。C编译器和链接器是把C语言源代码转换成可执行代码的程序。
用C语言编程可能费力,困难,让你感到沮丧,但是它也可以激发你的兴趣,让你兴奋,满意。希望你在愉快的学习过程中爱上C。
下载Microsoft Visual Studio 2017编译器的链接:
https://pan.baidu.com/s/1mLc2NVg341oio30daO9Pqg
下载VC++编译器的链接:
https://pan.baidu.com/s/1H1782TVyqvo1GZIz1Zp4Nw
《与C语言相恋》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- jQuery 瀑布流插件: Wookmark
原文链接: jQuery Wookmark 在线示例: jQuery Wookmark Demo Wookmark官网: http://www.wookmark.com/jquery-plugin 翻 ...
- OSB开发常用资料
成功搭建OSB环境并运行HelloWorld项目 http://www.beansoft.biz/?p=2066 Oracle Service Bus 11gR1开发环境安装文档 http://www ...
- RecyclerView详解
RecyclerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,但是直接把viewholder的实现封装起来,用户只要实 ...
- 高斯混合模型和EM算法
使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation). 与k-means一样,给定的训练样本是,我们将隐含类别标签用表示.与k- ...
- 内核调试神器SystemTap — 更多功能与原理(三)
a linux trace/probe tool. 官网:https://sourceware.org/systemtap/ 用户空间 SystemTap探测用户空间程序需要utrace的支持,3.5 ...
- XMPP系列(三)---获取好友列表、添加好友
1.心跳检测.掉线重连功能 客户端和服务器端都可以设置多久发送一次心跳包,如果对方没有返回正确的pong信息,则会断开连接,而添加掉线重连功能,则会自动进行连接. 如果自己写聊天功能还得自己做心跳检测 ...
- java解决hash算法冲突
看了ConcurrentHashMap的实现, 使用的是拉链法. 虽然我们不希望发生冲突,但实际上发生冲突的可能性仍是存在的.当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时.冲突就 ...
- redis注册成window服务
注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 开启服务 ...
- disable table 失败的处理
相信每一个维护hbase集群的运维人员一定碰到过disable失败,陷入无穷的"Region has been PENDING_CLOSE for too long..."状态,此 ...
- 程序设计之---单例模式VS静态方法
我们在设计程序经常会有这种需求 , 某个类里的方法能够全局访问. 在这种情况下有两种实现方案 : 1>单例模式(Singleton); 2>静态方法. 但是, 对于这两种实现方式 , 那种 ...