版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、級 C 語言分類模擬題 516( 總分: 51.00 ,做題時間: 90 分鐘 )一、選擇題 (總題數(shù): 35,分?jǐn)?shù): 51.00)1. 以下程序的輸出結(jié)果是_。#include < stdio.h >main()int a23=1, 2, 3, 4, 5, 6, (*p)3, i; p=a;for(i=0; i <3; i+) if(i < 2) p1i=p1i-1;else p1i=1;printf("%d/n", a01+a11+a12);( 分?jǐn)?shù): 2.50 )A. 8B. 7 VC. 12D. 9解析: 解析 此題考查 for 循環(huán)及 if
2、 ?else 語句嵌套,第 1次執(zhí)行 for 循環(huán), p10=p10=p10-1=3 第 2 次執(zhí)行 for 循環(huán), p11=p11-1=4 ;第 3 次執(zhí)行 for 循環(huán), p12=1 ,最后輸出的是 a01+a11+a12=2+4+1=7。2. 以下表達(dá)中正確的選項是_ 。( 分?jǐn)?shù): 2.00 )A. 使用 break 語句可以使流程跳出 switch 語句體 VB. break 語句不能用于提前結(jié)束 for 語句的本層循環(huán)C. continue 語句使得整個循環(huán)終止D. 在 for 語句中, continue 與 break 的效果是一樣的,可以互換解析: 解析 break 跳出 swi
3、tch 語句或循環(huán)語句, contiune 結(jié)束本次循環(huán),繼續(xù)進(jìn)行剩余的循環(huán)。 所以 答案選擇 A 。3. 有以下程序:#include < stdio.h > void fun(int*s, int n1, int n2) int i, j, t;i=n1; j=n2;while (i < j) t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; i+; j-; main() int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i, *p=a;fun(p, 0, 3); fun(p, 4, 9); fun(p, 0, 9); for
4、(i=0; i<10; i+) printf("%d", *(a+i);程序的輸出結(jié)果是( 分?jǐn)?shù): 1.00 )A. 0987654321B. 4321098765C. 5678901234 VD. 0987651234解析:4. 以下表達(dá)中正確的選項是 _ 。分?jǐn)?shù): 2.00 A. 只要適當(dāng)?shù)匦薷拇a,就可以將do-while與while相互轉(zhuǎn)換 VB. 對于"for 表達(dá)式1;表達(dá)式2;表達(dá)式3循環(huán)體"首先要計算表達(dá)式2的值,以便決定是否開始循環(huán)C. 對于 "for 表達(dá)式 1; 表達(dá)式 2;表達(dá)式 3循環(huán)體 " ,只在個別
5、情況下才能轉(zhuǎn)換成 while 語句D. 如果根據(jù)算法需要使用無限循環(huán)即通常所稱的“死循環(huán),貝幟能使用while語句解析: 解析 do-while 與 while 可以相互轉(zhuǎn)換,所以選擇A。5. 有以下程序:# include < stdio.h >main() char a="H"a=(a >="A" a<="Z") ? (a-"A"+"a" ):a; printf("%c/n",a ); 程序運行后的輸出結(jié)果是_。(分?jǐn)?shù): 1.00 )A. .AB.
6、 .aC. .HD. .h Va-"A"+"a"賦值給a,括號里的運算是把解析: 解析 多元運算符問號前面表達(dá)式為真,所以 大寫字母 變成小寫字母,所以答案應(yīng)為選項 D。6. 以下定義數(shù)組的語句中錯誤的選項是 。分?jǐn)?shù): 1.00 A. int num=1,2,3,4,5,6;B. int num3=1,2,3,4,5,6;C. int num24=1,2,3,4,5,6; VD. int num4=1,2,3,4,5,6;解析: 解析 C 選項中定義的數(shù)組為2 行 4 列,而賦值時賦成了 3 行,因此出錯7. 設(shè)有某函數(shù)的說明為: int*func in
7、t a10,int n ;貝以下表達(dá)中,正確的選項是_。分?jǐn)?shù): 1.00 A. 形參 a 對應(yīng)的實參只能是數(shù)組名B. 說明中的a10寫成a或*a效果完全一樣 VC. func的函數(shù)體中不能對 a進(jìn)行移動指針如a+ 的操作D. 只有指向 10 個整數(shù)內(nèi)存單元的指針,才能作為實參傳給 a解析: 解析 此題重點考查返回指針值的函數(shù)的相關(guān)知識。 返回指針值的函數(shù),一般定義形式為: 類型名*函數(shù)名參數(shù)列表。fune函數(shù)被定義為指針型函數(shù),它的一個形參為整型數(shù)組a,形參 a 對應(yīng)的實參可以 是數(shù)組名和指針,A、 D 錯誤。實參傳遞給形參 a 的是地址值,實參和形參指向同一段內(nèi)存單元,在 fune 函數(shù)體內(nèi)
8、對形參 a 進(jìn)行移動指針操作,可以改變實參的值, C 錯8. 有以下程序:#include < stdio.h >#define N 5#define M N+1#define f (x)(x*M)main( )int i1,i2;i1=f(2);i2=f(1+1);printf("%d%d/n",i1,i2); 程序的運行結(jié)果是_ 。( 分?jǐn)?shù): 2.00 )A. 12 7B. 12 12C. 11 11D. 11 7 V解析: 解析 此題考查宏定義。宏定義只是做簡單的替換,所以此題中執(zhí)行語句 f(2)=(2*N+1)=11 , 執(zhí)行語句 f(1+1)=(1+1
9、*N+1)=7 。因此選項 D 正確。9. 有以下程序#include < stdio.h >main()int b33=0,1,2,0,1,2,0,1,2,i,j,t=1;for(i=0;i < 3;i+)for(j=i;j <=i;j+)t+=bibji; printf("%d/n",t); 程序運行后的輸出結(jié)果是。( 分?jǐn)?shù): 1.00 )A. 3B. 4 VC. 1D. 9解析: 解析 每次內(nèi)循環(huán)只循環(huán)一次就結(jié)束,第一次外循環(huán)時 t=t+b0b00=1+b00=1+0=1 ; 第二次外循環(huán)時 t=t+b1b11=1+b11=1+1=2 ;第三次
10、外循環(huán)時 t=1+b2b22=2+b22=2+2=4 。故本 題答案為 B。10. 循環(huán)控制語句“ while(!scanf("%d" , &i)getchar( ) ;執(zhí)行的情況是 ( ) ( 分?jǐn)?shù): 1.00 )A. 循環(huán)輸入字符,遇文件結(jié)束符EOF退出VB. 循環(huán)條件有錯,不能執(zhí)行C. 假設(shè)輸入數(shù)據(jù) i 有錯,暫停等待處理D. 鍵入 i 值后,回車退出循環(huán)解析:11. 以下表達(dá)中正確的選項是 _ 。( 分?jǐn)?shù): 2.00 )A. 棧是“先進(jìn)先出的線性表B. 隊列是“先進(jìn)后出的線性表C. 循環(huán)隊列是非線性結(jié)構(gòu)B 錯誤;D. 有序線性表既可以采用順序存儲結(jié)構(gòu),也可以
11、采用鏈?zhǔn)酱鎯Y(jié)構(gòu)V解析:解析棧是先進(jìn)后出的線性表,所以 A錯誤;隊列是先進(jìn)先出的線性表,所以循環(huán)隊列是 線性結(jié)構(gòu)的線性表,所以C 錯誤。12. 以下表達(dá)中正確的選項是_ 。 分?jǐn)?shù): 1.00 A. 空字符串不占用內(nèi)存,其內(nèi)存空間大小是 0B. 兩個連續(xù)的單引號 " 是合法的字符常量C. 可以對字符串進(jìn)行關(guān)系運算D.兩個連續(xù)的雙引號 " "是合法的字符串常量V解析:解析字符串常量包括空字符串所占內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1, A 選項錯誤。字符常量是用單引號括起來的一個字符, B 選項錯誤。 C 語言中,字符串比擬不能直接用關(guān)系運算符進(jìn) 行正確比擬, 可以用字符
12、串比擬函數(shù) strcmp 來實現(xiàn), C 選項錯誤。字符串常量是由一對雙引號括 起的字符序列,D 選項正確。13. 以下表達(dá)中正確的選項是_ 。 分?jǐn)?shù): 2.00 A. 數(shù)組說明符的一對方括號中只能使用整型常量,而不能使用表達(dá)式B. 一條語句只能定義一個數(shù)組C. 每個數(shù)組包含一組具有同一類型的變量,這些變量在內(nèi)存中占有連續(xù)的存儲單元VD. 在引用數(shù)組元素時,下標(biāo)表達(dá)式可以使用浮點數(shù) 解析: 解析 數(shù)組的元素是同一類型,占用連續(xù)空間,所以選擇C。14. 以下表達(dá)中正確的選項是_ 。 分?jǐn)?shù): 1.00 A. 在 C 語言程序中, main 函數(shù)必須放在其他函數(shù)的最前面B. 每個后綴為.C的C語言源程
13、序都可以單獨進(jìn)行編譯VC. 在 C 語言程序中,只有 main 函數(shù)才可單獨進(jìn)行編譯D. 每個后綴為 .C 的 C 語言源程序都應(yīng)該包含一個 main 函數(shù) 解析: 解析 C 語言是一種成功的系統(tǒng)描述語言,具有良好的移植性,每個后綴為.C 的 C 語言源程序都可以單獨進(jìn)行編譯。15. 以下程序的輸出結(jié)果是_。int x=1 ; funint p int x=4 ; x+=p+ ; printf"%d",x ; main int a=3 ; funa ; x+=a+ ; printf"%d/n",x ; 分?jǐn)?shù): 1.00 A. 8 4B. 4 5C. 7
14、4 VD. 9 5解析:解析此題考查局部變量和全局變量的關(guān)系。在調(diào)用 fun函數(shù)時,形參p值為3實參a傳 遞的 , 在 x+=p+ 中, x 是局部變量 局部優(yōu)先 , x 和 p 的和 7 放在變量 x 中, p 再自加變?yōu)?4, 顯示輸出 x 的值 7 ; 主函數(shù)中的 x 是全局變量,值為1 , x 和 a 的和 4 放在變量 x 中, a 再自加變?yōu)?4,顯示輸出 x 的值 4。16. 某二叉樹有 5 個度為 2 的結(jié)點,那么該二叉樹中的葉子結(jié)點數(shù)是。 分?jǐn)?shù): 1.00 A. 10B. 8C. 6 VD. 4解析: 解析 根據(jù)二叉樹的根本性質(zhì) 3:在任意一棵二叉樹中,度為O 的葉子結(jié)點總是
15、比度為 2的結(jié)點多 一個,17. 假設(shè)有定義:所以此題中是 5+1=6 個。float x=1.5; int a=1, b=3, c=2; 那么正確的 switch 語句是。( 分?jǐn)?shù): 2.00 )A. switch(a+b) case 1:printf("*/n");case c:printf("*/n");B. switch(int)x);case 1:printf("*/n");case 2:printf("*/n");C. switch(x)case 1.0:printf("*/n");
16、case 2.0:printf("*/n");D. switch(a+b)case 1:printf("*/n");case 2+1:printf("*/n"); V解析: 解析 B 選項的“ switch(int)x); 語句中不應(yīng)該有最后的分號。 switch(expr1) 中的 expr1 不 能用浮點類型或 long 類型,也不能為一個字符串, 因此 C 錯誤。 case 后面只能是常量表達(dá)式, 因此 A 錯誤。18. 有以下程序#include <stdio.h > typedef struct int b,p;
17、A; void f(A c) /* 注意: c 是結(jié)構(gòu)變量名 */ int j; c.b+=1;c.p+=2; main() int i;A a=1,2; f(a); printf("%d,%d/n",a.b,a.p); 程序運行后的輸出結(jié)果是 。( 分?jǐn)?shù): 2.00 )A. 2,4B. 1,2 VC. 1,4D. 2,3 解析:19. 有以下程序:#include <stdio.h > struct link int data ; struct link* next; main() struct link *h,a,b; h=&a;a.data=10;
18、a.next=&b;b.data=20; 程序運行時不能輸出10,20 的語句是 。( 分?jǐn)?shù): 1.00 )A. printf("%d,%d/n",h->data,a.next.data); VB. printf("%d,%d/n",a.data,(%a.next).data);C. printf("%d,%d/n",h->data,(*a.next).data);D. printf("%d,%d/n",a.data,a.next- > data);解析: 解析可用以下 3 種形式來引用結(jié)
19、構(gòu)體變量中的成員:結(jié)構(gòu)體變量名成員名;指針變量名 ->成員名; (* 指針變量名 ) 成員名。主函數(shù)定義了兩個結(jié)構(gòu)體變量a,b 其成員 data 分別為 10 和 20,且 a 成員指針指向b。A選項中a.next為指針,其引用格式為 a.next- >data與(*a.next).data , A選項錯誤, 故 選擇 A 選項。 B 選項 a.data=10 ,(*a.next).data=20 ,能正確輸出 10,20;C 選項 h- > data=10 , (*a.next).data=20 ,能正確輸出 10,20;D 選項 a.data=10 , a.next- &
20、gt;data=20 ,能正確輸出 10,20。20. 有以下程序#includemain() int a=0,b=0;/* 給 a 賦值 a=10;b=20; 給 b 賦值*/printf("a+b=%d/n",a+b);/* 輸出計算結(jié)果 */ 程序運行后的輸出結(jié)果是_。( 分?jǐn)?shù): 1.00 )A. a+b=O VB. a+b=30C. a+b=1OD. 出錯解析:解析注釋/*和*/之間計算機(jī)不參與編譯,所以a、b值仍為0,答案選擇A。21. 假設(shè)有定義: double a=22;int i=O,k=18; ,那么不符合 C 語言規(guī)定的賦值語句是_。( 分?jǐn)?shù): 2.00
21、 )A. i=(a+k) < =(i+k);B. i=a%11; VC. a=a+,i+D. i=!a;解析:解析取模運算符“ %、二元運算符具有左結(jié)合性,參與運算的量均為整型。B選項中的 a 變量是 double 實型,不符合規(guī)定。22. 表達(dá)式 (int)(double)9/2)-9%2 的值是 。( 分?jǐn)?shù): 2.00 )A. 0B. 3 VC. 4D. 5解析: 解析先將整型數(shù)據(jù) 9 強(qiáng)制轉(zhuǎn)換成 double 型,然后除以 2,得到的結(jié)果與 double 型保 持一致,即 為 4.5 ,然后將 4.5 強(qiáng)制轉(zhuǎn)換成整型數(shù)據(jù) 4,然后計算 9%2 的值為 1,最后計算 4-1 的 值為
22、 3 ,所以選擇 B 選項。23. 假設(shè) a 是數(shù)值類型,那么邏輯表達(dá)式 (a=1)|(a!=1) 的值是 _。( 分?jǐn)?shù): 1.00 )A. 1 VB. 0C. 2D. 不知道 a 的值,不能確定解析:解析由于 a=1 和 a!=1 兩者互斥,即總有一個為真,因此二者的“或也必定為真。24. 字符 A 的 ASCII 代碼值是 65,字符變量 c1 的值是 A, c2的值是 D。那么執(zhí)行語句 printf("%d,%d",c1,c2-2);的輸出結(jié)果是。( 分?jǐn)?shù): 1.00 )A. A,68B. 65,66 VC. A,BD. 65,68解析: 解析 在 C 語言中,字符型
23、數(shù)據(jù)在內(nèi)存中的存儲形式是 ASCII 碼值。當(dāng)需要以整型格式輸出 字符時,輸出的也是 ASCII碼值。字符"A"和"D"的ASCII碼值分別為 65和68。25. 有以下程序 #include < stdio.h >#define S(x)4*(x)*x+1main() int k=5,j=2;printf("%d/n",S(k+j);程序運行后的輸出結(jié)果是_。( 分?jǐn)?shù): 2.00 )A. 143 VB. 197C. 33D. 28解析:26. 有以下程序:#include < stdio.h >#includ
24、e < string.h >main() char p20="a","b","c","d",q="abc",r="abcde"strcat(p,r);strcpy(p+strlen(q),q);printf("%d/n",strlen(p); 程序運行后的輸出結(jié)果是_。( 分?jǐn)?shù): 1.00 )A. 11B. 9C. 6 VD. 7解析: 解析 strcpy :字符串拷貝函數(shù); strlen :求字符串長度函數(shù) (注意:不包含字符串結(jié)束標(biāo)識 符
25、"/0") ;strcat :字符串連接函數(shù)。 執(zhí)行完語句 strcat(p ,r) ;后, p 數(shù)組中存儲的元素為: a,b,c,d,a,b,c,d,e 執(zhí)行語句 strcpy(p+strlen(q),q) ;得到的結(jié)果是將 q 所指向的字符串拷貝至 p+strlen(q) 開始的存儲位置, 因為 strlen 的值為 3,即從 p+3 開始存儲 q 中的元素。所以執(zhí)行完 strcpy(p+strlen(q),q) 語句后,字 符 數(shù)組 p20 的存儲元素為: a,b,c,a,b,c 。所以 strlen(p) 的結(jié)果為 6 , C 選項正確。27. 軟件按功能可以分為:
26、應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件 ) 。下面屬于應(yīng)用軟件的是( 分?jǐn)?shù): 1.00 )A. 編譯程序B. 操作系統(tǒng)C. 教務(wù)管理系統(tǒng) VD. 匯編程序解析: 解析 編譯軟件、操作系統(tǒng)、匯編程序都屬于系統(tǒng)軟件,只有教務(wù)管理系統(tǒng)才是應(yīng)用軟件。所以選擇 C 選項。28. 以下 _ 不屬于對象的根本特征。( 分?jǐn)?shù): 2.50 )A. 繼承性 VB. 封裝性C. 分類性D. 多態(tài)性解析: 解析 對象具有如下特征:?標(biāo)識惟一性,指對象是可區(qū)分的;?分類性,指可以將具有相同屬性和操作的對象抽象成類;?多態(tài)性,指同一個操作可以是不同對象的行為;?封裝性,從外面看只能看到對象的外部特征,而不知道也無需知道
27、數(shù)據(jù)的具體結(jié)構(gòu)以及實現(xiàn)操 作的算法;?模塊獨立性好,對象是面向?qū)ο蟮能浖母灸K,對象內(nèi)部各種元素彼此結(jié)合得 很緊密,內(nèi)聚性強(qiáng)。29. 假設(shè)指針p已正確定義并指向如下圖存儲單元:那么執(zhí)行語句*p+;后,*p的值是(分?jǐn)?shù):1.00 )A. 20B. 30 VC. 21D. 31解析:30. 有以下程序:#include < stdio.h >mai n() int a, b, k, m, *p1, *p2;k=1, m=8;p1= &k, p2二&m;a=/*p1-m; b=*p1+*p2+6;prin tf("%d", a); prin tf(
28、"%d/n", b);編譯時編譯器提示錯誤信息,你認(rèn)為出錯的語句是。(分?jǐn)?shù):1.00 )A. a=/*p1-m; VB. b=*p1+*p2+6;C. k=1, m=8;D. p1= &k, p2二&m;解析:解析此題考查指針,p1= &k表示p指向k的地址,那么*p=k ,依次類推,在對指針進(jìn)行 賦值時沒有 錯誤。a=/*p+m賦值,在C語言中“ /* 表示注釋,所以答案選擇 A。31. 以下程序的輸出結(jié)果是_。#include < stdio.h >mai n() int k, j, m;for (k=5; k > =1; k-) m=0;for (j=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人借款權(quán)益轉(zhuǎn)讓合同模板(2024年版)版B版
- 2025年度幕墻抗風(fēng)抗震加固工程合同范本4篇
- 2025年度文化娛樂品牌授權(quán)使用許可
- 2025年度出租車司機(jī)職業(yè)操守與信息保密合同
- 2025年度墓地陵園墓地使用權(quán)購買協(xié)議3篇
- 2025年度肉類產(chǎn)品加工與銷售一體化合同3篇
- 2025年度餐飲加盟店品牌授權(quán)與維護(hù)合同3篇
- 二零二五年度寵物貓寵物用品代理銷售合同3篇
- 2025版基因編輯技術(shù)合作項目建議書編制范本3篇
- 2025年KTV主題房間租賃及定制服務(wù)協(xié)議3篇
- 成長小說智慧樹知到期末考試答案2024年
- 紅色革命故事《王二小的故事》
- 海洋工程用高性能建筑鋼材的研發(fā)
- 蘇教版2022-2023學(xué)年三年級數(shù)學(xué)下冊開學(xué)摸底考試卷(五)含答案與解析
- 英語48個國際音標(biāo)課件(單詞帶聲、附有聲國際音標(biāo)圖)
- GB/T 6892-2023一般工業(yè)用鋁及鋁合金擠壓型材
- 冷庫安全管理制度
- 2023同等學(xué)力申碩統(tǒng)考英語考試真題
- 家具安裝工培訓(xùn)教案優(yōu)質(zhì)資料
- 在雙減政策下小學(xué)音樂社團(tuán)活動有效開展及策略 論文
- envi二次開發(fā)素材包-idl培訓(xùn)
評論
0/150
提交評論