重学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 菜鸡一枚. 于是,我想 ...
随机推荐
- 优先队列的二叉堆Java实现
package practice; import edu.princeton.cs.algs4.StdRandom; public class TestMain { public static voi ...
- maven 添加memcached.jar配置方法
针对Java项目添加 memcahced 在mvnrepository 找了半天也没找到memcached.jar的配置xml, 由于目前Javamemcached client没有官方的maven ...
- if判断与比较操作符gt、lt、eq等的使用
在整数中比较使用如下 //-eq 等于(equal) if [ "$a" -eq "$b" ] //-ne不等于(no equal) if [ "$ ...
- Java 定时器 Timer 的使用.
一.概念 定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程的方式进行处理,所以它和多线程技术还是有非常大的关联的.在JDK中Timer类主要负责计划任务的功能, ...
- 微软为啥让免费升Win10?
今天终于赶在截止日期之前把我的联想PC升到win10.微软这次对中国开放的持续一年的免费升级活动主要有两个原因.首先当然是"感恩Windows用户长久支持的回馈".微 ...
- 如何让eclipse在程序修改后,点击运行可以自动保存。
preferences>run/debug>launching里面save required dirty editors before launching选always就自动保存咯选pro ...
- 201521123071 《JAVA程序设计》第二周学习总结
1. 本周学习总结 在本周的学习中,主要学习了书上的String类以及Math类等知识,但是书上学到的东西只是理论,实际打起代码来的时候会学习到更多,比如在PTA上就有学习到StringBuilder ...
- JAVA课程设计——“小羊吃蓝莓”小游戏
JAVA课程设计--"小羊吃蓝莓"小游戏 1. 团队课程设计博客链接 http://www.cnblogs.com/HXY071/p/7061216.html 2. 个人负责模块或 ...
- 201521123097《Java程序设计》第十周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中fin ...
- Android 跳转系统选择本地视频的功能
今天在项目开发的过程中产品要求添加选择本地视频的功能,于是就翻阅和查找各种资料,进行功能的开发,但是在开发过程中发现,各种不同的品牌的手机跳转至系统选择本地视频的功能结果不太一样,所以我就对一些主流的 ...