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概述的更多相关文章

  1. 重学C语言

    重学C语言 #include <stdio.h> int main() { ; ; printf("I am %d year old.\n",age); printf( ...

  2. 重学C语言---02C语言概述

    1.第一个C语言实例 #include<stdio.h> int main(void) /*一个简单的C程序*/ { int num; /*定义一个num的变量*/ num = ; /*为 ...

  3. (1/18)重学Standford_iOS7开发_iOS概述_课程笔记

    写在前面:上次学习课程对iOS还是一知半解,由于缺乏实践,看公开课的视频有时不能很好地领会知识.带着问题去学习永远是最好的方法,接触一段时间iOS开发以后再来看斯坦福iOS公开课,又会有许多新的发现, ...

  4. 重学C语言---05运算符、表达式和语句

    一.循环简介 实例程序 /*shoes1.c--把一双鞋的尺码变为英寸*/#include <stdio.h>#define ADJUST 7.64#define SCALE 0.325 ...

  5. 重学C语言 -- printf,scanf

     printf();    用来显示格式串的内容          注意: 参数不可以换行,否则会出一个警告.       格式串中占位符比表达式数量多     会显示一个无意义值 格式串中占位符比表 ...

  6. 重学C语言---04字符串和格式化输入/输出

    1.程序示例 //talkback.c一个能为你提供一些信息的对话框 #include <stdio.h> #include <string.h> //提供strlen函数原型 ...

  7. 重学C语言---03数据和C

    1.数据的必要性.数据使我们生活中不可缺少的东西,程序也是如次,离不开数据.将文字.图片和单词等输入到算计,将其展现出来或者做一系列操作等. 2.实例程序. /*rhodium.c--用金属铑衡量体重 ...

  8. 重学C语言之结构体

    概念 结构体是一种构造类型,由若干个成员组成,成员可以是基本数据类型,或是另一个结构体 声明结构体 struct 结构体名 { 成员列表 }; 结构体名表示结构的类型名. 声明一个结构体表示创建一种新 ...

  9. 重学Java(一):与《Java编程思想》的不解之缘

    说起来非常惭愧,我在 2008 年的时候就接触了 Java,但一直到现在(2018 年 10 月 10 日),基础知识依然非常薄弱.用一句话自嘲就是:十年 IT 老兵,Java 菜鸡一枚. 于是,我想 ...

随机推荐

  1. 如何修改int的打印内容——史上最难的JAVA面试题

    序 今天看到了一个比较特别的面试题,考察的是如何改变int的System.out.print的结果.题目如下: 下面的一句话"这是初级java实习生面试题"非常挑衅的激起了大家做题 ...

  2. PHP常量定义define与const

    一.const PHP5.3以前,const只能在类内部声明变量,5.3+允许在外部声明变量,但还不能使用常量计算! const ONE = 1; const WORD = 'hello world' ...

  3. 使用CXF开发JAX-RS类型的WebService

    1.JAXRSServerFactoryBean编程方式 访问方式:http://localhost:8080/cxf_spring_rest_server/ws/rest/student/query ...

  4. ASP.NET Core Razor 视图组件

    视图组件简介 在新的ASP.NET Core MVC中,视图组件类似于局部视图,但它们更强大.视图组件不使用模型绑定,仅依赖于您在调用时提供的数据. 视图组件特性: 呈现页面响应的某一部分而不是整个响 ...

  5. sleep(强制等待)和implicitly_wait(隐式等待 )区别与理解---基于python

    我们在进行selenium页面自动化的测试的时候,由于需要等待目标页面的加载或由于网络或硬件配置导致的页面加载等待,经常会用到sleep,但是由于在不同场景下对于sleep时间的估计无法十分准确,导致 ...

  6. 最新城市二级联动json(2017-09)

    { '安徽': [ '合肥', '芜湖', '蚌埠', '淮南', '马鞍山', '淮北', '铜陵', '安庆', '黄山', '阜阳', '宿州', '滁州', '六安', '宣城', '池州', ...

  7. 如何在sublime+chrome中调试php代码?

    1.搭建php本地运行环境具体点击如何使用phpstudy本地搭建多站点(每个站点对应不同的端口) 2.下载php_xdebug.dll, [5.3版以上的php下载地址]http://pecl.ph ...

  8. MongoDB学习之路(三)

    数据库 一个MongoDB可以建立多个数据库. MongoDB的默认数据库为"db",该数据库存储在data目录中. MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自 ...

  9. spring的配置文件和加载

    ①:创建applicationContext.xml配置文件放在src下 //applicationContext.xml代码 <?xml version="1.0" enc ...

  10. Swing-布局管理器之GridLayout(网格布局)-入门

    注:本文内容源自于三十一.Java图形化界面设计——布局管理器之GridLayout(网格布局),笔者在学习过程中根据自身理解修改了部分代码. 网格布局特点: l  使容器中的各组件呈M行×N列的网格 ...