
1.3.1 简单的C语言程序举例
为了使用C语言编写程序,必须了解C语言,并且能够熟练地使用C语言。本书将通过几个程序来介绍如何阅读C语言程序。这几个程序由简到难,表现了C程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个C程序的基本部分和书写格式。
【案例描述】
在屏幕上输出:“行是知之始,知是行之成”。
【案例分析】
为了解决该问题,我们需要用到printf函数,输出以上文字。
【案例实现】

运行结果如下:

程序分析
main是函数的名字,表示主函数;每一个C语言程序都必须有一个main函数。
main前面的int表示该函数的类型是int类型(整型),即在执行完主函数后会得到一个值(即函数值),其值为整型。
return 0的作用是在main函数执行结束前将整数0作为函数值,返回到调用函数处。
函数体由花括号括起来。
printf是C语言编译系统提供的函数库中的输出函数(详见第三章)。printf函数中的文字“行是知之始,知是行之成”按原样输出。\n是换行符,即在输出“行是知之始,知是行之成”后,显示屏上的光标位置移到下一行的开头。
每条语句的最后都有一个分号,表示语句结束。
在使用函数库中的输入/输出函数时,编译系统要求程序提供有关该函数的信息,程序第1行“#include<stdio.h>”的作用就是用来提供这些信息的。stdio.h是系统提供的一个文件名,stdio是standard input&output的缩写,文件后缀.h的意思是头文件(header file),因为这些文件都被放在程序各文件模块的开头位置。输入/输出函数的相关信息已事先放在stdio.h文件中。
“//”表示从此处到本行结束是“注释”,用来对程序有关部分进行必要的说明。在编写C程序时应当多用注释,以方便自己和别人理解程序各部分的作用。在程序进行预编译处理时将每个注释替换为一个空格,因此在编译时注释部分不产生目标代码,注释对运行不起作用。注释只是给人看的,而不是让计算机执行的。这种注释可以单独占一行,也可以出现在一行中其他内容的右侧。此种注释的范围从//开始,以换行符结束。如果注释内容在一行内写不完,可以用多个单行注释。
除上述描述的注释方法外,还有一种以/*开始,以*/结束的块式注释。这种注释可以包含多行内容。它可以单独占一行(在行开头以/*开始,在行末以*/结束),也可以包含多行。编译系统在发现一个/*后,会开始找注释结束符*/,把二者间的内容作为注释。
【案例描述】
求两个整数中的较大者。
【案例分析】
为了解决该问题,我们可以用一个函数来实现求两个整数中的较大者,在主函数中调用此函数并输出结果。
【案例实现】


运行结果如下:

程序分析
本程序包括两个函数:①主函数main;②被调用的函数max。
max函数的作用是将x和y中较大者的值赋给变量z,最后通过return语句将z的值作为max的函数值返回给调用max函数的主函数。
scanf是输入函数的名字(scanf和printf都是C语言的标准输入/输出函数)。该scanf函数的作用是输入变量a和b的值。
max(a,b)调用max函数,在调用时将a和b作为max函数的实际参数的值分别传送给max函数中的形式参数x和y。
注意:
本例程序中的两个函数都有return语句,请注意它们的异同。两个函数都定义为整型,都有函数值,都需要用return语句为函数指定返回值。main函数中的return语句指定的返回值一般为0。max函数的返回值是max函数中求出的两个数中的较大值z,只有通过return语句才能把求出的z值作为函数的值并返回调用它的main函数。
在本例中用到了函数调用、实际参数和形式参数等概念,本节进行了简单的解释。对于初学者而言理解比较困难,可以先不予深究,在后面的章节中会详细介绍。在此主要使读者对C程序的组成和形式有一个初步了解。[1]