重学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 Object中的equals和hashCode
Java的Object对象中有两个方法比较有意思,一个是equals(),一个是hashCode(),那么这两个的作用有些同学可能还不是很清楚,那么同学们现在就进一步了解一下吧. 下面咱们写一个简单的 ...
- Automatic Generation of Animated GIFs from Video论文研读及实现
论文地址:Video2GIF: Automatic Generation of Animated GIFs from Video 视频的结构化分析是视频理解相关工作的关键.虽然本文是生成gif图,但是 ...
- H5-html基础
什么是 HTML? HTML 是用来描述网页的一种语言. HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (ma ...
- 深度剖析Java变量栈&对象堆
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配.当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间 ...
- 团队作业9--测试与发布(Beta版)
Beta版本测试报告 1.在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? a. 修复的bug: 写入SD存储卡文件权限问题 页面正确跳转 及 部分页面闪退的问题 b. 不能重现的bu ...
- 学号:201521123116 《java程序设计》第三周学习总结
1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识组织起来.请使用纸笔或者下面的工具画出本周学习到的知识点. 书面作业 Q1:代码阅读 pu ...
- Hyperledger Fabric 1.0 从零开始(六)——创建Fabric多节点集群
4:创建Fabric多节点集群 4.1.配置说明 首先可以根据官方Fabric自带的e2e_cli列子中的集群方案来生成我们自己的集群,与案例不同的是我们需要把容器都分配到不同的服务器上,彼此之间通过 ...
- MySql导入导出数据方法
导出全库备份到本地的目录 mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 ...
- Spring-hibernate-BaseDao
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w ...
- 对比requirejs更好的理解seajs
seajs遵循CMD规范,requirejs遵循AMD规范.AMD规范是预加载,CMD规范是赖加载. 下文举例假设有文件 b.js, c.js如下 //b.js define(function(req ...