![c語(yǔ)言習(xí)題集合預(yù)處理命令_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-5/14/991453ad-82b6-4064-ba20-440fc12b1539/991453ad-82b6-4064-ba20-440fc12b15391.gif)
![c語(yǔ)言習(xí)題集合預(yù)處理命令_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-5/14/991453ad-82b6-4064-ba20-440fc12b1539/991453ad-82b6-4064-ba20-440fc12b15392.gif)
![c語(yǔ)言習(xí)題集合預(yù)處理命令_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-5/14/991453ad-82b6-4064-ba20-440fc12b1539/991453ad-82b6-4064-ba20-440fc12b15393.gif)
![c語(yǔ)言習(xí)題集合預(yù)處理命令_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-5/14/991453ad-82b6-4064-ba20-440fc12b1539/991453ad-82b6-4064-ba20-440fc12b15394.gif)
![c語(yǔ)言習(xí)題集合預(yù)處理命令_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-5/14/991453ad-82b6-4064-ba20-440fc12b1539/991453ad-82b6-4064-ba20-440fc12b15395.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第六章 預(yù)處理命令6 1 選擇題1 下面敘述中正確的是( )。A. 帶參數(shù)的宏定義中參數(shù)是沒(méi)有類(lèi)型的B. 宏展開(kāi)將占用程序的運(yùn)行時(shí)間C. 宏定義命令是 C 語(yǔ)言中的一種特殊語(yǔ)句D. 使用 #include 命令包含的頭文件必須以“ .h ”為后綴2 下面敘述中正確的是( )。A. 宏定義是 C 語(yǔ)句,所以要在行末加分號(hào)B. 可以使用 #undef 命令來(lái)終止宏定義的作用域C. 在進(jìn)行宏定義時(shí),宏定義不能層層嵌套D. 對(duì)程序中用雙引號(hào)括起來(lái)的字符串內(nèi)的字符,與宏名相同的要進(jìn)行置換3 在“文件包含”預(yù)處理語(yǔ)句中,當(dāng) #include 后面的文件名用雙引號(hào)括起時(shí),尋找被包含文件 的方式為( )。A.
2、 直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄B. 先在源程序所在目錄搜索,若找不到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索C. 僅僅搜索源程序所在目錄D. 僅僅搜索當(dāng)前目錄4 下面敘述中不正確的是( )。A. 函數(shù)調(diào)用時(shí),先求出實(shí)參表達(dá)式,然后帶入形參。 而使用帶參的宏只是進(jìn)行簡(jiǎn)單的字符替 換B. 函數(shù)調(diào)用是在程序運(yùn)行時(shí)處理的,分配臨時(shí)的內(nèi)存單元。而宏展開(kāi)則是在編譯時(shí)進(jìn)行的, 在展開(kāi)時(shí)也要分配內(nèi)存單元,進(jìn)行值傳遞C. 對(duì)于函數(shù)中的實(shí)參和形參都要定義類(lèi)型, 二者的類(lèi)型要求一致,而宏不存在類(lèi)型問(wèn)題, 宏 沒(méi)有類(lèi)型D. 調(diào)用函數(shù)只可得到一個(gè)返回值,而用宏可以設(shè)法得到幾個(gè)結(jié)果5 下面敘述中不正確的是( )。A. 使用宏的次
3、數(shù)較多時(shí),宏展開(kāi)后源程序長(zhǎng)度增長(zhǎng)。而函數(shù)調(diào)用不會(huì)使源程序變長(zhǎng)B. 函數(shù)調(diào)用是在程序運(yùn)行時(shí)處理的,分配臨時(shí)的內(nèi)存單元。而宏展開(kāi)則是在編譯時(shí)進(jìn)行的, 在展開(kāi)時(shí)不分配內(nèi)存單元,不進(jìn)行值傳遞C. 宏替換占用編譯時(shí)間D. 函數(shù)調(diào)用占用編譯時(shí)間6 下面敘述中正確的是 ( ) 。A. 可以把 define 和 if 定義為用戶標(biāo)識(shí)符B. 可以把 define 定義為用戶標(biāo)識(shí)符,但不能把 if 定義為用戶標(biāo)識(shí)符C. 可以把 if 定義為用戶標(biāo)識(shí)符,但不能把 define 定義為用戶標(biāo)識(shí)符D. define 和 if 都不能定義為用戶標(biāo)識(shí)符7 下面敘述中正確的是( )。A. #define 和 printf 都
4、是 C 語(yǔ)句B.#define是 C 語(yǔ)句,而 printf 不是C.printf 是 C 語(yǔ)句,但 #define 不是 D .#define 和 printf 都不是 C 語(yǔ)句 8 以下敘述中正確的是( )。A. 用 #include 包含的頭文件的后綴不可以是“ .a ”包含此B. 若一些源程序中包含某個(gè)頭文件;當(dāng)該頭文件有錯(cuò)時(shí),只需對(duì)該頭文件進(jìn)行修改, 頭文件所有源程序不必重新進(jìn)行編譯C. 宏命令行可以看作是一行 C 語(yǔ)句D. C 編譯中的預(yù)處理是在編譯之前進(jìn)行的 9 下列程序運(yùn)行結(jié)果為( )。#define R 3.0#define PI 3.1415926#define L 2*P
5、I*R#define S PI*R*Rmain()printf(L=%f S=%fn,L,S);A. L=18.849556 S=28.274333B. 18.849556=18.849556 28.274333=28.274333C. L=18.849556 28.274333=28.274333D. 18.849556=18.849556 S=28.274333 10以下程序執(zhí)行的輸出結(jié)果是 ( ) 。#define MIN(x,y) (x)(y)?(x):(y)main()int i,j,k;i=10;j=15;k=10*MIN(i,j);printf(%dn,k);A.15 B.100
6、 C.10 D.150 11下列程序執(zhí)行后的輸出結(jié)果是 ( ) 。#define MA(x) x*(x-1)main()int a=1,b=2;printf(%d n,MA(1+a+b);A. 6B. 8 C. 10D. 1212以下程序的輸出結(jié)果是 ( ) 。#define M(x,y,z) x*y+zmain()int a=1,b=2, c=3; printf(%dn, M(a+b,b+c, c+a);A. 19 B. 17 C. 15 D. 12 13程序中頭文件 typel.h 的內(nèi)容是 ( ) 。#define N 5#define M1 N*3 程序如下:#include type
7、1.h#define M2 N*2main()int i; i=M1+M2; printf(%dn,i); 程序編譯后運(yùn)行的輸出結(jié)果是( )。A. 10 B. 20 C. 25 D. 30 14請(qǐng)讀程序 :#include#define SUB(X,Y) (X)*Y main()int a=3, b=4; printf(%d, SUB(a+, b+); 上面程序的輸出結(jié)果是( )。A. 12 B. 15 C. 16 D. 20 15執(zhí)行下面的程序后 ,a 的值是 ( ) 。#define SQR(X) X*Xmain( )int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+
8、m); printf(%dn,a);A. 10 B. 1 C. 9 D. 0 16設(shè)有以下宏定義#define N 3#define Y(n) (N+1)*n)則執(zhí)行語(yǔ)句:z=2 * (N+Y(5+1); 后,z的值為()。A. 出錯(cuò) B. 42C. 48D. 541 7以下程序的輸出結(jié)果是 ( )。#define f(x) x*xmain( )int a=6,b=2,c; c=f(a) / f(b); printf(%dn,c);A. 9 B. 6 C. 36D. 1818有如下程序#define N 2 #define M N+1 #define NUM 2*M+1 main() int
9、i; for(i=1;i=NUM;i+) printf(%dn,i); 該程序中的 for 循環(huán)執(zhí)行的次數(shù)是 ( ) 。A. 5 B. 6 C. 7 D. 8 19執(zhí)行如下程序后,輸出結(jié)果為()。#include #define N 4+1 #define M N*2+N #define RE 5*M+M*N main() printf(%d,RE/2);以上結(jié)果都不正確A.150 B.100 C. 41 D. 20以下程序的輸出結(jié)果是()。#define LETTER 0 main() char str20= C Language,c; int i; i=0;while(c=stri)!=
10、0) i+;#if LETTERif(c= a &c=A&c(y)?(x):(y) main()int a=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)*10; printf(%dn,t);2 下面程序的運(yùn)行結(jié)果是 。#define N 10 #define s(x) x*x #define f(x) (x*x) main()int i1,i2; i1=1000/s(N); i2=1000/f(N);printf(%d,%dn,i1,i2);3 設(shè)有如下宏定義#define MYSWAP(z,x,y) z=x; x=y; y=z;以下程序段通過(guò)宏調(diào)用實(shí)現(xiàn)變量a、b內(nèi)容交換,請(qǐng)
11、填空。float a=5,b=16,c;MYSWAP( 【1】 ,a,b);4 計(jì)算圓的周長(zhǎng)、面積和球的體積【1】 main() float l,r,s,v;printf(input a radus: ); scanf(%f ,【 2】 );l=2.0*PI*r; s=PI*r*r; v=4.0/3*(【 3】 );printf(l=%.4fn s=%.4fn v=%.4fn,l,s,v);5 計(jì)算圓的周長(zhǎng)、面積和球的體積#define PI 3.1415926#define 【 1】 L=2*PI*R; 【2】 ; main()3】 );float r,l,s,v; printf(input
12、 a radus: ); scanf(%f,&r); CIRCLE(r,l,s,v);printf(r=%.2fn l=%.2fn s=%.2fn v=%.2fn, 63 答案及部分解析一選擇題答案1.A2.B3.B4.B5.D6.B7.D8.D9.A10.A11.B12.D13.C14.A15.B16.C17.C18.B19.C20.B1. 解析:關(guān)于宏的習(xí)題,我們要牢記一點(diǎn):宏展開(kāi)只是簡(jiǎn)單的字符串替換。宏名無(wú)類(lèi)型,宏的參 數(shù)也沒(méi)有類(lèi)型,所以選項(xiàng)A) 是正確的。宏展開(kāi)是在正式編譯以前進(jìn)行的,不會(huì)占用程序的運(yùn)行時(shí)間,而會(huì)占用編譯時(shí)間,所以選項(xiàng)B)錯(cuò)誤。規(guī)定所有的編譯預(yù)處理命令都不是C語(yǔ)言中的語(yǔ)句,因而,編譯預(yù)處理命令不以分號(hào)作為結(jié)束符,所以選項(xiàng)C)錯(cuò)誤。頭文件習(xí)慣上以“ .h ”為后綴,但它只是習(xí)慣而不是規(guī)定。所以選項(xiàng)D)錯(cuò)誤。9. 解析:注意雙引號(hào)中的宏名不被展開(kāi),所以輸出結(jié)果為L(zhǎng)=18.849556 S=28.274333 ,而不是18.849556=18.849556 28.274333=28.274333 。10. 解 析 : 宏 展 開(kāi) 就 是 簡(jiǎn) 單 的 字 符 串 替 換 。 語(yǔ) 句 k=10*MIN(i,j); 經(jīng) 過(guò) 宏 展 開(kāi) 為k=10*(i)(j)?(i):(j);。由于 *號(hào)的優(yōu)先級(jí)要高于 號(hào)的優(yōu)先級(jí),因此要先進(jìn)行
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025人教版初中七下數(shù)學(xué)湖北專(zhuān)版8.1第2課時(shí)-算術(shù)平方根及其應(yīng)用【課件】
- 小學(xué)一年級(jí)數(shù)學(xué)兩位數(shù)加減一位數(shù)質(zhì)量監(jiān)控例題
- 小學(xué)三年級(jí)數(shù)學(xué)五千以?xún)?nèi)加減法綜合考核口算題大全附答案
- 11.3 動(dòng)能和勢(shì)能 提升練習(xí)含解析-八年級(jí)物理下冊(cè)(人教版)
- 實(shí)習(xí)轉(zhuǎn)正申請(qǐng)書(shū)
- 餐飲業(yè)季度盤(pán)點(diǎn)
- 研究之路模板
- 醫(yī)患調(diào)解申請(qǐng)書(shū)
- 轉(zhuǎn)臨床專(zhuān)業(yè)申請(qǐng)書(shū)
- 限價(jià)房申請(qǐng)書(shū)
- 產(chǎn)品設(shè)計(jì)思維 課件 第3-5章 產(chǎn)品設(shè)計(jì)的問(wèn)題思維、產(chǎn)品設(shè)計(jì)的功能思維、產(chǎn)品設(shè)計(jì)的形式思維
- 餐券模板完整
- 2023年節(jié)能服務(wù)行業(yè)市場(chǎng)分析報(bào)告及未來(lái)發(fā)展趨勢(shì)
- 小區(qū)排水管網(wǎng)修復(fù)施工方案
- 智慧城市發(fā)展-人工智能技術(shù)在城市管理中的應(yīng)用
- 因產(chǎn)品質(zhì)量買(mǎi)賣(mài)合同糾紛起訴狀
- GB/T 6892-2023一般工業(yè)用鋁及鋁合金擠壓型材
- 評(píng)估胎兒健康的技術(shù)
- 實(shí)驗(yàn)室危險(xiǎn)廢物處理廢液分類(lèi)與收集
- 全自動(dòng)甘蔗剝?nèi)~裝置的設(shè)計(jì)
- 生物技術(shù)制藥課件
評(píng)論
0/150
提交評(píng)論