精华内容
下载资源
问答
  •  在C语言中可从不同的角度对函数分类。 1. 从函数定义的角度看,函数可分为库函数和用户定义函数两种。 (1)库函数  由C系统提供,用户无须定义, 也不必在程序中作类型说明,只需在程序前包含有该函数原型的...
  • 在C语言中,预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行...

    在C语言中,预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。

    条件编译指令将决定哪些代码被编译,哪些是不被编译的。可以根据表达式的值或者某个特定的宏是否被定义来确定编译条件。

    下面是部分预处理指令:

    指令用途
    #  空指令,无任何效果
    #include  包含一个源代码文件
    #define  定义宏
    #undef  取消已定义的宏
    #if  如果给定条件为真,则编译下面代码
    #ifdef  如果宏已经定义,则编译下面代码
    #ifndef  如果宏没有定义,则编译下面代码
    #elif  如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
    #endif  结束一个#if……#else条件编译块
    #error  停止编译并显示错误信息

    1.#if指令

    #if 指令检测跟在后面的常量表达式,如果表达式为真,则编译后面的代码,直到出现#else、#elif或#endif为止;否则就不编译。

    2.#endif指令

    #endif用于终止#if预处理指令。

    #include<stdio.h>
    #define DEBUG 0
    int main()
    {
        #if DEBUG
        printf("Debugging\n");
        #endif
        printf("Running\n");
        return 0;
    }

    由于程序定义DEBUG宏代表0,所以#if条件为假,不编译后面的代码直到#endif,所以程序直接输出Running。

    如果去掉#define语句,效果是一样的。

    3.#ifdef和#ifndef

    #include<stdio.h>
    #define DEBUG
    int main()
    {
        #ifdef DEBUG
        printf("YES\n");
        #endif
        #ifndef DEBUG
        printf("NO\n");
        #ednif
        return 0;
    }

    #ifdefined等价于#ifdef;#if!defined等价于#ifndef

    4.#else指令

    #else指令用于某个#if指令之后,当前面的#if指令的条件不为真时,就编译#else后面的代码。#endif指令将终止上面的条件块。

    #include<stdio.h>
    #define DEBUG
    int main()
    {
        #ifdef DEBUG
        printf("Debugging\n");
        #else
        printf("Notdebugging\n");
        #endif
        printf("Running\n");
        return 0;
    }

    5.#elif指令

    #elif预处理指令综合了#else和#if指令的作用。

    #include<stdio.h>
    #define TWO
    int main()
    {
        #ifdef ONE
        printf("1\n");
        #elif defined TWO
        printf("2\n");
        #else
        printf("3\n");
        #endif
        return 0;
    }

    程序很好理解,最后输出结果是2。

     

    转载于:https://www.cnblogs.com/wuyudong/p/3669754.html

    展开全文
  • *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 2.6 为什么声明externf(structx*p);给我报了一个晦涩难懂的警告信息? 2.7 我遇到这样声明结构的代码:structname{intnamelen;charnamestr[1];};...
  • 难道在C语言中一个结构能包含指向自己的指针吗? o 2.7 怎样建立和理解非常复杂的声明?例如定义一个包含 N 个指向返回指向字符的指针的函数的指针的数组? o 2.8 函数只定义了一次, 调用了一次, 但编译器提示...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 22 2.6 为什么声明extern f(struct x *p); 给我报了一个晦涩难懂的警告信息? 23 2.7 我遇到这样声明结构的代码:struct name {int namelen; ...
  • 由于for()后多加了一个分号,使循环体变为空语句,此时只能输入一个数并输出它。 7.输入变量时忘记加地址运算符“&”。 int a,b; scanf("%d%d",a,b); 这是合法的。Scanf函数的作用是:按照a、b内存的地址将a、b...
  • *2.5 在C语言中是否有模拟继承等面向对象程序设计特性的好方法? 22 2.6 为什么声明extern f(struct x *p); 给我报了一个晦涩难懂的警告信息? 23 2.7 我遇到这样声明结构的代码:struct name {int namelen; ...
  • 你必须知道的495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    难道在C语言中一个结构能包含指向自己的指针吗? . . . . 3 1.7 怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返 回指向字符的指针的函数的指针的数组? . . . . . . . . . . . . . . 3 1.8 函数只定义...
  • 13.第十三章 文件.txt

    2019-11-08 16:33:27
    C语言中没有输入输出语句,对文件的读写都是用库函数实现的。ANSI规定了标准输入输出函数,用它们对文件进行读写,这些函数的声明包含头文件stdio.h中。 13.2 文件的打开与关闭 文件进行读写操作前先要打开,...
  •  数据查询语言 (Data Query Language, DQL) 是SQL语言,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。例如:SELECT(查询)  数据控制语言Data Controlling Language(DCL),用来...
  • JAVA面试题最全集

    2010-03-13 13:09:10
    将变量或方法声明为final,可以保证它们使用中不被改变。被声明为final的变量必须声明时给定初值,而以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载 finally?再异常处理时...
  • 维护类问题(C类)-指设计、编码中出现的对软件系统的维护方便程度造成影响的问题,系统中不起关键作用,但对系统后期维护造成不便或导致维护费用上升; 可测试性问题(D类)-指设计、编码中因考虑不周而导致...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于稳定的状态,甚至有的系统会损坏硬件设备(硬盘)。系统关机前使用 shutdown命令,系统管理员会通知所有...
  • (2)结构中不允许定义成员函数,当是类中可以定义成员函数. (3)结构不可以存在继承关系,当是类可以存在继承关系. 3、 strcpy(), strcat(), strcmp,strlen(), strchr(), memcpy(), memcmp(), memset()的编写? 4...
  • 《数据结构 1800题》

    热门讨论 2012-12-27 16:52:03
    (1)数据结构课程,数据的逻辑结构,数据的存储结构及数据的运算之间存在着怎样的关系? (2)若逻辑结构相同但存储结构不同,则为不同的数据结构。这样的说法对吗?举例说明之。 (3)给定的逻辑结构及其...
  • 注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。 Rem Message Sample:@Rem Here is the description. 5.Pause 命令 运行 Pause 命令时,将显示...
  • Windows NT/2000/XP 均可使用,但 Windows 98 却没有集成这一个工具。 4. explorer-------打开资源管理器 5. logoff---------注销命令 6. shutdown-------60秒倒计时关机命令 7. lusrmgr.msc----本机...
  • C++MFC教程

    热门讨论 2013-05-21 13:37:15
    4、窗口句柄:说到消息就说窗口句柄,系统通过窗口句柄来整个系统唯一标识一个窗口,发送一个消息时必须指定一个窗口句柄表明该消息由那个窗口接收。而每个窗口都会有自己的窗口过程,所以用户的输入就会...
  • PHP手册提到:"PHP支持(也需要)直接声明变量时定义变量类型;变量类型将根据其被应用的情况决定。如果你为变量var赋值为一个字符串,那么它变成了一个字符串。如果你又为它赋了整数值,那么它就变成了...
  • 数据结构(C++)有关练习题

    热门讨论 2008-01-02 11:27:18
    d. 当输入一个商品时,能显示该商品是否库存,如存在库存,则显示其名称和数量,否则显示“未找到”。 e. 如有可能,请建立一个存储商品名称和数量的文本文件,并为二叉搜索树建立一个成员函数...

空空如也

空空如也

1 2
收藏数 25
精华内容 10
关键字:

在c语言中不允许空语句存在

c语言 订阅