重学C语言---01概述
1、什么是C语言
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。计算机语言是从第二次世界大战以后,经历了戏剧性的发展过程。从机器语言到汇编语言和高级语言。C语言是与硬件无关的,并且有许多独特的优点。
2、为什么使用C语言
C语言是一种融合了控制特性的现代语言,在现在的计算机科学的理论和实践中,控制特性是很重要的。其设计使得用户可以自然地采用自定向下的规划、结构化的编程。,以及模块化得设计,这样的编程可以使得编写出来的程序更可靠,更易懂。因为C语言具有设计特性、高效性、可移植性、强大的功能和灵活性和面向编程人员等特性,在编程中应用较为广泛。
3、使用C语言的步骤
3.1:定义程序目标--明确程序的功能作用;
3.2:设计程序---根据目标,利用概念来考虑问题,而不是利用代码;
3.3:编写代码:
源代码例子
#include<stdio.h>
int main(void){ int dogs; printf("How many dogs do you have?\n");
scanf("%d",&dogs);
printf("So you have %d dog(s)!\n",dogs);
return ;
}
3.4:编译---将源代码文件编译成机器码过程
3.5:运行程序
3.6:测试和调试程序---根据运行结果与预期结果对比,是否将达到预期目标,以及对程序进行调试;
3.7:维护和修改程序---根据源代码中的注释,对代码进行维护以及对后期加入的功能进行修改等操作。
4、开发工具
开发工具,即编写C语言代码的工作环境也成为IDE;笔者因为是重学,因此,不像学校里,一开始需要用VC++6.0去编写代码,VC++6.0主要是训练代码量用的,如果是初学者,建议使用,同时也可以使用C-free(笔者使用的),还有很多编辑工具提供使用,自己百度。
5、编程机制
编写程序时,必须遵循的确切步骤取决于您的计算机环境。因为C是可移植的,所以在很多环境中可用。您所编写的程序将保存在一个被称为源代码文件的文本文件中,一般该文件的文件名称以.c结尾。
6、目标代码文件、可执行文件和库
C编程的基本策略是使用程序将源代码文件转换为可执行文件,此文件包含可以运行的机器语言代码。C分两步完成这一工作:编译和链接。编译器将源代码转换为中间代码,连接器将此中间代码与其他代码相结合起来生成可执行文件。

