




已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
編譯預處理習題一 單項選擇題1. 在宏定義#define A 3.897678中,宏名A代替一個( )。A) 單精度數 B) 雙精度數 C) 常量 D) 字符串2. 以下敘述中正確的是 A)預處理命令行必須位于源文件的開頭 B)在源文件的一行上可以有多條預處理命令C)宏名必須用大寫字母表示 D)宏替換不占用程序的運行時間3. C語言的編譯系統(tǒng)對宏命令的處理( )。A) 在程序運行時進行的 B) 在程序連接時進行的C) 和C程序中的其它語句同時進行的D) 在對源程序中其它語句正式編譯之前進行的4. 在文件包含預處理語句的中,被包含文件名用“”括起時,尋找被包含文件的方式是( )。A) 直接按系統(tǒng)設定的標準方式搜索目錄B) 先在源程序所在目錄搜索,再按系統(tǒng)設定的標準方式搜索C) 僅僅在源程序所在目錄搜索D) 僅僅搜索當前目錄5. 以下說法中正確的是A)#define和printf都是C語句 B)#define是C語句,而printf不是C)printf是C語句,但#define不是 D)#define和printf都不是C語句6. #define A 3.897678#include main( ) printf(“A=%f ”,A);程序運行結果為( )。A) 3.897678=3.897678 B) 3.897678=A C) A=3.897678 D) 無結果7. 有宏定義:#define LI(a,b) a*b #define LJ(a,b) (a)*(b)在后面的程序中有宏引用:x=LI(3+2,5+8); y=LJ(3+2,5+8);則x、y的值是( )。A) x=65,y=65 B) x=21,y=65 C) x=65,y=21 D)x=21,y=218. 有以下程序# define f(x) (x*x)main() int i1, i2;i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ;printf(%d, %dn,i1,i2);程序運行后的輸出結果是A)64, 28 B)4, 4 C)4, 3 D)64, 649. 以下程序的輸出結果是#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) 1210. 有以下程序#define N 5#define M1 N*3#define M2 N*2main() int i;i=M1+M2; printf(“%dn”,i);程序編譯后運行的輸出結果是:A) 10 B) 20 C) 25 D) 3011. 有如下程序#define N 2#define M N+1#define NUM 2*M+1#main() int i;for(i=1;i2)/(b1)的值是_。A) 0 B) 2 C) 4 D) 815. 若定義unsigned int a=3,b=10;printf(%dn,a2b=1);則運行結果為_。A)13 B)12 C)8 D)14二填空題1. C提供的預處理功能主要有_宏定義_、_文件包含_、_條件編譯_等三種。2. C規(guī)定預處理命令必須以_#_開頭。3. 在預編譯時將宏名替換成_宏定義中的“字符串”_的過程稱為宏展開。4. 預處理命令不是C語句,不必在行末加_;_。5. 以頭文件stdio.h為例,文件包含的兩種格式為:_ # includestdio.h_,_# include”stdio.h”_。6. 定義宏的關鍵字是_define_。7. 設有如下運算符:&、|、,則按優(yōu)先級由低到高的排列順序為_、&、|_。8. 設二進制數i為00101101,若通過運算“ij”,使i的高4位取反低4位不變,則二進制數j的值應為_11110000_。9. 設無符號整型變量a為6,b為3,則表達式b&=a的值為_2_。10. 整型變量x和y的值相等且為非0值,則表達式xy的結果為_零_。二、閱讀程序題1. 以下程序輸出結果是 150 。 # includestdio.h # define MAX(x,y) (x)(y)?(x):(y) main() int i,z,k; z=15; i=z-5; k=10*(MAX(i,z);printf(“%dn”,k);2. 以下程序輸出結果是 23 。 # includestdio.h # define ADD(y) 3.54+y# define PR(a) printf(“%d”,(int)(a)# define PR1(a) PR(a);putchar(n)main() int i=4; PR1(ADD(5)*i);3. 設有如下宏定義:#define MYSWAP(z,x,y) z=x;x=y;y=z;以下程序段通過宏調用實現(xiàn)變量a、b內容交換,請?zhí)羁?。float a=5,b=16,c;MYSWAP( c ,a,b);4. 下列程序的輸出結果是 1000 10 。#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);5. 以下程序輸出結果是 8 20 12 。 main( ) int b=5;#define b 2#define f(x) b*(x)int y=3;printf(“%d ”,f(y+1);#undef bprintf(“%d ”,f(y+1);#define b 3printf(“%dn”,f(y+1);6. 下列程序的輸出結果是 11 。#define NX 2+3#define NY NX*NXmain() int i=0,m=0; for(;ib#define EQU(a,b) a=b#define MIN(a,b) abmain() int a=5,b=6; if(MAX(a,b) printf(“MAXn”); if(EQU(a,b) printf(“EQUn”); if(MIN(a,b) printf(“MINn”);8. 下列程序的輸出結果是 0 1 1 。#define TESTmain( ) int x=0,y=1,z; z=2*x+y; #ifdef TEST printf(“%d %d ”,x,y); #endif printf(“%dn”,z);三 編程題1. 定義一個帶參的宏,求兩個整數的余數。通過宏調用,輸出求得的結果。 #define R(m,n) (m)%(n)#include void main()int m,n;printf(enter two integers:n);scanf(%d%d,&m,&n);printf(remainder=%dn,R(m,n);2. 分別用函數和帶參的宏,從3個數中找出最大者。#include #define MAX(a,b) (a)(b)?(a):(b) / implementation by MACROint max3(int a,int b,int c) /implementation by function int m;m=ab?a:b;m=mc?m:c;return m;void main()int m,n,k;printf(enter 3 integer:n);scanf(%d%d%d,&m,&n,&k);printf(1. MACRO max=%dn,MAX(MAX(m,n),k);printf(2. function max=%dn,max3(m,n,k);3. 輸入一個整數m,判斷它能否被3整除。要求利用帶參的宏實現(xiàn)。#include
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年護士執(zhí)業(yè)資格考試營養(yǎng)護理學:營養(yǎng)評估與干預試題
- 自考專業(yè)(建筑工程)通關題庫及參考答案詳解(輕巧奪冠)
- 2025年小學教師資格考試《綜合素質》教育創(chuàng)新實踐題教育游戲設計試題試卷
- 2025年高考《語文》詩詞格律與欣賞綜合能力評估試題
- 2025河北唐山曹妃甸唐海中醫(yī)醫(yī)院招聘備考試題及答案解析
- 2025廣東江門市五邑中醫(yī)院(暨南大學附屬江門中醫(yī)院)第三批招聘14人筆試參考題庫附答案解析
- 家具廠質檢員工作考核制度
- 基因編輯抗病豬培育-洞察及研究
- 2025山東聊城東阿縣城區(qū)中小學教師選聘140人筆試參考題庫附答案解析
- 家具廠質檢員職責執(zhí)行細則
- 美發(fā)服務禮儀培訓課件
- 人教版小學一至六年級英語單詞匯總表
- 《生理性止血》課件
- 2019人教版高中英語必修三單詞表帶音標
- 一例臀部巨大膿腫切開引流患者的個案護理匯報課件
- 液化石油氣機械修理工施工質量管控詳細措施培訓
- 中建掛籃懸臂澆筑箱梁施工方案
- JCT2199-2013 泡沫混凝土用泡沫劑
- 創(chuàng)業(yè)的勵志格言80句
- 加油站主要生產設備清單
- 國壽新綠洲團體意外傷害保險(A款)條款
評論
0/150
提交評論