目录

  • 1 第一章  C语言概述
    • 1.1 第一节  C语言的产生和发展
    • 1.2 第二节  C语言的特点
    • 1.3 第三节  两个简单的C程序
    • 1.4 第四节  C程序的上机步骤
    • 1.5 第五节  Dev-C++介绍
    • 1.6 第六节  VC2010学习版介绍
    • 1.7 第七节  宏定义和文件包含
    • 1.8 本章小结
    • 1.9 本章单元测试
  • 2 第二章  基本数据类型与简单程序设计
    • 2.1 第一节  C语言的基本数据类型
    • 2.2 第二节  常量
    • 2.3 第三节  变量
    • 2.4 第四节  赋值语句
    • 2.5 第五节  数据输出
    • 2.6 第六节 数据输入
    • 2.7 第七节  运算符
    • 2.8 第八节  常用的数学函数
    • 2.9 第九节  顺序结构程序设计
    • 2.10 本章小结
    • 2.11 本章单元测试
  • 3 第三章  分支结构程序设计
  • 4 第四章  循环结构程序设计
  • 5 附录
    • 5.1 附录A   编译常见错误提示
    • 5.2 附录B  常见C语言英语单词
    • 5.3 什么是编译器
    • 5.4 与编译器相关的几个知识点
第四节  C程序的上机步骤
  • 1 C语言第一个程序
  • 2 C程序的上机步骤

上机运行C程序的步骤与方法

C语言是在国内外广泛使用的一种计算机语言。C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写软件。

C程序的上机执行过程

C语言处理系统提供的开发环境是编译系统,所以,C程序的上机执行过程一般要经过如图2-1所示的四个步骤,即:编辑、编译、连接和运行。图中虚线框内是C编译系统提供的语言处理程序和C标准库函数,单线框内是用户程序。下面分别说明上机执行过程。

1)编辑C源程序

 编辑是用户把编写好的C语言源程序输入计算机,并以文本文件的形式存放在磁盘上。其标识为:“文件名.C”。其中文件名是由用户指定的符合C标识符规定的任意字符组合,扩展名要求为“.C”,表示是C源程序。例如file1.ct.c等。用于编辑源程序所使用的软件是编辑程序。编辑程序是提供给用户书写程序的软件环境,可用来输入和修改源程序。如DOS系统提供的全屏幕编辑程序 editUNIX系统提供的文本行编辑程序ed;还有许多功能更强的专用编辑程序,如 PENE,以及Windows系统提供的写字板,文字处理软件WPSWord等都可以用来编辑C语言源程序。一般语言系统也会带有自己的编辑程序。

 2)编译C源程序

 编译是把C语言源程序翻译成用二进制指令表示的目标文件。编译过程由C编译系统提供的编译程序完成。编译程序自动对源程序进行句法和语法检查,当发现错误时,就将错误的类型和所在的位置显示出来,提供给用户,以帮助用户修改源程序中的错误。如果未发现句法和语法错误,就自动形成目标代码并对目标代码进行优化后生成目标文件。目标程序的文件标识是:“文件名.obj”。这是系统规定的形式,扩展名“.obj”是目标程序的文件类型标识。不同的编译系统,或者不同版本的编译程序,它们的启动命令不同,生成的目标文件也不相同。

 3)程序连接

 目标程序计算机还是不能执行的。程序连接过程是用系统提供的连接程序(也称链接程序或装配程序)将目标程序、库函数或其他目标程序连接装配成可执行的目标程序。可执行程序的文件名为:“文件名.exe”,扩展名“.exe”是可执行程序的文件类型标识。绝大部分系统生成的可执行文件的扩展名是“.exe”,但UNIX系统中,生成的可执行文件自动确定为“a.out”,除非在编译时用户特别规定自己的文件名。

 有的C编译系统把编译和连接放在一个命令文件中,用一条命令即可完成编译和连接任务,减少了操作过程。

4)运行程序

 运行程序是指将可执行的目标程序投入运行。以获取程序处理的结果。如果程序运行结果不正确,可重新回到第一步,重新对程序进行编辑修改、编译和运行。与编译、连接不同的是,运行程序可以脱离语言处理环境。因为它是对一个可执行程序进行操作,与C语言本身已经没有联系,所以可以在语言开发环境下运行,也可直接在操作系统下运行。

 

