示例解释
#include <stdio.h>
int main(void) /*一个简单的C程序*/
{
int num; /*定义一个名为num的变量*/
num=1;
printf("I am a simple");/*使用printf函数*/
printf("computer.\n");
printf("My favorite number is %d because is first .\n",num);
return 0;
}
第一遍:快速概要
#include <stdio.h> //包含另一个文件
改行告诉编译器把stdio.h中的内容包含在当前程序中。stdio.h是C编译器软件包含的标准部分,它提供键盘输入和和屏幕输出的支持。
int main(void) //函数名
C程序包含一个或多个函数,它们是C程序的基本模块。程序中有一个名为main的函数。原括号表明main是一个函数名。int 表明main函数返回一个整数,void表明main不带任何参数。
{ //函数体开始
左花括号表示函数定义开始,右花括号表示函数定义结束。
int num; //声明
该声明表明,将使用一个名为num的变量,而且num是int(整数)类型。
num=1; //赋值表达式语句
语句num=1;把值1赋给名为num的变量。
printf("My favorite number is %d because is first .\n",num);
该语句调用printf函数,printf是标准的C库函数,在程序中使用函数叫做调用函数。在屏幕上显示 My favorite number is 1 because is first ,\n代码告诉计算机另一一行。%d告诉计算机以何种形式输出num的值,打印在何处。
return 0; // return 语句
C函数可以给调用方提供(或返回一个数)。目前,可暂时把该行看作是结束main() 函数的要求。
} //结束
第二遍:程序细节
1. # include指令和头文件
# include <stdio.h>
这是程序的第一行。#include
#include这行代码是一条C预处理指令(preprocessor directive)。通常,C编译器在编译前会对源代码做一些准备工作,即预处理(preprocessing)。
所有的C编译器软件包都提供stdio.h文件。该文件中包含了供编译器使用的输入和输出函数(如printf())信息。该文件名的含义是标准输入/输出头文件。通常,在C程序顶部的信息集合被称为头文件(header)。
大多数情况下,头文件包含了编译器创建最终可执行程序要用到的信息。例如,头文件中可以定义一些常量,或者指定函数名以及如何使用它们。但是,函数的实际代码在一个预编译代码的库文件中。简而言之,头文件帮助编译器把你的程序正确地组合在一起。
ANSI/ISO C规定了C编译器必须提供那些头文件。有些程序要包含stdio.h,而有些不用。特定C实现的文档中应该包含对C库函数的说明。这些说明确定了使用那些函数需要包含那些头文件。例如,要使用printf()函数,必须包含stdio.h头文件。
include中的#符号表明,C预处理器在编译器接受之前处理这条指令。
2. main函数
C程序一定从main函数开始执行。除了main函数,你可以任意命名其他函数,而且main函数必须是开始的函数。圆括号有什么功能?用于识别main()是一个函数。函数是C程序的基本模块。
int是main函数的返回类型。这表明main函数返回的值是整数。返回到哪里?返回给操作系统。
通常,函数名后面的圆括号中包含一些传入函数的信息。该例中没有传递任何信息。因此,圆括号内是单词void。
3. 花括号、函数体和块
花括号把main函数括起来。一般而言,所有的C函数都使用花括号标记函数体的开始和结束。这是规定,不能省略。只有花括号能起到这种作用。
花括号还可用于把函数中的多条语句合并为一个单元或 块。
4. 声明
int num;
这行代码叫做声明(declaration)。声明是C语言最重要的特性之一。在该例中,声明完成了两件事。其一,在函数中有一个名为num的变量(variable)。其二,int表明num是一个整数(即,没有小数点或小数部分的数)。int是一种数据类型。编译器使用这些信息为num变量在内存中分配存储空间。分号在C语言中是大部分语句和声明的一部分。
int 是C语言的一个关键字(keyword),表示一种基本的C语言数据类型。关键字是语言定义的单词,不能用作其它用途。例如,不能用int作为函数名和变量名。
在C语言中,所有的变量都必须声明后才能使用,。这意味着必须列出程序中用到的所有变量名或数据类型。