C语言程序组成
由1个或多个.c和.h文件组成
.c文件组成:
1.预处理命令 以#开头的行都属于预处理命令
1.1 文件包含命令 #include开头的
作用:把后面的文件包含进来
#include <> 搜索的路径在标准路径下 /usr/include /usr/local/include
#include "" 先搜索路径在当前目录 然后去搜索标准库目录
ex.在print.h写一个函数,在print.c中调用
1.2宏定义
#define N 10
#define MAX(a,b) (a)>(b)?(a):(b)
#define POW(a) a*a //printf("%d\n",POW(b+2)); ————》(b+2*b+2)
#define POW(a) (a)*(a)//printf("%d\n",POW(b+2)); ————》((b+2)*(b+2))
1.3条件编译
a)如果DEBUG为1 则执行从if到endif之间的语句
#if DEBUb G
#endif
b)如果定义DEBUG了就执行从ifdef到endif之间的语句
#ifdef DEBUG
#endif
c)如果没有定义DEBUG了就执行从ifdef到endif之间的语句(防止头文件被重复包含)
#ifndef DEBUG
#endif
gcc ***.c:从一个.c到一个可执行文件有哪些过程?
1.预处理
2.编译
3.汇编
4.链接
2.全局声明
1.全局变量的声明:在函数以外定义的变量,(自定义到文件内有效)
2.函数声明 函数头void func();
void func()
{
printf("%d",a);
printf("%d\n",b);
}
3.类型声明
typedef 类型 名字 //关于typedef的用法总结 - Bigcoder - 博客园 http://www.cnblogs.com/csyisong/archive/2009/01/09/1372363.html
3.函数
1.完成某个特定功能的指令序列的集合
2.函数的定义
函数返回值类型 函数名(参数列表)
{
声明部分;
执行语句;
return;
}
参数列表;(数据类型1 参数1,数据类型2 参数2,数据类型3 参数3)
ex。写一个函数实现2个数相加
函数的返回值(需要的结果):2个相加的结果
函数名(add):合法的标识符即可
参数列表(需要什么):2个数a,b
3.函数调用
函数名(参数列表)
参数列表:与函数定义时类型一致的 变量、常量、表达式
(参数1,参数2,参数3)
ex.写一个函数判断输入的字母是否为大写字母,在main中调用
语句组成:
1、控制语句
if/goto/for/while/do while()/switch
{}
2.调用语句 ;
3.表达式语句 ;a=3
4.空语句:只有一个;的语句
5.复合语句{}