您的位置:首页 > 编程语言 > C语言/C++

黑马程序员—-C语言入门十重奏之六相濡以沫

2015-08-14 00:40 260 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

都这么熟悉了,那么就把C语言细节跟大家摊牌吧!不论用什么编译器都随着默认格式出现的这#include是什么?
#include是一个预处理命令
作用是:把药包含的文件的内容拷贝到当前书写include的地方
系统文件直接找编译器目录

#include ""包含自定义文件
搜索顺序:1.--》当前目录(与main.c同一目录)--》编译器目录--》系统目录--都没有的话就直接报错
编译器目录:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include
2.或者给个相对main.c目录下的路径
3.或者给文本的根目录
如果修改了编译器的include中得自定义文件后,运行后发现没有改变,那么就清空缓存
1.product--》clean
2.home--》资源库--developer--xcode--derivedData(缓存文件夹)--文件夹下cmd+a--delete


够细节吧!

#include <stdio.h>
int main(int argc, const char * argv[]) {
#include "a.txt"//放这个前提是要有a.txt啊!
return 0;
}
还有另一种C语言新玩法,菜鸟们,跟着学来。
模块法编程
实现:
.c c语言的源文件
.h header 头文件
1.  方法的声明 但不能实现方法
2.  声明变量
3.  声明结构体


好处:

1. 用的时候只需要包含.h文件,对外隐藏源文件的实现

2. 团队的分工和协作

3. 可以把功能划分若干模块

多文件开发(模块化编程)
实现小计算器功能:
由main()函数开始,引用其他文件下的函数


//  main.c
//  多文件开发计算器
//1.计算模块;1.显示模块

#include <stdio.h>
#include "显示.h"
int main(int argc, const char * argv[]) {
jian_p(7, 3);//调用减法函数
sum_p(4, 4);//调用加法函数
cheng_p(3, 4);//调用减乘法函数
chu_p(9, 5);//调用除法函数
return 0;
}


//+-*/的计算模块.c
int sum(int x,int y){
return x+y;
}

int jian(int x,int y){
return x-y;
}

int cheng(int x,int y){
return x*y;
}

int chu(int x,int y){
return x/y;
}


/*!
* 下面代码是条件编译
作用是重复包含
在这里声明.c的函数
计算模块.h
*/
#ifndef _________计算模块_h
#define _________计算模块_h
int sum(int x,int y);

int jian(int x,int y);

int cheng(int x,int y);

int chu(int x,int y);

#endif


//
//  显示.c

#include "显示.h"
#include "计算模块.h"
void sum_p(int x,int y){
int s = sum(x,y);
printf("%d\n",s);
}
void jian_p(int x,int y){
int s = jian(x,y);
printf("%d\n",s);
}
void cheng_p(int x,int y){
int s = cheng(x,y);
printf("%d\n",s);
}
void chu_p(int x,int y){
int s = chu(x,y);
printf("%d\n",s);
}


//显示.h
#ifndef ____________
#define ____________

#include <stdio.h>
void sum_p(int x,int y);
void jian_p(int x,int y);
void cheng_p(int x,int y);
void chu_p(int x,int y);
#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息