第一个C语言源程序编写方法

万事开头难

前面我们给出了一段完整的C语言代码,就是在显示器上输出“C语言中文网”,如下所示:

#include <stdio.h>

int main()

{

    puts("C语言中文网");

    return 0;

}

本节我们就来看看如何通过 Dev C++ 来运行这段代码。
Dev C++ 支持单个源文件的编译,如果你的程序只有一个源文件(初学者基本都是在单个源文件下编写代码),那么不用创建项目,直接运行就可以;如果有多个源文件,才需要创建项目。

1) 新建源文件

打开 Dev C++,在上方菜单栏中选择“文件 --> 新建 --> 源代码”:

 


或者按下Ctrl+N组合键,都会新建一个空白的源文件,如下图所示:

 


在空白文件中输入本文开头的代码:

 


在上方菜单栏中选择“文件 --> 保存”,或者按下Ctrl+S组合键,都可以保存源文件。

 

注意将源文件后缀改为.c
小小的提示:C++是在C语言的基础上进行的扩展,C++已经包含了C语言的全部内容,所以大部分 IDE 默认创建的是C++文件。但是这并不影响使用,我们在填写源文件名称时把后缀改为.c即可,编译器会根据源文件的后缀来判断代码的种类。上图中,我们将源文件命名为hello.c

2) 生成可执行程序

在上方菜单栏中选择“运行 --> 编译”,就可以完成 hello.c 源文件的编译工作。

 

或者直接按下F9键,也能够完成编译工作,这样更加便捷。

如果代码没有错误,会在下方的“编译日志”窗口中看到编译成功的提示:

 


        编译完成后,打开源文件所在的目录(本教程中是 E:\cDemo\),会看到多了一个名为hello.exe的文件,这就是最终生成的可执行文件。
        之所以没有看到目标文件,是因为 Dev C++ 将编译和链接这两个步骤合二为一了,将它们统称为“编译”,并且在链接完成后删除了目标文件,所以我们看不到。
        双击 hello.exe 运行,并没有输出“C语言中文网”几个字,而是会看到一个黑色窗口一闪而过。这是因为,程序输出“C语言中文网”后就运行结束了,窗口会自动关闭,时间非常短暂,所以看不到输出结果,只能看到一个“黑影”。
        对上面的代码稍作修改,让程序输出“C语言中文网”后暂停下来:

#include <stdio.h>

#include <stdlib.h>

int main()

{

    puts("C语言中文网");

    system("pause");

    return 0;

}

system("pause");语句的作用就是让程序暂停一下。注意代码开头部分还添加了#include <stdlib.h>语句,否则system("pause");无效。
        再次编译,运行生成的 hello.exe,终于如愿以偿,看到输出结果了,如下图所示:

 

按下键盘上的任意一个键,程序就会关闭。

更加快捷的方式

实际开发中我们一般使用菜单中的“编译 --> 编译运行”选项:

 

或者直接按下F11键,这样能够一键完成“编译 --> 链接 --> 运行”的全过程,不用再到文件夹中找到可执行程序再运行。这样做的另外一个好处是,编译器会让程序自动暂停,我们也不用再添加system("pause");语句了。
        删除上面代码中的system("pause");语句,按下F11键再次运行程序,结果如下:

 

4) 总结

现在,你就可以将 hello.exe 分享给你的朋友了,告诉他们这是你编写的第一个C语言程序。虽然这个程序非常简单,但是你已经越过了第一道障碍,学会了如何编写代码,如何将代码生成可执行程序,这是一个完整的体验。
        在本教程的基础部分,教大家编写的程序都是这样的“黑窗口”,与我们平时使用的软件不同,它们没有漂亮的界面,没有复杂的功能,只能看到一些文字,这就是控制台程序(Console Application),它与DOS非常相似,早期的计算机程序都是这样的。
        控制台程序虽然看起来枯燥无趣,但是它非常简单,适合入门,能够让大家学会编程的基本知识;只有夯实基本功,才能开发出健壮的GUI(Graphical User Interface,图形用户界面)程序,也就是带界面的程序。