《C语言编程初学者指南》一1.7 创建并运行第一个C程序

1.7 创建并运行第一个C程序

gcc编译器是一个ANSI标准编译器。一个C程序要经过很多的步骤,才能变为一个可运行或执行的程序。gcc编译器为你执行了很多的任务,其中最重要的任务包括以下几个:

预处理程序代码,并查找各种指令;
在适当的时候,生成错误代码和消息;
将程序代码编译成目标代码,并将其临时存储在硬盘上;
将任何必需的库链接到目标代码,创建一个可执行文件,并将其存储到硬盘上。
提示
 

ANSI是American National Standards Institute(美国国家标准研究院)的缩写。ANSI的一般目标是,为使用信息系统的人们提供计算标准。
在创建和保存C程序的时候,使用.c扩展名。这个扩展名是用C创建的程序的标准命名惯例。要创建一个新的C程序,从Windows下运行Notepad这样的一个文本编辑器,或者像下面这样使用nano或Vim:

nano hello.c
vim hello.c

技巧
 

nano是另一款常用的基于UNIX的文本编辑器,也是Cygwin软件包所附带的文本编辑器。从最终用户的角度来看,它使用起来比Vim更为直观和容易。但是,它确实不像Vim一样拥有那么多功能。尽管namo和其他的文本编辑器并不是安装Cygwin时候的默认选项,但是在安装的时候,你可以通过Editors区域下的Select Packages窗口来进行选择。
前面的两条命令,都会打开编辑器并创建一个名为hello.c的新文件。一旦使用nano或Vim这样的编辑器创建并保存了C程序,你就已经准备好使用gcc编译程序了。

从Cygwin UNIX shell中,输入如下内容:

gcc hello.c

如果程序成功地编译了,gcc会创建一个名为a.exe的、新的可执行文件。

注意
 

如果没有成功地运行编译后的程序,验证一下%systemdrive%:\ cygwin\bin(其中%systemdrive%是安装Cygwin的驱动器)目录结构已经成功地添加到系统的路径变量中了。
a.exe是这个版本的gcc所编译的所有C程序的默认的名称。如果你是在UNIX操作系统上的一个不同的gcc版本下编程,文件名可能是a.out。

每次使用gcc编译一个C程序的时候,它都会覆盖以前的a.exe文件中包含的数据。可以通过给gcc一个选项,来为可执行文件指定一个唯一的名称,从而改正这一点。指定一个具有唯一的名称的可执行文件的语法如下:

gcc programName –o executableName

关键字programName是你的C程序的名称,-o(字母o)选项告诉gcc,你将要指定一个唯一的编译名称,而executableName关键字是想要的输出文件的名称。如下是使用实际的文件名的另一个示例:

gcc hello.c  -o hello.exe

在UNIX命令提示符输入如下的命令,可以访问gcc的man页面(用于UNIX命令的在线手册),并找到关于gcc的大量信息。

man gcc
要通过Cygwin U
N```
IX命令提示符来执行程序,输入如下内容:

```javascript
./hello

和Windows不同,当尝试执行一个程序的时候,UNIX shell不会默认在当前目录下查看。通过在编译后的程序之前带上一个./字符序列,我们告诉UNIX shell在当前目录下查找编译后的C程序,在这个例子中,当前目录就是hello目录。

如果你使用一个Microsoft Windows系统,也可以从基于Microsoft的命令行shell(通常称之为DOS命令提示符)来执行程序,只要直接输入程序的名称就行了(假设你位于工作目录之中)。

注意,在任何情况下,都不必在编译后的程序名的后面跟上文件扩展名.exe。

时间: 2024-10-28 08:53:07

《C语言编程初学者指南》一1.7 创建并运行第一个C程序的相关文章

《C语言编程初学者指南》一第1章 C编程入门

