第一章

《与C语言相恋》

目录:

1.1

C语言的诞生

1.2

相恋C语言的理由

1.3

相恋C语言的7个步骤

1.4

目标代码文件,可执行文件和库

1.5

本章小结

  1. 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语言相恋》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. 配置hadoop-1.2.1 eclipse开发环境

    写这篇文章的目的是记录解决配置过程中的问题 首先我们先看下这篇博文 配置hadoop-1.2.1 eclipse开发环境 但是在[修改 Hadoop 源码]这里,作者发布的 hadoop-core-1 ...

  2. Android平台根目录文件

    > 系统分区 # adb shell # mount rootfs / rootfs ro 0 0 tmpfs /dev tmpfs rw,mode=755 0 0 devpts /dev/pt ...

  3. STL算法设计理念 - 函数对象和函数对象当参数和返回值

    函数对象: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象.一个类对象,表现出一个函数的特征,就是通过"对象名+(参数列表)&qu ...

  4. Spring AOP (二)

    下面介绍@AspectJ语法基础 一.切点表达式函数 AspectJ的切点表达式由关键字和操作参数组成,如execution(* greetTo(..)) 的切点表达式,execution为关键字,而 ...

  5. 【Android 应用开发】Android中的回调Callback

    回调就是外部设置一个方法给一个对象, 这个对象可以执行外部设置的方法, 通常这个方法是定义在接口中的抽象方法, 外部设置的时候直接设置这个接口对象即可. 例如给安卓添加按钮点击事件, 我们创建了OnC ...

  6. Linux - 设置Centos控制台模式的分辨率

    因为我的Centos是用VMware虚拟机安装的,所以这里和直接安装的Centos修改值不太一样. 修改文件: 注意是在启动的系统条目后面"quiet"字段的加上 vga=0x36 ...

  7. 未能加载文件或程序集“file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0

    未能加载文件或程序集"file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framewor ...

  8. windows下c语言获取程序当前的执行目录,读文件的代码片

    代码如下: #include "stdafx.h" #include "stdlib.h" #include <direct.h> #include ...

  9. XMPP系列(五)---文件传输

    xmpp中发送文件和接收文件的处理有些不太一样,接收文件处理比较简单,发送稍微复杂一些. 首先需要在XMPPFramework.h中添加文件传输类 //文件传输 //接收文件 #import &quo ...

  10. Android Studio 2.0 Preview 4 的逆袭以及各种神注释

    Android Studio 2.0 Preview 4 的逆袭 一.Android Studio 2.0 Preview 4 AS2.0的改变非常大,今天刚装上,迫不及待的就来分享了,首先我们下载一 ...