<29>【掌握】#if-#else 条件编译指令+

【掌握】#if-#else 条件编译指令

#include <stdio.h>
#define score 99

int main(int argc, const char * argv[]) {

    //传统方式
//    int score = 76;
//    //判断成绩属于哪个等级
//    if(score<60){
//        printf("E\n");
//    }else if (score<=69){
//        printf("D\n");
//    }else if (score<=79){
//        printf("C\n");
//    }else if (score<=89){
//        printf("B\n");
//    }else{
//        printf("A\n");
//    }

#if score < 60
    printf("E\n");
#elif score <= 69
    printf("D\n");
#elif score <= 79
    printf("C\n");
#elif score <= 89
    printf("B\n");
#else
    printf("A\n");
#endif

    return 0;
}
总结:注释的不编译,条件编译是部分编译

【掌握】#ifdef 条件编译指令

条件编译指令

    1) #if  #elif  #else  #endif

    2) #ifdef  用来判断某个宏是否定义
 
#include <stdio.h>
#define DEBUG1 1
#define DEBUG2 0

int main(int argc, const char * argv[]) {

    int a = 0;
    //ifdef检测宏是否定义
    #ifdef DEBUG   //DEBUG 系统已经定义了这个宏了
       a = 10;
    #else
       a = 10000;
    #endif

   printf("%d\n",a);
    //ifndef 检测宏是否定义    ifndef 如果没有定义

    #ifndef DEBUG2
    a = 100;
    #else
    a = -1;
    #endif

    printf("%d\n",a);

    return 0;
}
10
-1
时间: 2024-12-19 18:01:44

<29>【掌握】#if-#else 条件编译指令+的相关文章

C语言学习入门 (六) 预处理指令:宏、条件编译、文件包含

预处理指令 1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令), 产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译 2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号 3.预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾. 习惯上我们尽可能将预处理指令写在源程序开头,这种情况下,它的作用范围就是整个源程序文件 不带参数的宏定义 #define 宏

C#-#define条件编译

C#的预处理器指令从来不会转化为可执行代码的命令,但是会影响编译过程的各个方面,常用的预处理器指令有#define.#undef.#if,#elif,#else和#endif等等,下面介绍C#中使用#define进行条件编译的实例. C#中条件编译指令用于按条件包含或排除源文件中的某些部分.在Visual Studio中,会看到被排除的代码显示为灰色. 一.#define可以用来做什么 1.当计划发布两个版本的代码的时候.即基本版和拥有更多版本的企业版,就可以用到条件编译指令: 2.例如同一个文

SDWebImage源码阅读前的准备(一)预处理条件编译

阅读前的扩展: 条件编译:#ifdef #elif #ifndef #if #else #endif 的用法,及 #define #undef 的用法. #ifdef/#elif/#ifndef/#if/#else/#endif 这几个条件编译指令是在进行条件编译的时候使用的. 学习条件编译首先对C语言的预处理进行学习,C语言由源代码生成的各阶段如下: C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件 其中 编译预处理阶段,读取c源程序,

C/C++预处理指令#define,#ifdef,#ifndef,#endif… (转)

本文转自博文C/C++预处理指令#define,#ifdef,#ifndef,#endif….这篇博文写得特别好,特转载. 本文主要记录了C/C++预处理指令,常见的预处理指令如下: #空指令,无任何效果 #include包含一个源代码文件 #define定义宏 #undef取消已定义的宏 #if如果给定条件为真,则编译下面代码 #ifdef如果宏已经定义,则编译下面代码 #ifndef如果宏没有定义,则编译下面代码 #elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 #en

C语言-条件编译使用分析

1.基本概念 条件编译的行为类似于C语言中的if-else- 条件编译是预编译指示命令,用于控制是否编译某段代码 2.实例分析 条件编译初探     22-1.c 1 #include <stdio.h>   2    3 #define C 1   4    5 int main()   6 {   7     const char* s;   8    9     #if( C == 1 )   10         s = "This is first printf...\n&

条件编译及编译预处理阶段分析与总结--笔记

C语言条件编译及编译预处理阶段分析与应用总结 (笔记) 一.C语言由源代码生成的各阶段如下: C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件 其中 编译预处理阶段,读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理.或者说是扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器.预处理过程先于编译器对源代码进行处理. 在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件.定义宏.根据条件决定编译

C/C++预处理指令#define,#ifdef,#ifndef,#endif…

本文主要记录了C/C++预处理指令,常见的预处理指令如下: #空指令,无任何效果 #include包含一个源代码文件 #define定义宏 #undef取消已定义的宏 #if如果给定条件为真,则编译下面代码 #ifdef如果宏已经定义,则编译下面代码 #ifndef如果宏没有定义,则编译下面代码 #elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 #endif结束一个#if……#else条件编译块 #error停止编译并显示错误信息 本来只是想了解一下#ifdef,#ifnd

c语言预处理指令、typedef、static和extern相关介绍

一:typedef 作用:可以给一个已经存在的数据类型取一个别名 格式:typedef 原数据类型  新类型   例如:typedef   int  INT; 预处理指令#define 也可以给数据类型取别用用法:  #define  INT  int; //1.用在基本数据类型上 int a = 10; typedef int TNT; typedef char CHAR; CHAR c='A'; //65 TNT b = 100; //2.给数组起别名 char ch[5]; typedef

[转]Delphi预编译指令总结

Delphi预编译指令总结 Delphi作为一个优秀的开发工具,这不仅是由于它开创了"构件 (Component)"时代,影响深远:另一个原因是它拥有非常出色的编译器,Borland(Inprise)公司宣称Delphi具有世界上最快的 编译器,如果你使用过Visual C++和Delphi你会明显体会到这一点.Delphi快速高效的编译器主要来自Object Pascal的严谨,使用Delphi随时都在和编译器交流,大部份情况下不需要我们干涉编译器的运行,但是有时也需要对编译器进行必