欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言簡(jiǎn)明講解預(yù)編譯的使用

 更新時(shí)間:2022年05月04日 11:46:32   作者:_雪菜肉絲面_  
在C語言的程序中包括各種以符號(hào)#開頭的編譯指令,這些指令稱為預(yù)處理命令。預(yù)處理命令屬于C語言編譯器,而不是C語言的組成部分,通過預(yù)處理命令可擴(kuò)展C語言程序設(shè)計(jì)的環(huán)境

小復(fù)習(xí)

預(yù)處理,預(yù)編譯是編譯的第一步。

會(huì)有三件基本的事情發(fā)生:

  • 引入#include
  • 去除注釋
  • 修改#define

1、內(nèi)置符號(hào)

這些符號(hào)都可以直接使用:

__FILE__            點(diǎn)c文件全名
__LINE__            當(dāng)前行號(hào)
__DATE__            編譯日期
__TIME__            編譯時(shí)間

舉例:

#include<stdio.h>
int main() {
	printf("文件全名:%s\n", __FILE__);
	printf("當(dāng)前運(yùn)行行號(hào):%d\n", __LINE__);
	printf("編譯日期:%s\n", __DATE__);
	printf("編譯時(shí)間:%s\n", __TIME__);
	return 0;
}

效果:

在這里插入圖片描述

2、自定義符號(hào)

#define 名 值

不帶分號(hào)。預(yù)編譯階段,所有名字會(huì)被值替換。

舉例:給printf取個(gè)別名。

#include<stdio.h>
#define say printf
int main() {
	say("你好,世界!\n");
	return 0;
}

效果:

在這里插入圖片描述

舉例:自定義一個(gè)死循環(huán)符號(hào)。

#include<stdio.h>
#define loop while(1)
int main() {
	int i = 0;
	loop{
		if (i > 1000) {
			break;
		}
		else {
			printf("你好,世界!\t%d\n",i);
			i++;
		}
	}
	return 0;
}

效果:

在這里插入圖片描述

3、自定義宏

和自定義符合差不多。

相當(dāng)于函數(shù),只不過在預(yù)編譯的階段就會(huì)執(zhí)行。

然后替換掉。

#define 名 ( 參數(shù)列表 ) 表達(dá)式

舉例:輸出字符串。

#include<stdio.h>
#define say(s)printf(s)
int main() {
	say("你好,世界!\n");
	return 0;
}

效果:

在這里插入圖片描述

替換邏輯:遞歸。

看參數(shù)有沒有define,有就套娃。

直到?jīng)]有,替換自己。

字符串內(nèi)部的符號(hào)會(huì)被忽略。

4、條件編譯

可以用#define定義一個(gè)符號(hào),代表是否要執(zhí)行。

#include<stdio.h>
#define __DEBUG__ 1
int main() {
	if (__DEBUG__) {
		printf("調(diào)試模式開啟\n");
	}
	else {
		printf("調(diào)試模式關(guān)閉\n");
	}
	return 0;
}

效果:

在這里插入圖片描述

同時(shí),可以讓這段代碼直接跳過編譯。

#include<stdio.h>
#define __DEBUG__ 1
int main() {
#if __DEBUG__
	printf("調(diào)試模式開啟\n");
#endif
	return 0;
}

這種寫法也有配套的選擇分支。

#include<stdio.h>
#define __DEBUG__ 0
#define __WARN__ 1
int main() {
#if __DEBUG__
	printf("調(diào)試模式\n");
#elif __WARN__
	printf("警告模式\n");
#else
	printf("正常模式\n");
#endif
	return 0;
}

效果:

在這里插入圖片描述

