用c语言编写一个简单的程序,python是由c语言编写的
写一个简单的C程序。每个C程序包含一个或多个函数,其中一个必须命名为main。操作系统通过调用main来运行C程序。下面是一个非常简单的main函数,它什么也不做,只是向操作系统返回值:
int main(){ return 0;}
函数的定义由四部分组成:返回类型、函数名、括号中的参数列表和函数体。虽然主函数在某种程度上比较特殊,但是它的定义和其他函数是一样的。
在这个例子中,main的参数列表是空的(在()中没有任何内容)。第6.2.5节(218页)将讨论main的其他类型的形参。
主函数的返回类型必须是int,即整数类型。Int类型是一种内置类型,即由语言本身定义的类型。
函数定义的最后一部分是函数体,它是一个以花括号开始,以右括号结束的语句块:
{返回0;}
该语句块中唯一的语句是return,它结束函数的执行。在本例中,return也向调用者返回值。当return语句包含一个值时,返回值的类型必须与函数的返回类型兼容。在这个例子中,main的返回类型是int,返回值0确实是一个int类型的值。
注意return语句末尾的分号。在C语言中,大多数C语句都以分号结尾。它们很容易被忽略,但是如果忘记写分号,就会导致莫名其妙的编译错误。
在大多数系统中,main的返回值用于指示状态。返回值0表示成功,0以外的返回值的含义由系统定义,通常用于表示错误类型。
重要概念:类型
类型编程是最基本的概念之一,我们会在本书中反复遇到。类型不仅定义了数据元素的内容,还定义了可以对这些数据执行的操作。
程序处理的数据存储在变量中,每个变量都有自己的类型。如果一个名为V的变量是T型的,我们通常说“V有T型”,或者等价地说“V是T型的变量”。
运行程序。
编译、运行程序
写完程序后,我们需要编译它。如何编译程序取决于你使用的操作系统和编译器。请参考参考手册或向有经验的同事询问您正在使用的具体编译器的详细信息。
许多PC上的编译器都集成了开发环境(IDE),它将编译器与其他程序创建和分析工具打包在一起。在开发大型程序时,这种集成环境可能是非常有用的工具,但需要花一些时间来学习如何有效地使用它们。学习如何使用这种开发环境超出了本书的范围。
大多数编译器,包括集成了IDE的编译器,都提供了命令行界面。除非你已经了解IDE,否则你会发现借助命令行界面开始学习C很容易。这种学习方式的好处是,你可以先集中精力学习C语言本身(而不是一些开发工具),一旦掌握了语言,IDE通常很容易学会。
程序源文件命名约定无论使用命令行界面还是IDE,大多数编译器都要求程序源代码存储在一个或多个文件中。程序通常被称为源文件。在大多数系统中,源文件的名称以后缀结尾,后缀由句点后跟一个或多个字符组成。后缀告诉系统这个文件是一个C程序。不同的编译器使用不同的后缀命名约定,最常见的有。抄送,cxx,cpp,cp和。c.
从命令行运行编译器如果我们使用的是命令行界面,通常会在控制台窗口(比如UNIX系统的shell窗口或者Windows系统的命令提示符窗口)编译程序。假设我们的主程序保存在prog1.cc文件中,您可以用下面的命令编译它
$ CC prog1.cc
其中CC是编译器程序的名称,$是系统提示符。编译器生成一个可执行文件。Windows将把这个可执行文件命名为prog1.exe。UNIX系统中的编译器通常将可执行文件命名为a.out
为了在Windows系统中运行可执行文件,我们需要提供可执行文件的文件名,以及它的扩展名。可以忽略exe:
$ prog1
在某些系统中,即使文件在当前目录或文件夹中。您还必须明确指出文件的位置。在这种情况下,我们可以键入
$ .\prog1
"."后跟反斜杠表示该文件位于当前目录中。
为了在UNIX系统中运行一个可执行文件,我们需要使用完整的文件名,包括文件扩展名:
$ a.out
如果需要指定文件位置,需要使用“.”后跟一个斜杠,表示可执行文件在当前目录中。
$ ./a.out
访问main返回值的方法取决于系统。在UNIX和Windows系统中,一个程序被执行后,它的返回值可以通过echo命令获得。
在UNIX系统上,通过以下命令获取状态
$ echo $?
要在Windows系统中查看状态,您可以键入
$ echo %ERRORLEVEL%
运行GNU或微软编译器
在不同的操作系统和编译系统中,运行C编译器的命令也是不同的。最常用的编译器是GNU编译器和Microsoft Visual Studio编译器。默认情况下,运行GNU编译器的命令是g:
$g -o方案1方案1.cc
这里,$是系统提示。-o prog1是指定可执行文件的文件名的编译器参数。在不同的操作系统中,该命令会生成一个名为prog1或prog1.exe的可执行文件。在UNIX系统中,可执行文件没有后缀;在Windows系统上,后缀是。exe。如果省略-o prog1参数,编译器将在UNIX系统中生成一个名为a.out的可执行文件,在Windows系统中生成一个名为a.out的可执行文件(注意:根据使用的GNU编译器版本不同,可能需要指定-std=c0x参数来打开对C 11的支持)。
运行Microsoft Visual Studio 2010编译器的命令是cl:
c:\ Users \ me \ programs cl/EHsc Prog 1 . CPP
这里C:\Users\me\Programs是系统提示,\Users\me\Programs是当前目录名(即当前文件夹)。命令cl调用编译器,而/EHsc是打开标准异常处理的编译器选项。编译器将自动生成一个可执行文件,其名称对应于第一个源文件的名称。可执行文件的文件名与源文件名相同,但带有后缀。exe。在本例中,可执行文件的文件名是prog1.exe。
编译器通常包含一些选项来警告有问题的程序结构。打开这些选项通常是一个好习惯。我们习惯在GNU编译器中使用-Wall选项,在微软编译器中使用/W4。
有关详细信息,请参考编译器的参考手册。
练习
练习1:查阅您使用的编译器的文档,确定它使用的文件命名约定。编译并运行第2页的主程序。
练习2:重写程序,使其返回-1。返回值-1通常用作程序错误的标识。重新编译并运行您的程序,观察您的系统如何处理main返回的错误标识。
本文节选自 《C++ Primer中文版(第5版)》
【美】Stanley B.Lippman( 斯坦利 李普曼) Josee Lajoie(拉长的冥王星 ) Barbara E. Moo (jldwl) 著
王刚 杨巨峰 译
电子工业出版社出版
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。