2.1一个简单的实例
程序清单2.1 first.c程序
------
#include <stdio.h>
int main()
{
int num;
num=1;
printf("I am a simple");
printf("computer.\n");
printf("My favorite number is %d because it is first . \n",num);
return 0 ;
}
2.2实例说明
2.2.2程序细节
一、#include 指示和头文件
#include <stdio.h>
该句相当于您在文件中该行键入了stdio.h文件的完整内容。这样可以在多个程序间共享公用的信息。
#include 语句是C预处理器指令(preprocessor directive)的一个例子。通常,C编译器在编译前要对源代码 做一些准备工作,这称为预处理。
stdio.h(standard inprt output header)文件作为所有C编译包的一部分提供,包含有关输入和输出的函数信息以供编译器使用。在C中,人们称出现在文件顶部的信息集合为头(header),C实现通常都带有许多头文件。
简言之,头文件指引编译器把您的程序正确的组合到一起。
二、main()函数
一个C程序总是(不考虑例外)从main()函数开始。这个函数是C程序的基本模块。
int指明了main函数的返回类型。
圆括号()包含传递给函数的信息。
三、注释
/*一个简单的程序*/
包含在/**/之间的部分是程序注释,都会被编译器忽略掉。可以单行也可以多行。
//符号内的注释只能限制在单行。
四、花括号、程序体和代码块
{
......
}
通常,所有的C函数都使用花括号来表示函数体的开始和结束。
五、声明
int num;
程序中的这一行叫声明语句。
在C语言中,所有的变量必须在使用前定义。
传统上,C语言要求必须在一个代码块的开始处声明变量,在这之前不允许使用其他语句。
1、数据类型
把一个变量声明为整数类型或字符类型是计算机正确的存储、获取和解释该数据的基本前提。
2、名字的选择
可供使用的字符有大写、小写字母,数字和下划线。第一个字符必须是字母或下划线。
C语言的名字区分大小写。
3、声明变量的好处
A、所有变更放在一起,可以让读者更容易掌握程序的内容。
B、程序编写之前考虑一下需要声明的变量会促使您做一些计划。
C、减少程序中很难发现的一类细微错误。
D、如果没有声明所有变量,将不能编译您的C程序。
六、赋值
num=1;
把1赋给变量num。
前面的int num;语句为变量num分配了内存空间,该赋值语句在那个地方为变量存储了一个值。如果您想的话,以后还可以给num赋另一个值,这就是num为什么叫变量的原因。
赋值语句的顺序是从右到左。
七、printf()函数
printf("I am a simple");
printf("computer.\n");
printf("My favorite number is %d because it is first . \n",num);
圆括号中包括的内容是从main()传递到函数printf()的信息。这样的信息被称为参数(argument),更完整的名称是函数的实际参数(actual argument).
第二行,\n被称为换行符,字符的意思是开始新的一行。
换行符是转义字符的一个例子。
转义字符通常用于代表难于表达或者是无法输入的字符。
\t代表tab键;\b代表退格键;
每个转义字符都是\开始。
第三行,%d是一个占位符,其作用是指示输出num值的位置。
%告诉程序把一个变量在这个位置输出,d告诉程序将输出一个十进制的整数变量。
实际上,printf中的f暗示着这是一种格式化的输出函数。
八、return语句
return 0;
带有返回值的C语言函数要使用一个return语句,该语句包括关键字return,后面紧跟要返回的值,然后是一个分号。
2.3一个简单程序的结构
程序由一个或多个函数组成,其中必须有一个名为main()的函数。
函数头(header),包括预处理语句和函数名;
函数体(body),位于花括号中,并由一系列语句组成,每个语句以一个分号结束;
#include <stdio.h>
int main(void)
{
statements;
return 0 ;
}
2.4使程序可读的技巧
*选择有意义的变量名和使用注释;
*使用一个空行来分隔定义部分和动作部分;
*每个语句使用一行;
2.5更进一步
2.5.1说明
程序开始处使用一个注释说明文件的名称和程序的目的。对以后浏览或打印这些文件时很有帮助。
2.5.2多个声明
在一个声明语句中声明多个变量时,要使用“,”把多个变更分隔开来;
2.5.4输出多个值
printf("There are %d feet in %d fathoms! \n”,feet,fathoms);
printf("Yes , I said %d feet! \n”,6*fathoms);
注意,要输出的变量列表出现在引号之后的语句尾部,还要注意每一项与其余项之间要用逗号隔开;
第二句说明,输出值不必是一个变量,它只需结果值具有合适类型的某个式子;
2.6多个函数
/*two_func.c--在一个文件中使用两个函数*/
#include <stdio.h>
void butler(void);//第一次出现在原型中,通知编译器要用到该函数;
int main(void)
{
printf("I will summon the butler function.\n");
butler();//第二次以函数调用的形式出现;
printf("Yes,Bring me some tea and writeable CD-ROMS.\n");
return 0;
}
void butler (void)//第三次程序给出了函数的定义,即函数的源代码;
{
printf("You rang,Sir?\n");
}
原型,是一种声明形式,它告诉编译器您正使用一个特殊的函数,它也了指明了函数的属性。
注意:void的意思是“空的”而不是“无效的”。
butler()函数执行的时间由main()函数调用它的位置决定。
所有的C程序都是从main()函数开始执行的,不管它在文件中处于什么位置,然而C的惯例是把main()函数放在开头,因为它通常为程序提供了最基本的框架。
C标准建议您为要用的所有的函数提供函数原型。
来源:oschina
链接:https://my.oschina.net/u/2754880/blog/671137