首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

1.1 Getting Started

声明

本文内容若有侵权,请联系我们;转载本公众号原创文章和原创插图时,请注明出处。

学习一门新的编程语言的唯一方法就是用它写程序。第一个程序对所有的语言来说都一样:

Print the words打印这些单词

hello, world你好,世界

这是个大的障碍;跨越它,你必须能够在某些地方创建程序文本,成功编译它,加载,运行,并找到你的输出。掌握了这些机器细节,其他的事情都相对简单。

在C语言中,打印出“hello,world”的程序如下:

如何运行这个程序取决于你使用的系统。这里给出一个特殊的例子,在UNIX操作系统上,你必须创建一个以“”结尾命名的程序文件,如,然后用命令编译它。如果你没有搞砸任何事,如遗漏一个字母或者拼错单词,汇编器将安静地运行并且产生一个名为的可执行文件,如果你通过敲出命令运行它,它将会打印出:hello,world

在其他系统,规则会不同;跟当地的专家联系。(译者注:初学者可跳过以上论述,直接用VC++等编写并执行。)

现在就这个程序本身给出一些解释。一个C程序,无论它多大,都由函数和变量组成。一个函数包含一些语句和变量,语句指定计算操作执行,变量存储计算过程中用到的值。C函数与Fortran语言中的子程序和函数以及Pascal语言中的函数相似。我们的例子是一个名为的函数,正常情况下,你可以自由命名函数,但很特殊——你的程序从函数的开头开始执行。这意味着每个程序必须在某些位置有一个函数。

函数经常会调用其他函数来辅助完成工作,有些是你自己编写的,其他的则是函数库提供给你的。这个程序的第一行告知编译器包含标准输入输出函数库中的信息。这一行在许多C的源文件的开头出现。标准库在第七章和附录B叙述。

函数间交换数据的方法之一是给要调用的函数提供一系列值,这些值被称作参数。函数名后的小括号包围着参数列表。本例中,函数被定义成一个无参数函数,用空的列表表明。

一个函数的所有语句被一对大括号包围着。函数仅包含一条语句 。通过写出函数名,后跟小括号内的参数列表可调用该函数,所以这条语句调用了函数,并赋予参数 。是一个库函数,它会将双引号之间的字符串打印输出。

双引号中的一系列字符,像 ,被称作一个字符串或字符串常量。目前,我们只将字符串用作以及其他函数的参数。

字符串中的连续片段是C语言中“换行符(newline character)”的记号,会在输出打印后将光标移到新一行的左边界。如果你遗漏了(值得尝试),你会发现输出打印后,没有新的一行。你必须在函数的参数中使用,来包含换行符,如果你做出了这样的尝试:

C编译器会产生一个错误信息。

函数不会自动换行,因此逐步建立一个输出行可以几次调用它。我们第一个例程也可以写作如下形式产生完全相同的输出:

注意到,为一个简单字符,像这样的转义字符提供一个通用的可扩展的结构,可以替代难以打印的或隐匿的字符(译者注:因为C语言中使用了一些符号作为程序格式控制,例如双引号 " 被用来确定包围的是字符串,但有时我们也需要打印出双引号,故用转义字符表示;当然转义字符也有其他的功能,后续会叙述相关内容)。其中,C语言提供的其他的转义字符有:水平制表符,空格符,双引号,一个反斜杠。完整的列表见2.3节。

:在你的系统上运行“hello,world”程序,体验下遗漏程序中的某个部分,看看你会获得什么错误信息。

:体验下,当函数的参数中包含时,会发生什么。是上面没有列出的字符。

[译者注]由于本书作者写作的年代比较久远,其中很多的规则发生了变化,有兴趣的同学可以去搜索下C语言的发展史。这里给出现在标准的C例程,它可以在目前的编译器中运行通过,如下:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180409G1FZ3U00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券