1.4 一个简单的C程序
视频讲解:资源包\Video\01\1.4一个简单的C程序.mp4
先通过一个简单的程序来了解C语言的编写特点。
实例01 输出“Hello,world!I’m coming!”
实例位置:资源包\Code\SL\01\01
视频位置:资源包\Video\01\
本实例程序实现的功能是输出一条信息“Hello,world!I’m coming!”。这个简单的C程序虽然只有7行,但充分说明了C程序是由什么位置开始、什么位置结束的。具体代码如下:
运行程序(快捷键<Ctrl+F5>),结果如图1.25所示。
图1.25 简单程序运行结果
编程之美源于发现
做完上面这个程序后,是不是感觉太简单,不过瘾?扫描上面右侧的“发现”二维码,一起走进C语言编程的深度探险之旅。开动脑筋,寻找灵感,激活根植于你内心的发现基因,不断突破C语言编程的种种局限和不可能,创造和分享C语言编写的各种成果。只有想不到,没有做不到,如图1.26所示,就是利用输出语句实现的各种字符画。
图1.26 形形色色的字符画
从实例01的实现代码中可以看出,一个简单的C程序是由以下几部分内容组成的。
1.#include指令
实例01实现代码中的第1行代码如下:
这个语句的功能是进行有关的预处理操作。其中“#”表示预处理命令,#include是使用头文件的指令;而stdio.h是一个函数库,它被称为头部文件或首文件。
2.空行和空格
实例01实现代码中的第2行是一个空行。目的是让代码之间层次更清晰。
由于C语言是一门较灵活的语言,因此格式并不是固定不变、拘于一格的。也就是说,加空行或空格一般不会影响程序。合理、恰当地使用空行和空格,可以使编写出来的程序更加规范,更便于日后的阅读和整理。
注意
不是所有的空格都是可有可无的,如在两个关键字之间必须用空格隔开(例如else if),在这种情况下,如果将空格去掉,程序就不能通过编译。
3.main()主函数声明
实例01实现代码中的第3行如下:
这行代码的作用是声明main()主函数,其返回值为整型数据。其中的“int”称为关键字,代表数据类型是整型。
在函数中,这一部分被称为函数头部分。在每一个程序中都会有一个main()主函数,main()主函数就是一个程序的入口部分。也就是说,程序都是从main()主函数头开始执行的,然后进入main()主函数中,执行main()主函数中的内容。
4.函数体
在介绍main()主函数时,提到了一个名词——函数头。一个函数可分为两个部分:一部分是函数头,另一部分是函数体。
实例01实现代码中的第4行和第7行代码的两个大括号就构成了函数体,代码如下:
函数体也可以称为函数的语句块。在函数体中,第5行和第6行就是函数体中要执行的内容。
5.执行语句
实例01实现代码的第5行代码就是函数体中的执行语句,代码如下:
执行语句就是函数体中要执行的内容。printf()函数是产生格式化输出的函数,可以简单地理解为向控制台输出文字或符号。括号中的内容被称为函数的参数,在括号内可以看到输出的字符串“Hello,world!I’m coming!”,其中“\n”称为转义字符。转义字符的内容将会在本书第3章中进行介绍。
6.return语句
实例01实现代码中的第6行代码同样也是函数体中的执行语句,代码如下:
这行语句的作用是使main()主函数终止运行,并向操作系统返回一个整型常量0。在介绍main()主函数时,说过返回一个整型返回值,此时0就是要返回的整型值。在此处可以将return理解成main()主函数的结束标志。
7.代码的注释
在程序的第5行和第6行后面都可以看到一段关于该行代码的文字描述,语句如下:
这两行对代码的解释内容被称为代码的注释。代码注释的作用就是对代码进行解释说明,便于以后自己阅读或者他人阅读源程序时,容易理解程序代码的含义和设计思想。
C语言中主要有两种常见的注释形式,即单行注释和多行注释。单行注释符号使用“//”,作用范围就是从符号“//”开始到本行结束;多行注释符号使用“/**/”,作用范围是“/*”与“*/”之间的内容。语法如下:
注释的原则是有助于对程序的阅读理解,注释不宜太多,也不能太少,太多会对阅读产生干扰,太少则不利于对代码的理解。因此只在必要的地方才加注释,而且注释要准确、易懂、尽可能简洁。
说明
虽然没有强行规定程序中一定要写注释,但是为便于以后查看代码,或者如果程序交给别人看,他人便可以快速地掌握程序的基本信息(如版权说明、生成日期、内容、功能等)与代码作用。因此,编写良好的代码格式规范和添加适当的注释,是一个优秀程序员应该具备的好习惯。
训练一
试着在控制台输出“Welcome to MingRi”。(资源包\Code\Try\01\01)