C语言-预处理

news/2025/2/8 22:19:31 标签: c语言, 开发语言

1.编程:
人类语言 --->编程语言(C语言)---汇编语言--->机器语言(01010)

编译过程:预处理   编译  汇编  链接 

2.预处理

预处理:1.宏定义 2.文件包含 3.条件编译 

(1)宏定义  --- 定义了符号常量 

 #define 标识符 字符串
 #define 宏名  宏值
 #define N  100
 表示,定义了一个宏 (符号),而这个符号 代表的值 就是100 
 
 #define 宏名(参数)  宏值
 
说明:
  1. 预处理阶段,只做文本原样替换
  2. 宏 就是用 宏值 将 宏名 原样替换 
  3. 用途 
     当作常量来用
     好处,可以做到 一改全改,方便操作 
  4. 宏名 
     符合标识符命名规则
     宏名,一般都是大写 --- 主要是为了和普通变量名区分 
  5. 程序中 处于 ""中的 宏名 不会被替换 
  6. 宏名 不要和关键字重名
  7. 宏替换过程中,存在宏的副作用 ---- 文本的原样替换 
     处理:
         能加括号的尽量都加括号
  8. 宏定义 只能放在一行 

练习:
   从键盘输入 圆的半径,求出圆的周长和面积 
   L = 2 * π * r 
   S = π * r * r

(2)文件包含 
#include "文件名"   //首先在当前路径下寻找要包含的文件,找不到再到系统默认路径下寻找
#include <文件名>   //默认到系统指定路径下寻找头文件 

作用:
   将文件名代表的文件中的内容 ,替换到当前文件 

条件编译: //也是文本替换 --- 符合条件的文本 
//形式1
#ifdef 标识符
    程序段1
#else
    程序段2
#endif


//形式2
#ifdef 标识符
    程序段1
#endif 


#ifndef 标识符
    程序段1
#else
    程序段2
#endif


#if    表达式
    程序段1
#else
    程序段2
#endif

(3)多文件编程 
 main.c
  |--add.c  //自己的点c通常会包含自己的点h 
  |--add.h  //一部分是 对外的函数声明 一部分时自己的点c需要用到的头文件等内容 
  |--sub.c
  |--sub.h 


http://www.niftyadmin.cn/n/5845334.html

相关文章

wps中的vba开发

推荐先学习vba语言&#xff08;兰色幻想80集&#xff09; 保存代码时注意保存为 .xlsm(启用宏的工作簿) 子程序SUN和函数FUNCTION&#xff1a; Sub 第一个程序()MsgBox "这是第一个程序"End Sub 注释Sub 第二个程序()Dim str As Stringstr "这是第二个程序&…

python爬虫--简单登录

1&#xff0c;使用flask框架搭建一个简易网站 后端代码app.py from flask import Flask, render_template, request, redirect, url_for, sessionapp Flask(__name__) app.secret_key 123456789 # 用于加密会话数据# 模拟用户数据库 users {user1: {password: password1}…

【vLLM 学习】使用 CPU 安装

vLLM 是一款专为大语言模型推理加速而设计的框架&#xff0c;实现了 KV 缓存内存几乎零浪费&#xff0c;解决了内存管理瓶颈问题。 更多 vLLM 中文文档及教程可访问 →https://vllm.hyper.ai/ vLLM 最初支持在 x86 CPU 平台上的基本模型推理和服务&#xff0c;数据类型为 FP3…

通过代理模式理解Java注解的实现原理

参考文章&#xff1a;Java 代理模式详解 | JavaGuide 相当于来自JavaGuide文章的简单总结&#xff0c;其中结合了自己对Java注解的体会 什么是代理模式 代理模式是一种比较好理解的设计模式。 简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问&#xff0c…

GO、GSEA富集分析一网打进

富集分析是生物信息分析中快速了解目标基因或目标区域功能倾向性的最重要方法之一。其中代表性的计算方式有两种&#xff1a; 一是基于筛选的差异基因&#xff0c;采用超几何检验判断上调或下调基因在哪些GO或KEGG或其它定义的通路富集。假设背景基因数目为m&#xff0c;背景基…

电脑运行黑屏是什么原因?原因及解决方法

电脑运行黑屏是指电脑在正常开机或使用过程中&#xff0c;突然出现屏幕变黑&#xff0c;无法显示任何内容的现象。这种现象可能会给用户带来很多不便&#xff0c;甚至造成数据丢失或硬件损坏。那么&#xff0c;电脑运行黑屏是什么原因呢&#xff1f;下面我们将分析几种可能的原…

LabVIEW铅酸蓄电池测试系统

本文介绍了基于LabVIEW的通用飞机铅酸蓄电池测试系统的设计与实现。系统通过模块化设计&#xff0c;利用多点传感器采集与高效的数据处理技术&#xff0c;显著提高了蓄电池测试的准确性和效率。 ​ 项目背景 随着通用航空的快速发展&#xff0c;对飞机铅酸蓄电池的测试需求也…

学习threejs,使用Lensflare模拟镜头眩光

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.Lensflare 二、&…