<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      C語(yǔ)言初級(jí)階段8——預(yù)處理

      預(yù)定義符號(hào)

      1.概念:預(yù)處理是編譯之前做的一些事。

      2.常用的預(yù)定義符號(hào):

      注意:

      (1)-(4)的格式占位符都用%是,如:printf("%s",DATE);

      (1)-(5)的宏定義的前后分別有兩個(gè)'_',而不是一個(gè)下劃線。

      (1)__FILE__當(dāng)前編譯的文件名。

      (2)__FUNCTION__當(dāng)前所在函數(shù)。

      (3)__DATE__當(dāng)前編譯日期。

      (4)__TIME__當(dāng)前編譯時(shí)間。

      (5)__LINE__當(dāng)前行數(shù)。格式占位符用%d,如printf("%d",LINE);

      (6)_CRT_SECURE_NO_WARNINGS關(guān)閉安全檢查。

      #include<stdio.h>
      int main()
      {
      	printf("%s\n", __FILE__);
      	printf("%s\n", __FUNCTION__);
      	printf("%s\n", __DATE__);
      	printf("%s\n", __TIME__);
      	printf("%D\n", __LINE__);
      	return 0;
      }
      

      宏定義:又稱(chēng)為宏替換,自定義一個(gè)宏(要符合標(biāo)識(shí)符的命名規(guī)則),用于替換任意數(shù)據(jù)、標(biāo)識(shí)符或者表達(dá)式。(本質(zhì):替換)

      1.無(wú)參宏定義:

      定義無(wú)參宏定義的基本格式:#define 宏名 宏替換

      不能給宏定義常量賦值

      一改全改

      #include<stdio.h>
      #define A 4+3
      int main()
      {
      	int a = A;
      	printf("%d\n", a);
      	return 0;
      }
      

      2.含參宏定義

      定義含參宏定義的基本格式:#define 宏名(參數(shù)列表) 內(nèi)容。

      類(lèi)似一個(gè)函數(shù),含參宏的參數(shù)是沒(méi)有類(lèi)型的,含參宏沒(méi)有返回值。

      #include<stdio.h>
      #define FUN(a,b) {printf("%d\t%d\n",a,b);printf("%d\n",a+b);}
      int main()
      {
      	FUN(10, 10);
      	return 0;
      }
      
      #include<stdio.h>
      #define FUN(a,b) {printf("%lf\t%lf\n",a,b);printf("%lf\n",a+b);}
      int main()
      {
      	FUN(1.1,1.2);
      	return 0;
      }
      
      #include<stdio.h>
      #define F(a,b) a+b
      #define F1(a,b) a*b
      int main()
      {
      	printf("%d\n", F(1, 2));
      	printf("%d\n", F(1 + 2, 2 + 1));
      	printf("%d\n", F1(1 + 2, 2 + 1));//因?yàn)榘補(bǔ)替換成了1+2,把b替換成了2+1,所以結(jié)果是1+2*2+1=6
      	printf("%d\n", F1((1 + 2), (2 + 1)));//這個(gè)就為:(1+2)*(2+1)=9
      	printf("%d\n", F1(F(2, 1), F(1, 2)));//這個(gè)是2+1*1+2=5
      	return 0;
      }
      

      常量的定義

      格式:const int a=10;

      注意:常量必須初始化,并且不允許被修改。

      #include<stdio.h>
      const int a = 10;//a的值不可修改
      int main()
      {
      	int b = 10;
      	b = 20;
      	printf("%d\n", b);
      	return 0;
      }
      

      文件包含

      1.概念:想要用庫(kù)函數(shù)就需要包含頭文件,也就是文件包含,當(dāng)然也可以編寫(xiě)自定義頭文件,包含自己編寫(xiě)的頭文件。

      2.基本格式:#include<文件名>或#include"文件名"

      (1)包含系統(tǒng)頭文件用<>,只會(huì)在系統(tǒng)頭文件中去找。
      (2)包含自定義頭文件用"",在自定義頭文件中找不到就會(huì)在系統(tǒng)文件中去找。

      3.文件包含允許嵌套,即在一個(gè)被包含文件中可以包含其他文件。

      4.頭文件嵌套可能會(huì)引起頭文件的重復(fù)包含,從而出現(xiàn)函數(shù)和變量的重定義問(wèn)題,所以需要避免頭文件重復(fù)包含,某些宏定義語(yǔ)句可以防止頭文件重復(fù)包含

      pragma once

      //防止頭文件重復(fù)包含,不讓文件的內(nèi)容被包含兩次,在頭文件最前面添加。

      pragma once是VS獨(dú)有的,有使用平臺(tái)限制,其他平臺(tái)可能不存在。

      #include<stdio.h>
      #include<stdlib.h>
      #include "string.h"
      #include"tool.h"http://自定義頭文件一般用""去引用,系統(tǒng)自帶的一般是用<>引用
      int main()
      {
      	fun();
      	return 0;
      }
      
      #pragma once
      #ifndef __TOLL_H__
      #define __TOOL_H__
      //頭文件不定義函數(shù),只聲明函數(shù),相當(dāng)于一個(gè)功能。
      #include<stdio.h>
      void fun();
      #endif
      
      #include<stdio.h>
      void fun()
      {
      	printf("11111");
      }
      

      條件編譯:根據(jù)不同的條件編譯不同的代碼

      #include<stdio.h>
      int main()
      {
      #if 1
      	printf("111111\n");
      	printf("111111\n");
      #else
      	printf("222222\n");
      	printf("222222\n");
      #endif
      #ifdef A
      	printf("555555\n");
      #else
      	printf("444444\n");
      #endif
      	return 0;
      }
      
      #include<stdio.h>
      int main()
      {
      #define A 3
      #if 1
      	printf("111111\n");
      	printf("111111\n");
      #else
      	printf("222222\n");
      	printf("222222\n");
      #endif
      #ifdef A
      	printf("555555\n");
      #else
      	printf("444444\n");
      #endif
      	return 0;
      }
      
      
      #include<stdio.h>
      #define A 3
      int main()
      {
      #ifdef A
      	printf("555555\n");
      #else
      	printf("444444\n");
      #endif
      #ifndef A
      	printf("555555\n");
      #else
      	printf("444444\n");
      #endif
      	return 0;
      }
      
      
      posted on 2022-11-07 15:07  George-Juddson  閱讀(125)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: free性开放小少妇| 国产一区二区亚洲精品| 色哟哟www网站入口成人学校| 亚洲国产成人久久综合人| 巨胸不知火舞露双奶头无遮挡| 台山市| 国产精品日韩专区第一页| 午夜毛片不卡免费观看视频| 日韩欧美人妻一区二区三区| 九九热免费精品在线视频| 亚洲中文字幕国产精品| 欧美牲交videossexeso欧美 | 无码精品一区二区免费AV| 国产最新AV在线播放不卡| 精品国产这么小也不放过| 少妇私密会所按摩到高潮呻吟| 隆回县| 亚洲人妻一区二区精品| 国产午夜福利在线视频| 国产精品自在线拍国产手青青机版 | 国产一级小视频| 免费高清特级毛片A片| 国产精品成人国产乱| 三级国产在线观看| 蜜臀av入口一区二区三区| 伊人欧美在线| 中文字幕av中文字无码亚| 骚虎三级在线免费播放| 香蕉久久精品日日躁夜夜躁夏| 波多野结衣久久一区二区| 九九热在线精品视频免费| 色综合天天综合天天综| 日韩乱码人妻无码中文字幕视频| 日韩在线视频一区二区三区| 国产极品美女高潮无套| 久久男人av资源站| 亚洲熟妇熟女久久精品综合| 免费人成再在线观看视频| 免费无码va一区二区三区| 国产精品小一区二区三区| 潮喷无码正在播放|