




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、2012年3月全國計算機等級考試二級筆試試卷 C語言程序設計 (考試時間90分鐘,滿分100分)一、選擇題(1)(10)、(21)(40)每題2分,(11)(20)每題1分,共70分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應位置上,答在試卷上不得分。(1)下列敘述中正確的是 A)循環隊列是隊列的一種順序存儲結構 B)循環隊列是隊列的一種鏈式存儲結構 C)循環隊列是非線性結構 D)循環隊列是一種邏輯結構(2)下列敘述中正確的是 A)棧是一種先進先出的線性表B)隊列是一種后進先出的線性表 C)棧與隊列都是非線性結構D)以上三種
2、說法都不對(3)一棵二叉樹共有25個結點,其中5個是葉子結點,則度為1的結點數為 A)4 B)6 C)10 D)16(4)在下列模式中,能夠給出數據庫物理存儲結構與物理存取方法的是 A) 內模式 B)外模式 C) 概念模式 D)邏輯模式(5)在滿足實體完整性約束的條件下 A)一個關系中可以沒有候選關鍵字 B)一個關系中只能有一個候選關鍵字 C)一個關系中必須有多個候選關鍵字 D)一個關系中應該有一個或多個候選關鍵字(6)有三個關系R、S和T如下:RSTABCABCABCa12a12b21b21d21c31c31 則由關系R和S得到關系T的操作是 A)自然連接 B)并 C)差 D)交(7)軟件生
3、命周期的活動中不包括 A)軟件維護 B)需求分析 C)市場調研 D)軟件測試(8)下面不屬于需求分析階段任務的是 A)確定軟件系統的性能需求 B)確定軟件系統的功能需求 C)指定軟件集成測試計劃 D)需求規格說明書評審(9)在黑盒測試方法中,設計測試用例的主要根據是 A)程序外部功能B)程序數據結構 C)程序流程圖D)程序內部結構(10)在軟件設計中不使用的工具是 A)系統結構圖B)程序流程圖 C)PAD圖D)數據流圖(DFD圖)(11)針對簡單程序設計,以下敘述的實施步驟順序正確的是 A)確定算法和數據結構、編碼、調試、整理文檔B)編碼、確定算法和數據結構、調試、整理文檔 C)整理文檔、確定
4、算法和數據結構、編碼、調試D)確定算法和數據結構、調試、編碼、整理文檔(12)關于C語言中數的表示,以下敘述中正確的是 A)只有整型數在允許范圍內能精確無誤的表示,實型數會有誤差 B)只要在允許范圍內整型數和實型數都能精確的表示 C)只有實型數在允許范圍內能精確無誤的表示,整型數會有誤差 D)只有用八進制表示的數才不會有誤差(13)以下關于算法的敘述中錯誤的是 A)算法可以用偽代碼、流程圖等多種形式來描述 B)一個正確的算法必須有輸入 C)一個正確的算法必須有輸出 D)用流程圖描述的算法可以用任何一種計算機高級語言編寫成程序代碼(14)以下敘述中錯誤的是 A)一個C程序中可以包含多個不同名的函
5、數 B)一個C程序只能有一個主函數 C)C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過 D)C程序中主函數必須用main作為函數名(15)設有以下語句 char ch1, ch2; scanf("%c%c",&ch1,&ch2); 若要為變量ch1和ch2分別輸入字符A和B,正確的輸入形式應該是 A)A和B之間用逗號間隔B)A和B之間不能有任何間隔符 C)A和B之間可以用回車間隔D)A和B之間用空格間隔(16)以下選項中非法的字符常量是 A)'101' B)'65' C)'xff' D)'019
6、39;(17)有以下程序 # include <stdio.h> main( ) int a=0, b=0, c=0; c=(a-=a-5); (a=b,b+=4); printf("%d,%d,%dn",a,b,c); 程序運行后的輸出結果是 A)0,4,5 B)4,4,5 C)4,4,4 D)0,0,0(18)設變量均已正確定義并賦值,以下與其他三組輸出結果不同的一組語句是 A)x+; printf("%dn",x); B)n=+x; printf("%dn",n); C)+x; printf("%dn&qu
7、ot;,x); D)n=x+; printf("%dn",n);(19)以下選項中,能表示邏輯值“假”的是 A)1 B)0.000001 C)0 D)100.0(20)有以下程序 # include <stdio.h> main( ) int a; scanf("%d",&a); if(a+<9) printf("%dn",a); else printf("%dn",a-); 程序運行時從鍵盤輸入9<回車>,則輸出結果是 A)10 B)11 C)9 D)8(20)有以下程序 #
8、 include <stdio.h> main( ) int a; scanf("%d",&a); if( a+<9 ) printf( "%dn",a ); else prinft( "%dn",a- ); 程序運行時從鍵盤輸入9<回車>,則輸出結果是 A)10 B)11 C)9D)8(21)有以下程序 # include <stdio.h> main( ) int s=0, n; for( n=0; n<3; n+ ) switch(s) case 0: case 1: s+
9、=1; case 2: s+=2; break; case 3: s+=3; default: s+=4; printf("%d,",s); 程序運行后的輸出結果是 A)1,2,4, B)1,3,6, C)3,10,14, D)3,6,10,(22)若k是int類型變量,且有以下for語句 for (k=-1; k<0; k+ ) printf("*n"); 下面關于語句執行情況的敘述中正確的是 A)循環體執行一次 B)循環體執行兩次 C)循環體一次也不執行 D)構成無限循環(23)有以下程序 # include <stdio.h> m
10、ain( ) char a,b,c; b='1' c='A' for (a=0; a<6; a+) if(a%2) putchar(b+a); else putchar(c+a); 程序運行后的輸出結果是 A)1B3D5F B)ABCDEF C)A2C4E6 D)123456(24)設有如下定義語句 int m=2,4,6,8,10, *k=m; 以下選項中,表達式的值為6的是 A)*(k+2) B)k+2 C)*k+2 D)*k+=2(25)fun函數的功能是:通過鍵盤輸入給x所指的整型數組所有元素賦值。在下劃線處應 填寫的是 # include <
11、;stdio.h> #define N 5 void fun(int xN) int m; for (m=N-1; m>=0; m- ) scanf( "%d", _ ); A)&x+m B)&xm+1 C)x+(m+) D)x+m(26)若有函數 void fun(double a, int *n) . 以下敘述中正確的是 A)調用fun函數時只有數組執行按值傳送,其他實參和形參之間執行按地址傳送 B)形參a和n都是指針變量 C)形參a是一個數組名,n是指針變量 D)調用fun函數時將把double型實參數組元素一一對應地傳送給形參a數組(27
12、)有以下程序 # include <stdio.h> main( ) int a,b,k,m,*p1,*p2; k=1, m=8; p1=&k, p2=&m; a=/*p1-m; b=*p1+*p2+6; printf( "%d ",a ); printf( "%dn",b ); 編譯時編譯器提示錯誤信息,你認為出錯的語句是 A)a=/*p1-mB)b=*p1+*p2+6; C)k=1,m=8;D)p1=&k,p2=&m;(28)以下選項中有語法錯誤的是 A)char *str = "guest&qu
13、ot; B)char str 10 = "guest" C)char *str3; str1="guest" D)char str310; str1="guest"(29)avg函數的功能是求整型數組中的前若干個元素的平均值,設數組元素個數最多不超過10,則下列函數說明語句錯誤的是 A)int avg( int *a, int n );B)int avg( int a10, int n ); C)int avg( int a, int n );D)int avg( int a, int n ); (30)有以下程序 # include
14、 <stdio.h> # include <string.h> main( ) printf( "%dn",strlen("ATSn0121"); 程序運行后的輸出結果是 A)3B)8C)4D)9(31)有以下程序 # include <stdio.h> main( ) char a20, b20, c20; scanf( "%s%s" ,a,b ); gets(c); printf("%s%s%sn",a,b,c); 程序運行時從第一列開始輸入: This is a cat!&
15、lt;回車> 則輸出結果是 A)Thisisacat!B)Thisis aC)thisis a cat!D)Thisisa cat!(32)有以下程序 # include <stdio.h> void fun( char c ) if (c>'x') fun( c-1 ); printf( "%c%",c); main( ) fun('z'); 程序運行后的輸出結果是 A)xyzB)wxyzC)zyxwD)zyx(33)有以下程序 # include <stdio.h> void func( int n )
16、 int i; for (i=0; i<=n; i+) printf("*"); printf("#"); main( ) func( 3 ); printf("?"); func(4); printf("n"); 程序運行后的輸出結果是 A)*#?*#B)*#?*# C)*#?*#D)*#?*#(34)有以下程序 # include <stdio.h> void fun( int *s ) static int j=0; do sj = sj + sj+1; while( +j < 2 )
17、; main( ) int k,a10=1,2,3,4,5; for( k=1; k<3; k+) fun(a); for( k=0; k<5; k+) printf("%d", a k ); printf("n" ); 程序運行后的輸出結果是 A)12345 B)23445C)34756D)35745(35)有以下程序 # include <stdio.h> # define S(x) (x)*x*2 main( ) int k=5, j=2; printf( "%d,", S(k+j); printf( &
18、quot;%dn",S(k-j) ); 程序運行后的輸出結果是 A)98,18B)39,11C)39,18D)98,11(36)有以下程序 # include <stdio.h> void exch( int t ) t0 = t5; main( ) int x10 = 1,2,3,4,6,7,8,9,10,i=0; while ( i<=4 ) exch( &xi); i+; for (i=0; i<5; i+) printf("%d ",xi); printf( "n" ); 程序運行后的輸出結果是 A)2
19、4 6 8 10B)1 3 5 7 9C)1 2 3 4 5D)6 7 8 9 10(37)設有以下程序段 struct MP3 char name20; char color; float price; std, *ptr; ptr = &std; 若要引用結構體變量std中的color成員,寫法錯誤的是 A)std.color B)ptr->colorC)std->colorD)(*ptr).color(38)有以下程序 # include <stdio.h> struct stu int num; char name10; int age; ; void
20、fun(sruct stu *p ) printf( "%sn", p->name ); main( ) struct stu x3= 01,"Zhang",20,02,"Wang",19,03,"Zhao",18 ; fun( x+2 ); 程序運行后的輸出結果是 A)ZhangB)ZhaoC)WangD)19(39)有以下程序 # include <stdio.h> main( ) int a=12,c; c = (a<<2)<<1; printf("%dn&
21、quot;,c); 程序運行后的輸出結果是 A)3B)50C)2D)96(40)以下函數不能用于向文件中寫入數據的是A)ftellB)fwriteC)fputcD)fprintf二、填空題(每空2分,共30分)請將每空的正確答案寫在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。(1)在長度為n的順序存儲的線性表中刪除一個元素,最壞情況下需要移動表中的元素個數為 【1】 。(2)設循環隊列的存儲空間為Q(1:30),初始狀態為front=rear=30。現經過一系列入隊與退隊運算后,front=16,rear=15,則循環隊列中有 【2】 個元素。(3)數據庫管理系統提供的數據語言中,負
22、責數據的增、刪、改和查詢的是 【3】 。(4)在將E-R圖轉換到關系模式時,實體和聯系都可以表示成 【4】 。(5)常見的軟件工程方法有結構化方法和面向對象方法,類、繼承以及多態性等概念屬于 【5】 。(6)變量a和b已定義為int類型,若要通過scanf("a=%d,b=%d",&a,&b); 語句分別給a和b輸入1和2,則正確的數據輸入內容是 【6】 。(7)以下程序的輸出結果是 【7】 。 # include <stdio.h> main( ) int a=37; a+=a%=9; printf(%dn”,a);(8)設a、b、c都是整型變
23、量,如果a的值為1,b的值為2,則執行c=a+|b+; 語句后,變量b的值是 【8】 。(9)有以下程序段 s=1.0; for (k=1; k<=n; k+) s=s+1.0/(k*(k+1); printf("%fn",s);請填空,使以下程序段的功能與上面的程序段完全相同。 s=1.0; k=1; while ( 【9】 ) s=s+1.0/(k*(k+1); k=k+1; printf("%fn", s);(10)以下程序的輸入結果是 【10】 。 # include <stdio.h> main( ) char a,b; fo
24、r (a=0; a<20; a+=7) b=a%10; putchar(b+'0'); (11)以下程序的輸出結果是 【11】 。 # include <stdio.h> main( ) char *ch4="red","green","blue" int i=0; while ( chi ) putchar(chi0); i+; (12)有以下程序 # include <stdio.h> main( ) int arr=1,3,5,7,2,4,6,8, i, start; scanf("%d", &start); for (i=0; i<3; i+) printf("%d", arrstart+i)%8 ); 若在程序運行時輸入整數10<回車>,則輸出結果為 【12】 。(13)以下程序的功能是輸出a數組中所有字符串,請填空。 # include <stdio.h> main(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025標準合同范本的下載
- 2025商鋪轉讓合同簽訂有哪些注意事項
- 2025產品銷售合同范本
- 2025深圳市試用期勞動合同
- 2025年云南省曲靖市麒麟區中考一模歷史試題(含答案)
- 環氧樹脂地坪漆合同協議
- 電話出租出售合同協議
- 電信勞務續約合同協議
- 瓜果蔬菜售賣合同協議
- 電梯防水工程合同協議
- 建筑物外墻廣告牌拆除方案
- 不良資產債權轉讓與收購業務模式合作方案
- 24秋國開《西方行政學說》形考任務1學習活動(二)答案(第1套)
- 帶您走進西藏學習通超星期末考試答案章節答案2024年
- 體重管理健康科普教育
- 《跨境電子商務零售進口商品清單》
- 防汛抗旱知識培訓材料
- 輔警考試公安基礎知識考試試題庫及答案
- 政府投資項目審計服務采購服務方案和內部質量管理制度投標方案(技術方案)
- TWJQMA 010-2024 露地甜瓜改良式滴灌栽培技術
- 湖南省長沙市2024年中考英語真題(含答案)
評論
0/150
提交評論