51c语言头文件编写,c语言头文件如何编写

1,c语言头文件如何编写例子:#ifndef__SUM_H__#define__SUM_H__int sum(int , int);#endifC文件和头文件没有什么区别的 , 只是扩展名不同罢了分成两个文件写,一个在头文件中写 , 第二个在.c文件中写 。头文件中声明函数,然后在 。c文件中写函数体 如定义两个文件a.h和a.c在文件a.c中书写一下代码void a (int b,int c)int b,c , t;t=b;b=c;c=t;//这里交换两个数,其他要做什么代码自己写}在a.h中写入如下代码void a(int b,int c)这样就写好了,然后你要是想调用就直接在你要调用的文件开头写入#include “a.h”这样就可以了,当然头文件中还有防止重复包含,条件编译等一些代码,这里我就不详细说了
2,c语言头文件制作新建一个文本文档,在里面打上代码#ifndef 标识#define 标识//这里放你的头文件里面的一些宏定义和函数的声明信息#endif这可以说是一个模版了 。其中表示就是一个自定义的名字 , 用来判断该头文件里面的东西是否定义或者声明过了(该头文件是否被包含过了,避免多次重复定义)例子:#ifndef _FF_H_#define _FF_H_#define PI 3.14//在头文件里面有一个宏定义#endif输出11,21,2,3的程序如下:#include<stdio.h>int main(void)int i,j;for(i=1;i<=3;i++)for(j=1;j<=i;j++)printf("%d ",j);}printf("\n");}return 0;}
3,在C语言中如何进行头文件的编制#include//STL 通用算法 #include//STL 位集容器 #include#include#include#include#include//复数类 #include#include#include#include#include//STL 双端队列容器 #include//异常处理类 #include#include//STL 定义运算函数(代替运算符) #include#include//STL 线性列表容器 #include//STL 映射容器 #include#include//基本输入/输出支持 #include//输入/输出系统使用的前置声明 #include#include//基本输入流 #include//基本输出流 #include//STL 队列容器 #include//STL 集合容器 #include//基于字符串的流 #include//STL 堆栈容器 #include//标准异常类 #include//底层输入/输出支持 #include//字符串类 #include//STL 通用模板类 #include【51c语言头文件编写,c语言头文件如何编写】
4,C语言里面怎么写头文件简单办法,先写完整程序,再把一部分抽出去,抽出去的存到 自己的头文件里 , 在抽出的地方写 #include ...例如,完整程序(计算平均值):#include<stdio.h> double mean(double *y, int N)int i;double s=0.0;for (i=0;i<N;i++) s=s+y[i];s = s / (double) N;return s;}void main()double x[10]=printf("mean = %lf\n", mean(x,10));}----------------------------------------------抽出部分 存入 a_x.h :double mean(double *y, int N)int i;double s=0.0;for (i=0;i<N;i++) s=s+y[i];s = s / (double) N;return s;}--------------------------------程序变: #include<stdio.h> #include "a_x.h"void main()double x[10]=printf("mean = %lf\n", mean(x,10));}=============================================你要是愿意随便抽一块也可以,例如抽出(也叫 a_x.h):double mean(double *y, int N)int i;double s=0.0;for (i=0;i<N;i++) s=s+y[i];s = s / (double) N;return s;}void main()------------------------程序变: #include<stdio.h> #include "a_x.h"double x[10]=printf("mean = %lf\n", mean(x,10));}==============================语法上,功能上,两种抽法都可以 。但第一种方法较好--程序可读性好 , 不易出错 。一般情况下,头文件里放 函数原型,全局量声明 和 函数定义 。一个.h文件要 对应有一个.c文件,这样写助于查看和修改程序 。比如a.h 和 a.c;:在.h文件中#ifndef__a_h_#define __a_h_#includevoid trans2(double b) ; double trans1() ; #endif 在.c文件中 #include "a.h" 把相应的函数定义写在.c文件中 再在main.c文件中 #include "a.h" #include main() { double trans1() //由度分秒到弧度 { double b1,b11,b12,b13,b111; scanf("%lf°%lf′%lf″",&b11,&b12,&b13); b111=fabs(b11); //b11可能为负值 b1=b111+b12/60.0+b13/3600.0; b1=b1*atan(1)/45.0; if(b11<0) b1=-b1; return b1; } void trans2(double b) //由弧度到度分秒并输出角度值 { int a,b; double b0; b0=fabs(b); //b可能为负值 double c; b0=b0*45.0/atan(1); a=int(b0); b=int((b0-a)*60); c=(b0-a)*3600-b*60; if((int)(c)==60) //为了避免出现59′60″这种情况 , 不过好像不起作用,不知道为什么,原来是int没有加括号 { b=b+1; c=0.0; } if(b==60) { b=0; a=a+1; } if(b<0) a=-a; printf("%d°%d′%.4f″\n",a,b,c); } } 就可以在main.c函数中调用a.c中的函数了 很好理解吧 希望对你有帮助 请采纳答案,支持我一下 。5,怎样编写51C语言的头文件头文件内容最常见的形式包括:1、明显常量——例如,典型的stdio.h文件定义EOF、NULL和BUFSIZE 。2、宏函数——例如,getchar()通常被定义为getc(stdin),getc()通常被定义为较复杂的宏 , 而头文件ctype.h通常包含ctype函数的宏定义 。3、函数声明——例如,头文件string.h包含字符串函数系列的函数声明 。在ANSIC中 , 声明采用函数原型形式 。4、结构模板定义——标准I/O函数使用FILE结构 , 该结构包含文件及文件相关缓冲区的信息 。头文件stdio.h中存放FILE结构的声明 。5、类型定义——可以使用指向FILE的指针作为参数调用标准I/O函数 。通常,stdio.h用#define或typedef使得FILE代表指向FILE结构的指针 。与之类似 , size_t和time_t类型也在头文件中定义 。// 代码修改如下,你先试试 。// 如还有错误,请附上编译错误提示信息,再帮你看看 。int key_scan()// int key_temp = 0; if(!key1)delay(10);if(!key1)while(!key1)// 松手检测while(!key1);delay(5);}key_temp = 1; //短按}} else if(!key2)delay(10);if(!key2)while(!key2)// 松手检测while(!key2);delay(5);}key_temp = 2; //短按}} else if(!key3)delay(10);if(!key3)while(!key3)// 松手检测while(!key3);delay(5);}key_temp = 3; //短按}} else if(!key4)delay(10);if(!key4)while(!key4)// 松手检测while(!key4);delay(5);}key_temp = 4; //短按}} else//没有任何key按动的时候key_temp = 0; } return key_temp;}int key_pro(void)//按键处理 key扫描 + 处理 kkkkkkkkkkkkkkkkkkk int count_motor3 = 0; key_value = http://www.lisdn.com/gkrj/shwd/key_scan(); if(key_value==1)//setled_pos_num++;if(led_pos_num>2)//共 0 1 2 这3个位置 0的话是初始位置led_pos_num=1;}} else if(key_value==2)//确定led_pos_num = 0;count_motor3 = (led_num_shi * 100) + (led_num_ge * 10); } else if(key_value==3)if(led_pos_num==1)led_num_shi++;if(led_num_shi>9)led_num_shi=0;}}else if(led_pos_num==2)led_num_ge++;if(led_num_ge>9)led_num_ge=0;}}else if(led_pos_num==0)} } else if(key_value==4)if(led_pos_num==1)led_num_shi--;if( led_num_shi < 0 ) // led_num_shi 如果定义是无符号型数据这里会出问题led_num_shi = 9;}}else if(led_pos_num==2)led_num_ge--;if( led_num_ge < 0 ) // 同上led_num_ge = 9;}}else if(led_pos_num==0)} } return count_motor3;}

    推荐阅读