重学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 菜鸡一枚. 于是,我想 ...
随机推荐
- echarts堆叠图展示,根据数据维度的粒度判断是否展示数据
1.定义一个参数,返回根据判断什么条件是否显示值; 2.var a = '<%=(String)request.getAttribute("type")%&>' ...
- 谈一谈EasyUI中TreeGrid的过滤功能
写在最前面 这个星期一直在纠结easyui的treegrid的过滤功能,原因呢,自然是项目中一个莫名奇妙的需求. easyui虽说是后端程序员的前端框架,但是说句实话,除去api,让我直接写里面的节点 ...
- block的定义及使用
(1)最基础的用法案例,我们可以把block理解为一段类似变量一样的可执行函数代码片段: void (^printBlock)(NSString *x); printBlock = ^(NSStrin ...
- 转:【Java并发编程】之十:使用wait/notify/notifyAll实现线程间通信的几点重要说明
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17225469 在Java中,可以通过配合调用Object对象的wait()方法和no ...
- 九度OJ 1016 火星A + B 未AC版,整型存储不下
#include <iostream> #include <string.h> #include <sstream> #include <math.h> ...
- 团队作业8——Beta 阶段冲刺7th day
一.当天站立式会议 二.每个人的工作 (1)昨天已完成的工作(具体在表格中) 完善支付功能 (2)今天计划完成的工作(具体如下) 测试与正式发布 (3) 工作中遇到的困难(在表格中) 成员 昨天已完成 ...
- 201521123102 《Java程序设计》第4周学习总结
1. 本周学习总结 2. 书面作业 Q1.注释的应用 使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看.(截图) 类的注释: 方法的注释: Q2.面向对象设计(大作业1- ...
- 在Python中数据类型转换的注意事项
在学习Python的过程接触到了数据类型转化这一过程,在实践的过程中我发现了一个小问题,我们在平常的使用中要一定注意 在str型转换成int型的过程中,str内的内容必须是整数不然会报错 如图: 在转 ...
- 201521123037 《Java程序设计》第11周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. Java多线程之Executor.ExecutorService.Executors.Callable.Futur ...
- 201521123098 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 1. TCP的特征: ①可靠:具有失败重传的功能: ②开销大:需要建立通路以维持通信: ③控制能力较强:有 ...