



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編譯預(yù)處理習(xí)題1. 一.單項(xiàng)選擇題在宏定義#defineA3.897678中,宏名A代替一個(gè)()。2. A)單精度數(shù)B)雙精度數(shù)C)常量D)字符串以下敘述中正確的是A)預(yù)處理命令行必須位于源文件的開(kāi)頭B)在源文件的一行上可以有多條預(yù)處理命令3. C)宏名必須用大寫(xiě)字母表示D)宏替換不占用程序的運(yùn)行時(shí)間C語(yǔ)言的編譯系統(tǒng)對(duì)宏命令的處理()。A) 在程序運(yùn)行時(shí)進(jìn)行的B) 在程序連接時(shí)進(jìn)行的C) 和C程序中的其它語(yǔ)句同時(shí)進(jìn)行的4. 在對(duì)源程序中其它語(yǔ)句正式編譯之前進(jìn)行的在文件包含預(yù)處理語(yǔ)句的中,被包含文件名用“<>”括起時(shí),尋找被包含文件的方式是()。A)直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄B
2、)先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索C)僅僅在源程序所在目錄搜索5. D)僅僅搜索當(dāng)前目錄以下說(shuō)法中正確的是A)#define和printf都是C語(yǔ)句B)#define是C語(yǔ)句,而printf不是6. C)printf是C語(yǔ)句,但#define不是D)#define和printf都不是C語(yǔ)句#defineA3.897678#include<stdio.h>main()printf("A=%f",A);程序運(yùn)行結(jié)果為()。A)3.897678=3.897678B)3.897678=AC)A=3.897678D)無(wú)結(jié)果有宏定義:#defineLI(a
3、,b)a*b#defineLJ(a,b)(a)*(b)在后面的程序中有宏引用:x=LI(3+2,5+8);y=LJ(3+2,5+8);則x、y的值是()。7. A)x=65,y=65B)x=21,y=65C)x=65,y=21D)x=21,y=21有以下程序#definef(x)(x*x)main()inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%dn”,i1,i2);程序運(yùn)行后的輸出結(jié)果是A) 64,28B) 4,4C) 4,3D) 64,64以下程序的輸出結(jié)果是#defineM(x,y,z)x*y+zmain()inta=1,
4、b=2,c=3;printf("%dn”,M(a+b,b+c,c+a);10 A)19B)17C)15D)12.有以下程序# defineN5# defineM1N*3# defineM2N*2main()# inti;i=M1+M2;printf("dn”,i);程序編譯后運(yùn)行的輸出結(jié)果是:A)10B)20C)25D)30.有如下程序defineN2defineMN+1defineNUM2*M+1#main()inti;for(i=1;i<=NUM;i+)printf("%dn",i);該程序中的for循環(huán)執(zhí)行的次數(shù)是12 A)5B)6C)7D)
5、8.位運(yùn)算是對(duì)運(yùn)算對(duì)象按二進(jìn)制位進(jìn)行操作的運(yùn)算,運(yùn)算的對(duì)象是數(shù)據(jù),以的形式參與運(yùn)算。13 A)整型原碼B)整型補(bǔ)碼C)數(shù)值原碼D)數(shù)值補(bǔ)碼.在位運(yùn)算中,若左移時(shí)丟棄的高位不包含1,則每左移一位,相當(dāng)于。14 A)操作數(shù)乘以2B)操作數(shù)除以2C)操作數(shù)除以4D)操作數(shù)乘以4.設(shè)intb=8;表達(dá)式(b>>2)/(b>>1)的值是。15 A)0B)2C)4D)8.若定義unsignedinta=3,b=10;printf("%dn",a<<2|b=1);則運(yùn)行結(jié)果為。1. A)13B)12C)8D)14二.填空題C提供的預(yù)處理功能主要有宏定義
6、、文件包含、條件編譯等三種。2. C規(guī)定預(yù)處理命令必須以#開(kāi)頭。3. 在預(yù)編譯時(shí)將宏名替換成宏定義中的“字符串”的過(guò)程稱(chēng)為宏展開(kāi)。4. 預(yù)處理命令不是C語(yǔ)句,不必在行末加;。5. 以頭文件stdio.h為例,文件包含的兩種格式為:_#includestdio.h_,_#6. include"stdio._?!倍x宏的關(guān)鍵字是define。7. 設(shè)有如下運(yùn)算符:&|、人,則按優(yōu)先級(jí)由低到高的排列順序?yàn)開(kāi)、&人、|。8. 設(shè)二進(jìn)制數(shù)i為00101101,若通過(guò)運(yùn)算“咫”,使i的高4位取反低4位不變,則二進(jìn)制數(shù)j的值應(yīng)為_(kāi)11110000。9. 設(shè)無(wú)符號(hào)整型變量a為6,b為
7、3,則表達(dá)式b&=a的值為2。10. 整型變量x和y的值相等且為非0值,則表達(dá)式xAy的結(jié)果為零。1. 二、閱讀程序題以下程序輸出結(jié)果是150。# includestdio.h# defineMAX(x,y)(x)(y)?(x):(y)main()inti,z,k;z=15;i=z-5;k=10*(MAX(i,z);printf("%dn",k);2. )以下程序輸出結(jié)果是23。# includestdio.h# defineADD(y)3.54+y# definePR(a)printf("%d,(int)(a)# definePR1(a)PR(a);pu
8、tchar('n')main()inti=4;PR1(ADD(5)*i);3. )設(shè)有如下宏定義:#defineMYSWAP(z,x,y)z=x;x=y;y=z;以下程序段通過(guò)宏調(diào)用實(shí)現(xiàn)變量a、b內(nèi)容交換,請(qǐng)?zhí)羁铡?. floata=5,b=16,c;MYSWAP(c,a,b);下列程序的輸出結(jié)果是100010。5. #defineN10#defines(x)x*x#definef(x)(x*x)%d%dn”,i1,i2);main()inti1,i2;i1=1000/s(N);i2=1000/f(N);printf(以下程序輸出結(jié)果是82012。main()intb=5;#d
9、efineb2#definef(x)b*(x)inty=3;printf("d”,f(y+1);#undefbprintf("d”,f(y+1);#defineb3printf("dn”,f(y+1);6. 下列程序的輸出結(jié)果是J1。#defineNX2+3#defineNYNX*NXmain()7. inti=0,m=0;for(;i<NY;i+)m+;printf("%dn",m);下列程序的輸出結(jié)果是MINo#defineMAX(a,b)a>b#defineEQU(a,b)a=b#defineMIN(a,b)a<bmai
10、n()8. inta=5,b=6;if(MAX(a,b)printf("MAXn”);if(EQU(a,b)printf("EQUn”);if(MIN(a,b)printf("MINn");下列程序的輸出結(jié)果是011Q#defineTESTmain()intx=0,y=1,z;z=2*x+y;#ifdefTESTprintf("%d%d”,x,y);#endifprintf("n",z);三.編程題1,定義一個(gè)帶參的宏,求兩個(gè)整數(shù)的余數(shù)。通過(guò)宏調(diào)用,輸出求得的結(jié)果。#defineR(m,n)(m)%(n)#include&l
11、t;stdio.h>voidmain()intm,n;printf("entertwointegers:n");scanf("%d%d",&m,&n);printf("remainder=%dn",R(m,n);)2,分別用函數(shù)和帶參的宏,從3個(gè)數(shù)中找出最大者。#include<stdio.h>#defineMAX(a,b)(a)>(b)?(a):(b)/implementationbyMACROintmax3(inta,intb,intc)/implementationbyfunctionin
12、tm;m=a>b?a:b;m=m>c?m:c;returnm;)voidmain()intm,n,k;printf("enter3integer:n");scanf("%d%d%d",&m,&n,&k);printf("1.MACROmax=%dn",MAX(MAX(m,n),k);printf("2.functionmax=%dn",max3(m,n,k);)3,輸入一個(gè)整數(shù)m判斷它能否被3整除。要求利用帶參的宏實(shí)現(xiàn)。#include<stdio.h>#defineDIVIDEDBY3
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)備規(guī)格變更管理制度
- 設(shè)施農(nóng)業(yè)備案管理制度
- 設(shè)計(jì)檔案安全管理制度
- 評(píng)估公司企業(yè)管理制度
- 診所內(nèi)部服務(wù)管理制度
- 2025年中國(guó)滑雪者裝備行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 試驗(yàn)室接待室管理制度
- 財(cái)務(wù)部職責(zé)及管理制度
- 財(cái)政機(jī)關(guān)發(fā)文管理制度
- 貨物存放周期管理制度
- 農(nóng)業(yè)工程概論智慧樹(shù)知到期末考試答案章節(jié)答案2024年昆明理工大學(xué)
- 中國(guó)古都西安英文介紹課件
- 《相遇問(wèn)題》課件
- 《預(yù)防脊柱側(cè)彎》課件
- 基礎(chǔ)工程課后題答案-6
- 幼兒園水拓畫(huà)制作教程
- 質(zhì)量管理體系之?dāng)?shù)字化轉(zhuǎn)型與智能化升級(jí)
- 《電力機(jī)車(chē)制動(dòng)機(jī)》 課件 項(xiàng)目三 CCB-II制動(dòng)系統(tǒng)
- 中醫(yī)面診-(重要)
- 《動(dòng)物飼料配方技術(shù)》課件
- 公司危化品管理的經(jīng)驗(yàn)分享與成功案例
評(píng)論
0/150
提交評(píng)論