第1章 C编程入门 C语言编程初学者指南 欢迎阅读本书.C 编程语言是培养你的编程职业技能和爱好的一门优秀的基础语言.不管你是计算机专业的学生.自学成才的程序员,或者是一名资深的软件工程师,学习C语言都能够给你丰富的概念知识并培养实践技能,从而很好地帮助你理解其他的计算机相关主题(包括操作系统概念.内存管理和其他高级的编程语言). 在整个本书中,我将引导你学习一系列的示例,这些示例设计来讲解C编程的基础知识.我假设读者没有C编程的经验,也不了解计算机科学的基本概念.阅读本书不需要任何的经验(包括

《C语言编程初学者指南》一导读

前言 C语言编程初学者指南 C语言是一种强大的基于过程的编程语言,它于1972年由Dennis Ritchie在贝尔实验室发明.C语言最初是开发来用于UNIX平台的,但却已经扩展到很多其他的系统和应用中.C语言还影响了很多其他的编程语言,例如C++和Java. 编程初学者,特别是那些进入计算机科学和工程专业学习的人,需要构建有关操作系统.硬件和应用程序开发概念的牢固基础知识.很多的学院教授学生学习如何用C编程,从而使他们能够学习高级概念以及在C的基础上建立起来的其他语言. 学习C语言的很多学生也

《C语言编程初学者指南》一第2章 基本数据类型

第2章 基本数据类型 C语言编程初学者指南本章介绍计算机内存概念的基本知识,以及如何从用户那里获取信息并使用C语言的数据类型将其保存为数据.你将学习如何使用printf()函数显示变量内容,以及如何使用基本的算术运算来操作变量中存储的数据. 本章包括以下内容: 内存概念简介:理解数据类型:初始化变量和赋值运算符:打印变量内容:使用转换修饰符:理解常量:使用编程惯例和样式:用C程序做算术运算:理解运算符优先级:本章程序:Shop Profit.

《C语言编程初学者指南》一1.1 安装和配置Cygwin环境

1.1 安装和配置Cygwin环境 要学习C编程,所需的所有东西只不过是一台计算机.一款文本编辑器.C库和一个C编译器.在整个本书中,我们使用一款简单的文本编辑器来编写C程序.和很多高级的编程语言(如Visual Basic或C#)不同,C语言并不需要一个高级的图形化用户界面(graphical user interface,GUI).实际上,一个复杂的.功能丰富的界面,可能会让想要学习编程的初学者分心.他们很容易去关注漂亮界面的那些细枝末节,而不是关注诸如变量和循环这样的基本的编程概念,而这些

《C语言编程初学者指南》一1.8 调试C程序

1.8 调试C程序 如果你的程序编译了,然后退出了或在执行中出现异常,程序中一定存在一个错误(一个bug).我们将要花费很多的时间来找到并删除这些bug.本小节介绍了帮助你开始这一工作的一些技巧.然而,请记住,调试是计算机科学,同样也是一门艺术,当然,你的编程实践越多,调试也就变得越容易!往往一个程序编译和执行得很好,但总是产生你意料之外的或者不想要的结果.例如,如下的程序的编译和执行没有错误,但是输出却是无法读懂的,或者说不是我所期望的,其输出如图1.11所示. include <stdio.

《C语言编程初学者指南》一1.10 编程挑战

1.10 编程挑战 1.学习附录B中的Vim快速指南. 2.学习附录C中的nano快速指南. 3.学习附录D中的Tiny C Compiler(TCC)快速指南. 4.编写一个程序,打印出你的名字. 5.编写一个程序,使用转义序列\"打印出引号. 6.编写一个程序,使用转义序列\打印出如下的目录结构:c:\cygwin\home\administrator. 7.编写一个程序,打印出如下的菱形. 8.使用当前的月份,编写出一个日历程序(类似于图1.6所示). 本文仅用于学习和交流目的,不代表异步

《C语言编程初学者指南》一1.4 理解关键字

1.4 理解关键字 在标准ANSI C编程语言中,有32个单词定义为关键字(keyword).这些关键字是预先定义的,在C程序中无论如何都不能使用.编译器(在这里是gcc)使用这些关键字来辅助编译程序.注意,必须总是把这些关键字写成小写的(参见表1.1) 表1.1 C语言的关键字 关键字 说明 auto 定义具有局部作用域的一个局部变量 break 把控制传递到程序结构之外 case 分支控制 char 基本数据类型 const 定义一个不能修改的值 continue 把控制传递到循环的开始处

《C语言编程初学者指南》一2.8 用C做算术运算

2.8 用C做算术运算 正如前面小节中的Adder程序所展示的,C语言使得程序员能够执行所有的各种类型的算术运算.表2.5展示在C语言编程的入门阶段最常使用的算术运算符. 在上一小节的Adder程序中,在处理常用算术运算的时候,我使用了快捷方式,即在printf()函数中执行了计算.然而这不是必需的,你可以使用其他的变量和程序语句来得到相同的结果.例如,如下的代码是Adder程序的另一个变体,它使用了其他的程序语句来达到相同的结果. #include <stdio.h> int main()

《C语言编程初学者指南》一1.2 认识main()函数

1.2 认识main()函数 本小节首先介绍每个C程序开始的内容,也就是main()函数.首先,我想要用打比方的方式说明什么是函数.从编程的角度来讲,函数使你能够将逻辑上的一系列的动作(或程序语句)组织到一个名字之下.例如,假设你想要创建一个名为bakeCake的函数. 烘焙蛋糕的算法(过程)如下所示: 在用于搅拌的碗中,搅拌湿的成分(水.奶油.蛋汁等): 加入干的成分(面粉等): 将面糊铺满烤盘: 在烤箱中,用350度的温度烘焙30分钟. 注意,给你的函数起一个富有描述性的名称,将有助于任何人