文档介绍:第9章预处理命令
第10章指针
第11章结构体与共用体
第12章位运算
第13章文件
第14章 C++对C的扩充
第15章 C++的面向对象基础
第16章常见错误和程序调试
第1章 C语言概述
简单的C程序介绍
C程序的上机步骤
简单的C程序介绍
下面先介绍几个简单的C程序,然后从中分析C程序的特性。例
main ( )
{
printf ("This is a C program.\n");
}
本程序的作用是输出以下一行信息:
This is a c program.
其中 main 表示“主函数”。每一个C程序都必须有一个 main 函数。函数体由大括弧{}括起来。本例中主函数内只有一个输出语句,printf是C语言中的输出函数(详见第4章)。双引号(双括号)内的字符串原样输出。“\n”是换行符,即在输出“This is a c program.”后回车换行。语句最后有一分号。
例
main ( )/*求两数之和*/
{
int a,b,sum; /*这是定义变量*/
a=123; b=456; /* 以下3行为C语句*/
sum=a+b;
printf ("sum is %d/n", sum);
}
本程序的作用是求两个整数a和b之和sum。/*……*/表示注释部分,为便于理解,我们用汉字表示注释,当然也可以用英语或汉字拼音作注释。注释只是给人看的,对编译和运行不起作用。注释可以加在程序中任何位置。第2行是声明部分, 定义变量a和b,指定 a和b为整型(int)变量。第3行是两个赋值语句,使a和b的值分别为123和
456。第4行使sum的值为a+b,第5行中“%d”是输入输出的“格式字符串”,用来指定输入输出时的数据类型和格式(详见第4章),“%d”表示“以十进制整数形式输出”。在执行输出时,此位置上代以一个十进制整数值。printf函数中括弧内最右端sum是要输出的变量,现在它的值为579(即123+456之值)。因此输出一行信息为sum is 579
main ( )/* 主函数*/
{ int a, b, c; /*声明部分,定义变量*/
scanf ("%d,%d",&a,&b); /*输入变量a和b的值*/
c=max (a,b);/*调用max函数,将得到的值赋给c*/
printf ("max=%d",c); /*输出c的值*/
}
int max(int x,int y) /* 定义max函数,函数值为整型, 形式参数x,y为整型*/
{int z; /* max函数中的声明部分,定义本函数中用到的变量z为整型*/
if (x>y) z=x;
else z=y;
return (z); /*将z的值返回,通过max带回调用处*/
}
本程序包括两个函数:主函数main和被调用的函数max。max函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main。返回值是通过函数名max带回到main函数的调用处。main函数中的scanf是“输入函数”的名字(scanf和printf都是C系统提供的标准输入输出函数)。程序中scanf函数的作用是输入a和b的值。&a和&b中的“&”的含义是“取地址”,此scanf函数的作用是将两个数值分别输入到变量a和b的地址所标志的单元中,也就是输入给变量a和b。这种形式是与其他语言不同的。它相当于BASIC语言中的INPUT a,b或PASCAL语言中的Read (a,b)。&a和&b前面的“%d,%d”的含义与前相同,
只是现在用于“输入”。它指定输入的两个数据按十进制整数形式输入。关于scanf函数详见第4章。
main函数中第4行为调用max函数,在调用时将实际参数a和b的值分别传送给max函数中的形式参数x和y。经过执行max函数得到一个返回值(即max函数中变量z的值),把这个值赋给变量c。然后输出c的值。printf函数中双引号内的“max=%d”,在输出时,其中“%d”将由c的值取代之,“max =”原样输出。程序运行情况如下:
8,5 (输入8和5给a和b)
max=8 (输出c的值)
本例用到了函数调用、实际参数和形式参数等概念,我们只做了很简单的解释。读者如对此不大理解,可以先不予以深究,在学到以后有关章节时,问题自然迎刃而解。在此介绍此例子,无非是使读者对C程序的组成和形式有一个初步的了解。
通过以上几个例子,可以看到:
(1) C程序是由函数构成的。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位。被调用的函数可以是系统提供的库函数(例如printf和sc