Monday, November 21, 2011

C语言程序结构和语法规则

一、C语言程序的基本结构

下面通过几个简单的示例,介绍C语言程序的基本构成和书写格式,使读者对C语言程序有一个基本的了解。在此基础上,再进一步了解C语言程序的语法和书写规则。
【例1.1】 求三个数的平均值的C语言程序。
/*功能:求三个数的平均值*/
main() /* main()称为主函数*/
{
float a,b,c,ave; /* 定义a,b,c,ave为实型数据*/
a=7;
b=9;
c=12;
ave=(a+b+c)/3; /*计算平均值*/
printf("ave=%f\n",ave); /* 在屏幕上输出ave的值 */
}
程序运行结果:
ave=9.333333
【例1.2】 输出两个数中的较大值的C语言程序。
/*功能:输出两个数中的较大值 */
main() /*主函数*/
{
int num1,num2,max; /*定义num1、num2、max为整型变量*/
scanf("%d,%d",&num1,&num2); /*由键盘输入num1、num2的值*/
printf("max=%d\n",max(num1,num2)); /*在屏幕上输出调用max的函数值*/
}
/*用户设计的函数max()*/
int max(int x,int y) /* x和y分别取num1和num2传递的值*/
{
if(x>y) return x; /* 如果x>y,将x的值返回给max */
else return y; /* 如果x>y不成立,将y的值返回给max */
}
程序运行情况:
5,8↙(“↙”表示按回车键,以下相同)
max=8
在以上两个示例中,【例1.1】所示的C语言程序仅由一个main()函数构成,它相当于其他高级语言中的主程序;【例1.2】所示的C语言程序由一个main()和一个其他函数max()(用户自己设计的函数)构成,函数max()相当于其他高级语言中的子程序。由此可见,一个完整的C语言程序结构有以下两种表现形式:
(1)仅由一个main()函数(又称主函数)构成,如图1-1(a)所示。
(2)由一个且只能有一个main()函数和若干个其他函数结合而成,如图1-1(b)所示。其中,自定义函数由用户自己设计。


图1-1 C语言程序结构示意图
结合以上示例,可以看出C语言程序结构有以下基本特点:
(1)C语言程序是由函数(如:main函数和max函数)组成的,每一个函数完成相对独立的功能,函数是C语言程序的基本模块单元。main是函数名,函数名后面的一对圆括号“()”是用来写函数的参数的。参数可以有,也可以没有(本程序没有参数),但圆括号不能省略。
(2)一个C语言程序总是从main()函数开始执行。主函数执行完毕,程序执行结束。
(3)C语言编译系统区分字母大小写。C语言把大小写字母视为两个不同的字符,并规定每条语句或数据说明均以分号(;)结束。分号是语句不可缺少的组成部分。
(4)主函数main()既可以放在max()函数之前,也可以放在max()函数之后。习惯上,将主函数main()放在最前面。
(5)C语言程序中所调用的函数,既可以是由系统提供的库函数,也可以是由设计人员自己根据需要而设计的函数。例如,在【例1.2】中,printf()函数是C语言编译系统库函数中的一个函数,它的作用是在屏幕上按指定格式输出指定的内容;max()函数是由用户自己设计的函数,它的作用是计算两个数中的较大值。
二、C语言程序的书写规则

(1)C源程序是由一个主函数和若干个其它函数组成的。
(2)函数名后必须有小括号,函数体放在大括号内。
(3)C程序必须用小写字母书写。
(4)每句的末尾加分号。
(5)可以一行多句。
(6)可以一句多行。
(7)可以在程序的任何位置加注释。
一个完整的C语言程序,是由一个main()函数(又称主函数)和若干个其它函数结合而成的,或仅由一个main()函数构成。
[例1.3] 仅由main()函数构成的C语言程序。
main()
{
printf(“This is a C program.\n”);
}
程序运行结果:
This is a C program.
[例1.4] 由main()函数和1个其它函数max()构成的C语言程序。
int max(int x, int y)
{
return( x>y ? x : y );
}
main()
{
int num1,num2;
printf(“Input the first integer number: ”);
scanf(“%d”, &num1);
printf(“Input the second integer number: ”);
scanf(“%d”, &num2);
printf(“max=%d\n”, max(num1, num2));
}
程序运行情况:
Input the first integer number:6←┘
Input the second integer number:9←┘
max=9

No comments:

Post a Comment