三个简单的C语言程序
今天介绍三个最简单的C语言程序。
1
int main()
{
printf("This is a C program.\n");
return 0;
}
程序分析:
先看第2行,其中main是函数的名字,表示“主函数”,main前面的int表示此函数的类型是int类型(整型)。在执行主函数后会得到一个值(即函数值),其值为整型。程序第5行“return 0;”的作用是:当main函数执行结束前将整数0作为函数值,返回到调用函数处。每一个C语言程序都必须有一个main函数。函数体由花括号{}括起来。本例中主函数内有两个语句,程序第4行是一个输出语句,printf是C编译系统提供的函数库中的输出函数。printf函数中的双撇号内的字符串“This is a C program.”按原样输出。\n是换行符,即在输出“This is a C program.”后,显示屏上的光标位置移到下一行的开头。这个光标位置称为输出的当前位置,即下一个输出的字符出现在此位置上。每个语句最后都有一个分号,表示语句结束。
说明:
C语言允许用两种注释方式:
(1)、以//开始的单行注释。如上介绍的注释,这种注释可以单独占一行,也可以出现在一行中其他内容的右侧。此种注释的范围从//开始,以换行符结束。也就是说这种注释不能跨行。如果注释内容一行内写不下,可以用多个单行注释,如下面两行是连续的注释行:
//如注释内容一行内写不下
//可以在下一行重新用“//”,然后继续写注释。
(2)、以/*开始,以*/结束的块式注释。这种注释可以包含多行内容。它可以单独占一行(在行开头以/*开始,行末以*/结束),也可以包含多行。编译系统在发现一个/*后,会开始找注释结束符*/,把二者间的内容作为注释。
但应注意的是在字符串中的//和/*都不作为注释的开始,而是作为字符串的一部分。
如:
printf("//how do you do!\n");
或
printf("/*how do you do!*/\n");
输出分别是:
//how do you do!
和
/*how do you do!*/
注释可以用汉字或英文字符表示。
在C89只允许用/*...*/形式的注释,而C++则允许用//形式的注释,//注释被称为“C++风格”的注释。但许多C编译系统在C99之前就已支持这种方便的注释方法,C99正式将//注释纳入C语言新标准。目前使用的一些编译系统(如Visual C++ 6.0, Turbo C++ 3.0, GCC)等都支持//单行注释。
2
编写程序:
int main()
{
int a,b,sum;
a=123;
b=456;
sum=a+b;
printf("sum is %d\n",sum);
return 0;
}
运行结果:
sum is 579
然后换行,程序执行结束。
程序分析:
本程序的作用是求两个整数a和b之和。第4行是声明部分,定义sum为整型(int)变量。第5、6行是两个赋值语句,使a和b的值分别为123和456.第7行使sum的值为a和b之和。第8行输出结果,这个printf函数圆括号内有两个参数,一个是双撇号中的内容sum is %d\n,它是输出格式字符串,作用是输出用户希望输出的字符和输出的格式。其中sum is是用户希望输出的字符,%d是指定的输出格式,d表示用“十进制整数”形式输出。圆括号内第2个参数sum,表示要输出变量sum的值。在执行printf函数时,将sum变量的值取代双撇号中的%d。现在sum的值是579,所以在输出时十进制整数579取代了%d,\n是换行符。
由于本程序正常运行和结束,因此main函数的返回值应为0.现在并没有去检查和利用这个函数值,但是以后在某些时候会需要用到main函数值的。
3
例3:求两个整数中的较大者。
解题思路:用一个函数来实现求两个整数中的较大者。在主函数中调用此函数并输出结果。
编写程序:
//主函数
int main()
{
int max(int x, int y);
int a, b, c;
scanf("%d,%d",&a, &b);
c=max(a, b);
printf("max = %d\n",c);
return 0;
}
//求两个整数中的较大者的max函数
int max(int x, int y) // 定义max函数,函数值为整型,形参x和y为整型
{
int z; // max函数中的声明部分,定义本函数中用到的变量z为整型
if(x>y) z=x; //若x>y成立,将x的值赋给变量z
else z=y; //否则(即x>y不成立),将y的值赋给变量z
return(z); //将z的值作为max函数值,返回到调用max函数的位置
}
运行结果:
8, 5
max=8
第1行输入8和5,赋给变量a和b,第2行输出“大数为8”
程序分析:
程序第5行是对被调用函数max的声明,为什么要作这个函数声明呢?因为在主函数中要调用max函数,而max函数的定义却在main函数之后,对程序的编译是自上而下进行的,在对程序第8行进行编译时,编译系统无法知道max是什么,因而无法把它作为函数调用处理。为了使编译系统能识别max函数,就要在调用max函数之前用“int max(int x ,int y);”,对max函数进行“声明”,所谓声明,通俗地说就是告诉编译系统max是什么,以及它的有关信息。
程序第8行用max(a,b)调用max函数,在调用时将a和b作为max函数的参数的值分别传送给max函数中的参数x和y,然后执行max函数的函数体,使max函数中的变量z得到一个值(即x和y中大者的值),return(z)的作用是把z的值作为max函数值带回到程序第8行=的右侧,取代max(a,b),然后把这个值赋给变量c。
第9行输出结果。在执行printf函数时,对双撇号括起来的max=%d\n是这样处理的:将max=原样输出,%d由变量c的值取代之,\n执行换行。
如果你觉得文章让您增长了知识,
请点击右下方的“在看”