C語言第3版 選擇題(第7、8、9章)
《C語言第3版 選擇題(第7、8、9章)》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語言第3版 選擇題(第7、8、9章)(8頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
. 習(xí)題七 一、選擇題 1.下列敘述中錯(cuò)誤的是 C 。 A) 預(yù)處理命令必須以#號(hào)開頭 B) 預(yù)處理命令可以寫成多行 C) 預(yù)處理命令必須置于源文件的開始處 D) 預(yù)處理命令以回車結(jié)束 2.C語言編譯系統(tǒng)對(duì)宏替換的處理是在 A 進(jìn)行的。 A) 源程序編譯前 B) 源程序編譯時(shí) C) 程序連接時(shí) D) 程序運(yùn)行時(shí) 3.在宏定義 #define PI 3.14159 中,3.14159是 C 。 A) 單精度數(shù) B) 雙精度數(shù) C) 字符串 D) 由PI位置確定其類型 4.設(shè)有宏定義 #define A B abcd ,則宏替換時(shí), A 。 A) 宏名A用 B abcd 替換 B) 宏名A B用abcd 替換 C) 宏名A 和宏名B都用abcd 替換 D) 語法錯(cuò)誤,無法替換 5.下列有關(guān)宏的敘述中錯(cuò)誤的是 A 。 A) 宏名必須使用大寫英文字母 B) 宏替換不占用程序的運(yùn)行時(shí)間 C) 宏參數(shù)沒有數(shù)據(jù)類型 D) 宏名沒有數(shù)據(jù)類型 6.下列宏定義,最不會(huì)引起二義性的是 D 。 A) #define ADD(a,b) a+b B) #define ADD(a,b) (a)+(b) C) #define ADD(a,b) (a+b) D) #define ADD(a,b) ((a)+(b)) 7.設(shè)有宏定義 #define M 3+2 則表達(dá)式 2 * M * 3 的值為 B 。 A) 30 B) 12 C) 10 D) 13 8.設(shè)有宏定義 #define Y(n) (4*n) 則表達(dá)式 3+Y(5+1)的值為 B 。 A) 21 B) 24 C) 27 D) 30 9.設(shè)有宏定義: #define N 3 #define M N+2 則表達(dá)式 2*M/N的值為 A 。 A) 6 B) 3 C) 3.333 D) 錯(cuò)誤 替換為 2*3 + 2 /3,其中, 2/3是整除,值為1 10.在#include命令中,#include后面的文件名用雙引號(hào)定界,則系統(tǒng)尋找被包含文件的方式是 D 。 A) 在C系統(tǒng)的include文件夾查找 B) 在源程序所在文件夾查找 C) 先在C系統(tǒng)的include文件夾查找,查找失敗后再到源程序所在文件夾查找 D) 先在源程序所在文件夾查找,查找失敗后再到C系統(tǒng)的include文件夾查找 11.(不要求)設(shè)有以下A、B兩個(gè)程序段,則說法正確的是 B 。 //A程序段 //B程序段 #define N 3 #define N 3 void main() void main() { { if(N>0) #if(N>0) printf("N=%d\n",N); printf("N=%d\n",N); else #else printf("N<=0"); printf("N<=0"); #endif } } A) 兩個(gè)程序目標(biāo)代碼相同,運(yùn)行結(jié)果也相同 B) 兩個(gè)程序目標(biāo)代碼不同,但運(yùn)行結(jié)果相同 C) 兩個(gè)程序目標(biāo)代碼相同,但運(yùn)行結(jié)果不同 D) 兩個(gè)程序目標(biāo)代碼不同,運(yùn)行結(jié)果也不同 12.(不要求)執(zhí)行以下程序,結(jié)果為 A 。 #define DEBUG void main() { #ifdef DEBUG printf("DEBUG "); #endif printf("OK"); } A) DEBUG OK B) OK C) 宏定義錯(cuò)誤 D) #ifdef命令錯(cuò)誤 第八章 一、選擇題 1.以下數(shù)組定義中,錯(cuò)誤的是C。 A) int a[]={1,2,3}; B) int a[5]={1,2,3}; C) int a[3]={1,2,3,4}; D) int a[5],b; 2.以下數(shù)組定義中,正確的是B。 A) int n=4 , a[n]={1,2,3,4}; B) int a[][2]={1,2,3,4}; C) int a[2][]={1,2,3,4}; D) int a[][]={{1,2},{3,4}}; 3.設(shè)有如下定義:int a[8][10];在VC中一個(gè)整數(shù)占用4字節(jié),設(shè)a的起始地址為1000,則a[1][1]的地址是D。 A) 1000 B) 1004 C) 1036 D) 1044 4.已知有數(shù)組定義: int a[ ][3]={1,2,3,4,5,6,7,8,9},則a[1][2]的值是C。 A) 2 B) 5 C) 6 D) 8 5.在以下字符串定義、初始化和賦值運(yùn)算中,錯(cuò)誤的是A。 A) char str[10]; str= "String"; B) char str[10]= "String "; C) char str[10]= { S ,t, r ,i,n, g}; D) char str[]= { S ,t, r ,i,n, g,0}; 6.設(shè)有以下字符串定義,則s1和s2 D。 char s1[]={ S ,t, r ,i,n, g}; char s2[]= "String"; A) 長(zhǎng)度相同,內(nèi)容也相同 B) 長(zhǎng)度不同,但內(nèi)容相同 C) 長(zhǎng)度不同,但內(nèi)容相同 D) 長(zhǎng)度不同,內(nèi)容也不同 7.設(shè)有定義 int a[10]={0}; 則說法正確的是 A。 A) 數(shù)組a有10個(gè)元素,各元素的值為0 B) 數(shù)組a有10個(gè)元素,其中a[0]的值為0,其他元素的值不確定 C) 數(shù)組a有1個(gè)元素,其值為0 D) 數(shù)組初始化錯(cuò)誤,初值個(gè)數(shù)少于數(shù)組元素個(gè)數(shù) 8.設(shè)已定義 char str[6]= { a,b,\0,c,d,\0}; 執(zhí)行語句 printf(("%s",str) 后,輸出結(jié)果為B。 A) a B) ab C) abcd D) ab\0cd\0 9.引用數(shù)組元素時(shí),數(shù)組元素下標(biāo)不可以是C。 A) 字符常量 B) 整型變量 C) 字符串 D) 算術(shù)表達(dá)式 10.已定義字符數(shù)組s1和s2,以下錯(cuò)誤的輸入語句是C。 A) scanf("%s%s ", s1 , s2) ; B) scanf("%s%s " , &s1 , &s2); C) gets(s1,s2) ; D) gets(s1) ; gets(s2) ; 習(xí)題九 一、選擇題 1. 若已經(jīng)定義 struct stu { int a, b; } student ; ,則下列輸入語句中正確的是D。 A) scanf("%d", &a); B) scanf("%d", &student); C) scanf("%d", &stu.a); D) scanf("%d", &student.a); 2. 若已有以下結(jié)構(gòu)體定義和初始化,則值為2的表達(dá)式是A。 struct cmplx{ int x ; int y; } c[]={1,2,3,4}; A) c[0].y B) y C) c.y[0] D) c.y[1] 3. 設(shè)有如下程序段,則vu.a 的值為D。 union u{ int a; int b; float c; } vu; vu.a=1; vu.b=2; vu.c=3; A) 1 B) 2 C) 3 D) A、B、C都不是 4. 設(shè)已經(jīng)定義union u{ char a; int b;} vu; 在VC中存儲(chǔ)char 型數(shù)據(jù)需要1個(gè)字節(jié),存儲(chǔ)int型數(shù)據(jù)需要4個(gè)字節(jié),則存儲(chǔ)變量vu需要B個(gè)字節(jié)。 A) 1 B) 4 C) 5 D) 8 5. 設(shè)已經(jīng)定義union u{ int a; int b; } vu={1,2}; 則D。 A) 共用體成員a和b的值都是1 B) 共用體成員a和b的值都是2 C) 共用體成員a的值是1,b的值都是2 D) 該定義錯(cuò)誤 6. 設(shè)有定義 enum date {year,month,day} d ;則下列敘述中正確的是A。 A) date是類型、d是變量、year是常量 B) date是類型、d和year是變量 C) date和d是類型、year是常量 D) date和d是變量、year是常量 7. 設(shè)有定義 enum date {year,month,day} d ;則正確的表達(dá)式是B。 A) year=1 B) d=year C) d="year" D) date="year" 8. 若已經(jīng)定義 typedef struct stu { int a, b; } student ; ,則下列敘述中正確的是C。 A) stu 是結(jié)構(gòu)體變量 B) student 是結(jié)構(gòu)體變量 C) student 是結(jié)構(gòu)體類型 D) a和b是結(jié)構(gòu)型體變量 9. 下面有關(guān)typedef語句的敘述中,正確的是C。 A) typedef語句用于定義新類型 B) typedef語句用于定義新變量 C) typedef語句用于給已定義類型取別名 D) typedef語句用于給已定義變量取別名 習(xí)題十 一、選擇題 1. 設(shè)已定義 int a, *p; 下列賦值表達(dá)式中正確的是C。 A) *p=a B) p=*a C) p=&a D) *p=&a 2. 設(shè)已定義 int x, *p=&x ; 則下列表達(dá)式中錯(cuò)誤的是B。 A) *&x B) &*x C) * & p D) & * p 3. 若已定義 int a=1,*b=&a; , 則printf("%d\n",*b);的輸出結(jié)果為A。 A) a的值 B) a的地址 C) b的值 D) b的地址 4. 設(shè)已定義 int x, *p ,*p1=&x , *p2=&x ; 則下列表達(dá)式中錯(cuò)誤的是C。 A) x=*p1+*p2 B) p=p1 C) p =p1+p2 D) x=p1-p2 5. 設(shè)有函數(shù)定義 void p(int *x){printf("%d\n",*x) ; } 和變量定義a=3; 則正確的函數(shù)調(diào)用是C。 A) p(a) B) p(*a) C) p(&a) D) p(int *a) 6. 函數(shù) int fun( char *x){char *y=x; while(*y)y++; return(y-x);} 的功能是A。 A) 求字符串的長(zhǎng)度 B) 比較兩個(gè)字符串的大小 C) 將字符串x復(fù)制到字符串y D) 將字符串x連接到字符串y后面 7. 運(yùn)行以下程序,輸出結(jié)果為B。 int fun(int a,int *b) { a++; (*b)++; return a+*b; } void main() { int x=1,y=2; printf("%d ",fun(x,&y)); printf("%d ",fun(x,&y)); } A) 5 5 B) 5 6 C)6 5 D) 6 6 8. 運(yùn)行以下程序,輸出結(jié)果為C。 #include- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
10 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- C語言第3版 選擇題第7、8、9章 語言 選擇題
鏈接地址:http://m.italysoccerbets.com/p-12828399.html