第一章

《与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. Android中SQLiteOpenHelper类的onUpgrade方法浅谈

    public abstract void onUpgrade(SQLiteDatabase db,int oldVersion,int new Version) 这个方法在实现时需要重写. onUpg ...

  2. 《java入门第一季》之面向对象(static关键字内存图解)

  3. zTree的调用设使用(跨两个系统,两类技术实现的项目案例SpringMVC+Spring+MyBatis和Struts2+Spring+ibatis框架组合)

    1.从zTree官网上下载zTree的包,zTree的官方网址是:http://www.ztree.me/v3/main.php#_zTreeInfo 2.引入zTree所需的依赖,例如(jQuery ...

  4. windows linux—unix 跨平台通信集成控制系统----文件搜索

    跨平台的网络通信,跟设备的集成控制,牵扯到在各种平台下的文件搜索问题,windows下面的已经有了. 地址如下: http://blog.csdn.net/wangyaninglm/article/d ...

  5. LeetCode之“动态规划”:Triangle

    题目链接 题目要求: Given a triangle, find the minimum path sum from top to bottom. Each step you may move to ...

  6. Android特效专辑(十)——点击水波纹效果实现,逻辑清晰实现简单

    Android特效专辑(十)--点击水波纹效果实现,逻辑清晰实现简单 这次做的东西呢,和上篇有点类似,就是用比较简单的逻辑思路去实现一些比较好玩的特效,最近也是比较忙,所以博客更新的速度还得看时间去推 ...

  7. Libevent库学习笔记

    Libevent是一个事件触发的网络库,适用于windows.linux.bsd等多种平台,Libevent在底层select.pool.kqueue和epoll等机制基础上,封装出一致的事件接口.可 ...

  8. Android逆向分析(2) APK的打包与安装背后的故事

    前言 上一次我们反编译了手Q,并遇到了Apktool反编译直接crash的问题,虽然笔者很想在这次解决这个问题,但在解决途中,发现该保护依赖于很多知识,所以本次先插入一下,正所谓知其然知其所以然,授之 ...

  9. Course4-Python ftp/ssh

    1. ftp Python 自带有模块支持ftp. 可以参看一下代码. #!/usr/bin/env python import sys import os import time import ge ...

  10. 关于Intent

    TCP/IP 协议是Internet国际网络的基础,主要包括TCP,IP,UDP和ICMP等协议 要连上internet,操作系统必须安装TCP/IP协议,TCP/IP协议可以让不同类型,不同操作系统 ...