到此這篇關(guān)于C語言簡(jiǎn)明講解預(yù)編譯的使用的文章就介紹到這了,更多相關(guān)C語言預(yù)編譯內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++中的四種類型轉(zhuǎn)換

    C++中的四種類型轉(zhuǎn)換

    類型轉(zhuǎn)換有c風(fēng)格的,當(dāng)然還有c++風(fēng)格的。c風(fēng)格的轉(zhuǎn)換的格式很簡(jiǎn)單(TYPE)EXPRESSION,但是c風(fēng)格的類型轉(zhuǎn)換有不少的缺點(diǎn),有的時(shí)候用c風(fēng)格的轉(zhuǎn)換是不合適的,因?yàn)樗梢栽谌我忸愋椭g轉(zhuǎn)換,
    2015-08-08
  • c++中數(shù)字與字符串之間的轉(zhuǎn)換方法(推薦)

    c++中數(shù)字與字符串之間的轉(zhuǎn)換方法(推薦)

    下面小編就為大家?guī)硪黄猚++中數(shù)字與字符串之間的轉(zhuǎn)換方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-09-09
  • 簡(jiǎn)要說明C語言中指針函數(shù)與函數(shù)指針的區(qū)別

    簡(jiǎn)要說明C語言中指針函數(shù)與函數(shù)指針的區(qū)別

    這篇文章主要介紹了C語言中指針函數(shù)與函數(shù)指針的區(qū)別,指針函數(shù)和函數(shù)指針是C語言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-04-04
  • 一文帶你快速了解C/C++標(biāo)準(zhǔn)庫中的ptrdiff_t

    一文帶你快速了解C/C++標(biāo)準(zhǔn)庫中的ptrdiff_t

    ptrdiff_t是C/C++標(biāo)準(zhǔn)庫中定義的一個(gè)與機(jī)器相關(guān)的數(shù)據(jù)類型,ptrdiff_t類型變量通常用來保存兩個(gè)指針減法操作的結(jié)果,下面這篇文章主要給大家介紹了關(guān)于C/C++標(biāo)準(zhǔn)庫中ptrdiff_t的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • DEVC++實(shí)現(xiàn)推箱子小游戲

    DEVC++實(shí)現(xiàn)推箱子小游戲

    這篇文章主要為大家詳細(xì)介紹了DEVC++實(shí)現(xiàn)推箱子小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • C++中replace()函數(shù)使用方法匯總

    C++中replace()函數(shù)使用方法匯總

    這篇文章主要介紹了C++中replace()函數(shù)使用方法匯總,在這篇文章中為大家詳細(xì)介紹C++ replace()函數(shù)的各種應(yīng)用方式,希望朋友們可以從這里介紹的內(nèi)容充分掌握這一應(yīng)用技巧
    2015-11-11
  • 詳解QML?調(diào)用?C++?中的內(nèi)容

    詳解QML?調(diào)用?C++?中的內(nèi)容

    這篇文章主要介紹了QML?怎么調(diào)用?C++?中的內(nèi)容,這里主要是總結(jié)一下,怎么在 QML 文件中引用 C ++ 文件里定義的內(nèi)容,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • C++17中std::string_view的使用

    C++17中std::string_view的使用

    std::string_view是C++17標(biāo)準(zhǔn)庫中的一種新類型,它提供了對(duì)一個(gè)字符序列的非擁有式視圖,本文主要介紹了C++17中std::string_view的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • C語言折半查找法的由來及使用詳解

    C語言折半查找法的由來及使用詳解

    折半查找法也叫做?分查找,顧名思義就是把數(shù)據(jù)分成兩半,再判斷所查找的key在哪?半中,再重復(fù)上述步驟知道找到?標(biāo)key,下面這篇文章主要給大家介紹了關(guān)于C語言折半查找法的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 簡(jiǎn)單掌握C++編程中的while與do-while循環(huán)語句使用

    簡(jiǎn)單掌握C++編程中的while與do-while循環(huán)語句使用

    這篇文章主要介紹了C++編程中的while與do-while循環(huán)語句使用,區(qū)別就是while是先判斷再執(zhí)行,而do-while是先執(zhí)行再判斷,需要的朋友可以參考下
    2016-01-01

最新評(píng)論