中间文件的形式有多种选择,最一般的选择,同时也是我们这里讲述的实现方式所采取的选择,就是将源代码转换为机器码,结果放在一个目标代码文件中。虽然目标文件包含机器码语言,但是该文件不能运行,不是一个完整的程序。
目标代码文件中缺少的第一个元素是一种叫启动码的东西。此代码相当于您的程序与操作系统的接口;所缺少的第二个元素是库例程的代码。几乎所有的C程序都利用标准C库中所包含的例程。
链接器的作用是将这3各元素(目标代码、系统的标准启动码和库代码),结合在一起,并将他们放在单个文件中,即可执行文件中。
简而言之,目标文件和可执行文件都是机器语言指令组成的,但目标文件只包含您的所编写的代码转换成的机器语言,而可执行文件还包含您所用的库例程以及启动代码的机器代码。
重学C语言---01概述的更多相关文章
- 重学C语言
重学C语言 #include <stdio.h> int main() { ; ; printf("I am %d year old.\n",age); printf( ...
- 重学C语言---02C语言概述
1.第一个C语言实例 #include<stdio.h> int main(void) /*一个简单的C程序*/ { int num; /*定义一个num的变量*/ num = ; /*为 ...
- (1/18)重学Standford_iOS7开发_iOS概述_课程笔记
写在前面:上次学习课程对iOS还是一知半解,由于缺乏实践,看公开课的视频有时不能很好地领会知识.带着问题去学习永远是最好的方法,接触一段时间iOS开发以后再来看斯坦福iOS公开课,又会有许多新的发现, ...
- 重学C语言---05运算符、表达式和语句
一.循环简介 实例程序 /*shoes1.c--把一双鞋的尺码变为英寸*/#include <stdio.h>#define ADJUST 7.64#define SCALE 0.325 ...
- 重学C语言 -- printf,scanf
printf(); 用来显示格式串的内容 注意: 参数不可以换行,否则会出一个警告. 格式串中占位符比表达式数量多 会显示一个无意义值 格式串中占位符比表 ...
- 重学C语言---04字符串和格式化输入/输出
1.程序示例 //talkback.c一个能为你提供一些信息的对话框 #include <stdio.h> #include <string.h> //提供strlen函数原型 ...
- 重学C语言---03数据和C
1.数据的必要性.数据使我们生活中不可缺少的东西,程序也是如次,离不开数据.将文字.图片和单词等输入到算计,将其展现出来或者做一系列操作等. 2.实例程序. /*rhodium.c--用金属铑衡量体重 ...
- 重学C语言之结构体
概念 结构体是一种构造类型,由若干个成员组成,成员可以是基本数据类型,或是另一个结构体 声明结构体 struct 结构体名 { 成员列表 }; 结构体名表示结构的类型名. 声明一个结构体表示创建一种新 ...
- 重学Java(一):与《Java编程思想》的不解之缘
说起来非常惭愧,我在 2008 年的时候就接触了 Java,但一直到现在(2018 年 10 月 10 日),基础知识依然非常薄弱.用一句话自嘲就是:十年 IT 老兵,Java 菜鸡一枚. 于是,我想 ...
随机推荐
- Express异步进化史
1.导言 在 Javascript 的世界里,异步(由于JavaScript的单线程运行,所以JavaScript中的异步是可以阻塞的)无处不在. Express 是 node 环境中非常流行的Web ...
- [js高手之路]深入浅出webpack教程系列5-插件使用之html-webpack-plugin配置(中)
上文我们讲到了options的配置和获取数据的方式,本文,我们继续深入options的配置 一.html-webpack-plugin插件中的options除了自己定义了一些基本配置外,我们是可以任意 ...
- Windows上安装nvm--nodejs版本管理器
nvm最新的下载地址 Node版本管理器--nvm,可以运行在多种操作系统上.nvm for windows 是使用go语言编写的软件. 我电脑使用的是Windows操作系统,所以我要记录下在此操作系 ...
- hdu 3722 二分图 最优完备匹配 KM算法
这题只要想到是最优完备匹配就行了: 题意:给出n个字符串,若两两相连,将前一个反置添加到后一个后面,相连的值为两个字串从头开始相等的字符个数: 问如何匹配得出最大值: 思路:建图,套模板. 代码: # ...
- hdu2546 01背包 重学背包
题意:给出菜的价钱和自己的余额.使自己余额最少,注意余额大于5的情况可以买任意的菜. 思路:小于5的余额不能买菜,直接输出,大于五的余额,留下5元买最贵的菜,剩下的余额进行01背包,将剩下的余额减去0 ...
- C# 索引器简介
索引器是一种特殊的类成员,它能够让对象以类似数组的方式来存取,是程序看起来更为直观,更容易编写. 1.索引器的定义 C#中的类成员可以是任意类型,包括数组和集合.当一个类包含了数组和集合成员时,索引器 ...
- 二,ESP8266 GPIO和SPI和定时器和串口
让这个灯亮 我们写lua用这个软件 链接:http://pan.baidu.com/s/1kVN09cr 密码:pfv7 http://www.cnblogs.com/yangfengwu/p/624 ...
- 关于SVM数学细节逻辑的个人理解(一)
网上,书上有很多的关于SVM的资料,但是我觉得一些细节的地方并没有讲的太清楚,下面是我对SVM的整个数学原理的推导过程,其中我理解的地方力求每一步都是有理有据,希望和大家讨论分享. 首先说明,目前我的 ...
- JAVA基础第六组(5道题)
26.[程序26] 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母. 1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句 ...
- 【Alpha阶段】第五次scrum meeting
一.会议照片 二.会议内容 姓名 学号 负责模块 昨日任务完成度 今日任务 杨爱清 099 界面设计和交互功能 完成 去酷狗选择合适的轻音乐 杨立鑫 100 数据库搭建和其他 完成 继续对数据库进行编 ...