《与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 安装并启动 ...
随机推荐
- java工具类(二)之java正则表达式表单验证
java正则表达式表单验证类工具类(验证邮箱.手机号码.qq号码等) 这篇文章主要介绍了java使用正则表达式进行表单验证工具类,可以验证邮箱.手机号码.qq号码等方法,需要的朋友可以参考下. jav ...
- 【一天一道LeetCode】#13. Roman to Integer
一天一道LeetCode系列 (一)题目 Given a roman numeral, convert it to an integer. Input is guaranteed to be with ...
- 安卓Eclipse开发者的福音
我们知道,谷歌已经放弃对Eclipse(ADT)的维护更新了,现在官网上也找不到ADT的下载链接了,我们大多数同学仍在使用的ADT版本可能已经很老了,估计大多数的SDK版本只到4.4,而,在尝试升级以 ...
- 使用Material Design Tint和视图详解
视图 首先来讲Material Design 视图的概念,在新的api中,新添加了z轴的概念,z轴垂直于屏幕,用来表现元素的层叠关系,z值(海拔高度)越高,元素离界面底层(水平面)越远,投影越重,这里 ...
- JDBC详解(汇总)
from:http://www.cnblogs.com/lee/archive/2007/08/25/869656.html:http://blog.csdn.net/lovesomnus/artic ...
- C语言实现字符串中(10进制和16进制)转成十进制数
如何将字符串中的10进制数和16进制数提取出来,看以下代码: #include <stdio.h> typedef char TUINT8 ; typedef int TUINT32; T ...
- Unity修改Particles Render Material(Unity3D开发之二十三)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/48372999 ...
- myBatis源码学习之SqlSessionFactoryBuilder
SqlSessionFactoryBuilder通过类名就可以看出这个类的主要作用就是创建一个SqlSessionFactory,通过输入mybatis配置文件的字节流或者字符流,生成XMLConfi ...
- 【5】-阿里面试题android网络图片加载优化
题目: 遇到网络不好,卡顿的时候如何对网络的加载图片进行优化? 思路: 从加载的图片的本身和手机的存储两方面考虑 解决办法: 1.找现有图片格式的替换者 在众多的图片格式中,选择了Google的Web ...
- 学好js的步骤
第一步:打基础,建议看<JavaScript权威指南>,并作为参考书,供以后学习用. 第二步:进阶学习:建议看<JavaScript高级程序设计>,<精通JavaScri ...