12.2C语言学习笔记(第九章)

12.2C语言听课笔记(补完)

预处理的概念

头文件(Header File)

主要的作用是保存程序的声明,包括:

功能型原函数,数据类型声明等

#include<stdio.h>

<系统给的头文件>

#include"......"

“用户自定义的头文件”

".c"源程序

“.h”头文件(程序声明,原型变量的声明)

宏定义(宏替换)

将一个标识符定义为一个字符串。

编译预处理时,源程序中的该标识符都用所指定的字符串来代替。

无参定义

甚至可以定义简单的命令,可以理解为某种快捷方式。

带参宏定义

取消宏定义

undef<标识符>

条件编译指令格式1:

#ifdef<标识符>//若该标识符已经被定义,执行程序段1,没定义执行程序段2
<程序1>		
    [#else
    <程序2>]
    #endif
#ifndef<标识符>//该标识符已经被定义执行程序段2,没定义执行程序段1
<程序1>
    [#else
    <程序2>]
    #endif

多文件工程程序

多文件的目的是加强团队写程序的分工与协作。

遵循低耦合,高内聚原则。

调用.h下的头文件,头文件指向的是包含着对应功能的.c源文件。

举例:计算园的周长和面积

//circle.h头文件,用于声明该文件可以调用的函数,作用可以对标目录
#ifndef CIRCLE//此处运用了条件声明,如果CIRCLE没有被定义,执行以下程序
#define CIRCLE//而在条件声明下的程序便是定义CIRCLE,这样就避免了CIRCLE被重复定义,
double circle_area(double r);
double circle_perimeter(double r);
#endif
//circle.c源文件,用于实现头文件内函数的功能。
#include<stdio.h>
double const pi = 3.14159;
double circle_area(double r)
{
    
    
	return pi * r * r;
}
double circle_perimeter(double r)
{
    
    
	return 2 * pi * r;
}
//此时你就可以在main函数中调用自己的定义的头文件
//用户自定义的头文件用引号声明。
#include<stdio.h>
#include"circle.h"
int main()
{
    
    
	double r;
	printf("input r:");
	scanf_s("%lf", &r);
	printf("circlrarea=%5.2lf", circle_area(r));
	printf("circleperimeter=%5.2lf", circle_perimeter(r));
	return 0;
}

おすすめ

転載: blog.csdn.net/FriedReich/article/details/121839834