版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、二級 C 語言筆試 -194( 總分: 98.00 ,做題時間: 90 分鐘 )一、選擇題(總題數(shù): 40,分?jǐn)?shù): 70.00)1. 在設(shè)計程序時,應(yīng)采納的原則之一是(分?jǐn)?shù): 2.00 )A. 不限制 goto 語句的使用B. 減少或取消注解行C. 程序越短越好D. 程序結(jié)構(gòu)應(yīng)有助于讀者理解V解析:解析濫用goto語句將使程序流程無規(guī)律,可讀性差,因此A)不選;注解行有利于對程序的理解,不應(yīng)減少或取消,B)也不選;程序的長短要依照實際情況而論,而不是越短越好,C)也不選。2. 以下程序的運行結(jié)果是int k=0 ;void fun(int m)m+=k; k+=m; printf("
2、m=%d k=%d", m, k+) ;main()int i=4;fun(i+) ; printf("i=%d k=%d/n", i , k) ;(分?jǐn)?shù): 2.00 )A. m=4 k=5 i=5 k=5B. m=4 k=4 i=5 k=5VC. m=4 k=4 i=4 k=5D. m=4 k=5 i=4 k=5解析:解析由于在main()函數(shù)中,變量i=4,所以就調(diào)用fun(4),則輸出"m=4k=4。然后變量 k增1 等于5,變量i增1等于5,所以main()函數(shù)的“ pdntf("i=%d k=%d/ n",i,k); ”語句
3、輸出“ i=5 k=5”。3. 數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系是(分?jǐn)?shù): 2.00 )A. 數(shù)據(jù)庫包括數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)B. 數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng) VC. 數(shù)據(jù)庫管理系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)D. 三者沒有明顯的包含關(guān)系解析:解析數(shù)據(jù)庫系統(tǒng)(Database System,簡稱DBS),包括數(shù)據(jù)庫(Database,簡稱DB)和數(shù)據(jù)庫管理 系統(tǒng) (Da-tabase Management System ,簡稱 DBMS。)4. 若有定義:int a23;,以下選項中對a數(shù)組元素正確引用的是分?jǐn)?shù): 2.00 )A. a2!1B. a23C. a03D. a1
4、 > 2!1 V解析: 解析 C 語言中數(shù)組下標(biāo)是從 0開始的,所以二維數(shù)組 a23 的第一維下標(biāo)取值為0、 1 ;第二維的下標(biāo)取值為0、1、2,因而選項A)、B)、C)都是錯誤的,選項 D)表示數(shù)組元素a00。5. 樹是結(jié)點的集合,它的根結(jié)點數(shù)目是(分?jǐn)?shù): 2.00 )A. 有且只有 1B. 1 或多于 1C. 0 或 1 VD. 至少 2解析:解析樹是N(N>0)個結(jié)點的有限集合,當(dāng)N=0,時稱為空樹,對于空樹沒有根結(jié)點,即根結(jié)點的個數(shù)為 0,對于非空樹有且只有一個根結(jié)點,所以樹的根結(jié)點數(shù)目為 0 或 1。6. 下列敘述中正確的是(分?jǐn)?shù): 2.00 )A. 程序執(zhí)行的效率與數(shù)據(jù)
5、的存儲結(jié)構(gòu)密切相關(guān) VB. 程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)C. 程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D. 以上三種說法都不對解析: 解析 程序執(zhí)行的效率與很多因素有關(guān),如數(shù)據(jù)的存儲結(jié)構(gòu)、程序所處理的數(shù)據(jù)量、程序所采用的 算法等。順序存儲結(jié)構(gòu)在數(shù)據(jù)插入和刪除操作上的效率比鏈?zhǔn)酱鎯Y(jié)構(gòu)的效率低。7. 有以下程序#include < stdio.h >main() int s12=1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 2, 3, c5=0 , i ;for(i=0 ;i < 12; i+) csi+;for(i=1 ;i < 5;i+) print
6、f("%d" , ci) ; printf("/n") ;程序的運行結(jié)果是(分?jǐn)?shù): 2.00 )A. 1 2 3 4B. 2 3 4 4C. 4 3 3 2VD. 1 1 2 3解析: 解析 在 br(i=0 ;i <12;i+)csi)+ 中,數(shù)組元素 si 的值作為數(shù)組 c 的下標(biāo),當(dāng)退出循環(huán) 時,數(shù)組 c 的 4 個元素的值分別為 4、 3、 3、 2。8. 若變量已正確定義并賦值,以下符合 C 語言語法的表達式是分?jǐn)?shù): 2.00 )A. a : =b+1B. a=b=c+2 VC. int 18.5%3D. a=a+7=c+b解析:解析選項
7、A)中包含一個不合法的運算符“:=”;選項C)應(yīng)改為(int)18.5%3 ;選項D)可理解為兩個表達式:a+7=c+b和a=a+7,其中第一個是錯的,因為C語言規(guī)定賦值號的左邊只能是單個變量,不能是表達式或常量等。因此,正確答案是選項 B) ,它實際上相當(dāng)于 a=(b=c+2) ,進而可分解為兩個表達式: b=c+2 和 a=b。9. 有以下程序#include < stdio.h >#include < string.h > typedef strtlct char name9; char sex ; floatscore2 ; STU;void f(STU(分?jǐn)?shù):
8、 2.00 )A.STU b="Zhao" , 'm' , 85.0 , 9 V解析: 解析 本題考查的是函數(shù)調(diào)用時的參數(shù)傳遞問題。程序在調(diào)用函數(shù) f 時,傳給函數(shù) f 的參數(shù)只是結(jié) 構(gòu)變量 c 在棧中的一個拷貝,函數(shù) f 的所有操作只是針對這個數(shù)據(jù)拷貝進行的修改,這些都不會影響變量 c 的值。10. 下列有關(guān)數(shù)據(jù)庫的描述,正確的是(分?jǐn)?shù): 2.00 )A. 數(shù)據(jù)庫是一個DBF文件B. 數(shù)據(jù)庫是一個關(guān)系C. 數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)集合 VD. 數(shù)據(jù)庫是一組文件解析:解析數(shù)據(jù)庫(DataBase,簡稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲
9、介 質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,可被各個應(yīng)用程序所共享。數(shù)據(jù)庫中的數(shù)據(jù)具有“集成”、“共享”的特 點。11. 數(shù)據(jù)結(jié)構(gòu)中,與所使用的計算機無關(guān)的是數(shù)據(jù)的(分?jǐn)?shù): 1.00 )A. 存儲結(jié)構(gòu)B. 物理結(jié)構(gòu)C. 邏輯結(jié)構(gòu) VD. 物理和存儲結(jié)構(gòu)解析: 解析 數(shù)據(jù)結(jié)構(gòu)概念一般包括數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)及數(shù)據(jù)上的運算集合等。數(shù)據(jù)的邏輯結(jié)構(gòu) 只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管它在計算機中的存儲形式。12. 有以下程序#include < stdio.h >main()FILE*fp ; int i , a6=1 , 2, 3, 4, 5, 6;fp=fopen("d3 d
10、at" , "w+b") ;fwrite(a , sizeof(int)fseek(fp , sizeof(int) */, 6, fp) ;, 3, SEEK_SET;) /* 該語句使讀文件的位置指針從文件頭向后移動3個 int 型數(shù)據(jù)fread(a , sizeof(int), 3, fp) ; fclose(fp)for(i=0; <6; +)printf("%d , ", ai)程序運行后的輸出結(jié)果是分?jǐn)?shù): 1.00 ) 解析: 解析 首先利用 fwrite 函數(shù)將數(shù)組 a 中的數(shù)據(jù)寫到文件中,接著 fseek 函數(shù)的功能是讀文
11、件的位 置,指針從文件頭向后移動 3 個 int 型數(shù)據(jù),這時文件位置指針指向的是文件中的第 4 個 int 數(shù)據(jù)“ 4”, 然后 fread 函數(shù)將文件 fp 中的后 3 個數(shù)據(jù) 4, 5,6讀到數(shù)組 a 中,這樣就覆蓋了數(shù)組中原來的前 3 項數(shù) 據(jù)。最后數(shù)組中的數(shù)據(jù)就成了 4 ,5,6,4,5,613. 設(shè)有:int a=1 ,b=2,c=3,d=4, m=2,n=2;執(zhí)行(m=a> b)&& (n=c > d)后,n的值是(分?jǐn)?shù): 1.00 )A. 1B. 2 VC. 3D. 4解析: 解析 本題考查邏輯與運算的運算規(guī)則。其規(guī)則是:當(dāng)運算符前后兩個條件表達式都
12、滿足時,其最 終結(jié)果才為真。當(dāng)發(fā)現(xiàn)第一個表達式的值為假,計算機將不再執(zhí)行后面表達式的運算。本題中;由于前一個表達式的值為“假”,所以,后面的表達式不再進行運算,因而n 的值保持不變,仍為2。14. 以下描述中正確的是(分?jǐn)?shù): 1.00 )A. 由于 do-while 循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句B. do-while 循環(huán)由do開始,用while結(jié)束,在while(表達式)后面不能寫分號C. 在 do-while 循環(huán)體中,是先執(zhí)行一次循環(huán),再進行判斷 VD. do-while 循環(huán)中,根據(jù)情況可以省略 while解析:解析do-while語句的一般形式為
13、:do循環(huán)體語句while(表達式);,其中循環(huán)體語句可以是復(fù)合型語句,但必須用花括號括起來。 while 后必須要有分號作為語句的結(jié)束,在 do-while 循環(huán)中,不可以 省略 while 。15. 在16位IBM-PC機上使用C語言,若有如下定義stmct datainti ;char ch ;double fb;則結(jié)構(gòu)變量 b 占用內(nèi)存的字節(jié)數(shù)是(分?jǐn)?shù): 1.00 )A. 1B. 2C. 7D. 11V解析:解析 結(jié)構(gòu)體變量所占用內(nèi)存的字節(jié)數(shù)是其所有成員所占用內(nèi)存字節(jié)數(shù)之和。本題中整型變量 i 所 占用的內(nèi)存是 2字節(jié),字符型變量 ch 所占用的內(nèi)存是 1字節(jié),雙精度型變量 f 所占用
14、的內(nèi)存是 8字節(jié),三 者相加即可。16. 閱讀下列程序,則運行結(jié)果為#include"stdio.h"fun()static int x=5 ;x+;return x ;main()int i , x;for(i=0 ; i v 3 ; i+)x=fun() ;printf("%d/n",x) ;(分?jǐn)?shù): 1.00 )A. 5B. 6C. 7D. 8 V解析: 解析 在整個程序運行期間,靜態(tài)局部變量在內(nèi)存的靜態(tài)存儲區(qū)中占據(jù)著永久的存儲單元,即使退 出函數(shù)以后,下次再進入該函數(shù)時,靜態(tài)局部變量仍使用原來的存儲單元,靜態(tài)局部變量的初值是在編譯 的時候賦予的,
15、在程序執(zhí)行期間不再賦予初值。本題由于連續(xù)三次調(diào)用函數(shù)fun() ,三次對靜態(tài)變量 x 進行操作, x 的值應(yīng)依次為 6,7, 8。17. 已有定義: char c; ,程序前面已在命令行中包含 ctype.h 文件,不能用于判斷 c 中的字符是否為大寫 字母的表達式是(分?jǐn)?shù): 1.00 )A. isupper(c)B. 'A' v=cv='Z'VC. 'A' v =c&&cv ='Z'D. c v =('z'-32)&&('a'-32)v=c解析:解析在本題中,選項B
16、)實際是先計算關(guān)系表達式“ A' v=c”的值是 0還是1再比較該值與字符 'z' 之間的大小關(guān)系,顯然不能實現(xiàn)題目所要求的功能,而選項A)、C)、 D) 都可以。18. 線性表的順序存儲結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)分別是(分?jǐn)?shù): 1.00 )A. 順序存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu)B. 隨機存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu) VC. 隨機存取的存儲結(jié)構(gòu)、隨機存取的存儲結(jié)構(gòu)D. 任意存取的存儲結(jié)構(gòu)、任意存取的存儲結(jié)構(gòu)解析: 解析 順序存儲結(jié)構(gòu)中,數(shù)據(jù)元素存放在一組地址連續(xù)的存儲單元中,每個數(shù)據(jù)元素地址可通過公 式 LOC(ai)=LOC(a1)+(i-1)L 計算得到
17、,從而實現(xiàn)了隨機存取。對于鏈?zhǔn)酱鎯Y(jié)構(gòu),要對某結(jié)點進行存取, 都得從鏈的頭指針指向的結(jié)點開始,這是一種順序存取的存儲結(jié)構(gòu)。19. 下列程序的運行結(jié)果為#include v stdio.h >void abc(char*str)int a , b;for(a=b=0 ; stra!='/0'; a+)if(stra!='c')strb+=stra ;strb='/0' ;void main()char str="abcdef" ;abc(str) ;printf("str)=%s", str) ;(分?jǐn)?shù)
18、: 1.00 )A. str=abdefVB. str=abcdefC. str=aD. str=ab解析: 解析 本題考查了用字符指針引用字符數(shù)組中的字符及對字符的操作。函數(shù)abc() 的 for 語句執(zhí)行過程是: 從字符指針 str 所指向的字符數(shù)組的第一個元素開始, 逐一判斷字符是否為 'c' ,若不是就執(zhí)行一 次數(shù)組元素的賦值過程,若字符為 'c' 就不執(zhí)行。20. 軟件是指(分?jǐn)?shù): 1.00 )A. 程序B. 程序和文檔C. 算法加數(shù)據(jù)結(jié)構(gòu)D. 程序、數(shù)據(jù)與相關(guān)文檔的完整集合 V解析: 解析 軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合,相對于計算機硬件而言,軟件
19、是邏輯產(chǎn)品而不是物理 產(chǎn)品,是計算機的無形部分。21. 有以 F 程序#include < stdio.h >main()int y=9 ;for( ; y> 0;y-)if(y%3=0) printf("%d",-y) ;程序的運行結(jié)果是(分?jǐn)?shù): 2.00 )A. 741B. 963C. 852VD. 875421解析:解析本題考查變量的自加“ +”和自減“-”問題。當(dāng)y的值為9、6或3時,if語句的條件成 立,執(zhí)行輸出語句,輸出表達式-y的值,y的自減要先于輸出語句執(zhí)行,故輸出結(jié)果為8 5 2。22. 以下函數(shù)返回 a 所指數(shù)組中最小的值所在的下標(biāo)值f
20、un(int *a , int n)int i,j=0 ,p;p=jfor(i=j; i < n ; i+)if(ai< ap)return(p) ; 在橫線處應(yīng)填入的是(分?jǐn)?shù): 2.00 )A. i=pB. ap=aiC. p=jD. p=iV解析: 解析 該程序先判斷 ai < ap ,如果條件為真,則 ai 比當(dāng)前設(shè)定的最小值小 (p 保留的當(dāng)前最 小元素的下標(biāo)),那么將i賦給p,即將比較過的最小元素下標(biāo)保留在p中,作為下面判斷的標(biāo)準(zhǔn)。23. 已知int a=1, b=3則aAb的值為(分?jǐn)?shù): 2.00 )A. 3B. 1C. 2VD. 4解析: 解析 A 是按位異或運
21、算,如果對應(yīng)位不同則結(jié)果為 1 ,相同則為 0。24. 下面四個選項中,均是不合法的用戶標(biāo)識符的選項是(分?jǐn)?shù): 2.00 )A. AP_0 doB. float 1a0_AC. b-a goto intVD. 123 temp int解析: 解析 C 語言規(guī)定的標(biāo)識符只能由字母、數(shù)字和下劃線 3種字符組成,第一個字符必須為字母或下 劃線,并且不能使用 C語言中的關(guān)鍵字作為標(biāo)識符。選項C)中g(shù)oto和int是關(guān)鍵字,b-a中'-'不是組成標(biāo)識符的3種字符之一;選項 D)中int是關(guān)鍵字,所以,均是不合法用戶標(biāo)識符的選項是C)。25. 有以下程序#include < stdi
22、o.h >voidfun(char*t , char*s)while(*t!=0) t+;while(*t+=*s+)!=0);main()char ss10="acc", aa10="bbxxyy" ;fun(ss , a分?jǐn)?shù): 2.00 )A. ; printf("%s ,%s/n" ,ss,aa) ;&n解析: 解析 本題中 fun 函數(shù)實現(xiàn)丁字符串函數(shù) str-eat 的功能,將字符串 aa 連接到字符串 ss 的末尾。 調(diào)用fun函數(shù)時,形參t和s分別指向了字符串ss和aa,然后通過一個 while循環(huán)使t指向
23、字符串ss的 結(jié)束符的位置, 第二個 while 循環(huán)將字符串 aa 中的字符 (包括結(jié)束符 '/0') 逐個復(fù)制到字符串 ss 的末尾處。26. 若要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù) (分?jǐn)?shù): 2.00 )A. getc()B. gets()VC. getchar()D. scanf()解析: 解析 scanf() 語句用“空格”區(qū)別不同的字符串; getc() 與 getchar() 語句不能用于字符串的讀 入。27. 閱讀下列程序段,則程序的輸出結(jié)果為#include"stdio.h"#defineM(X , Y)(X)*(Y)#defin
24、eN(X , Y)(X)/(Y)main()f int a=5, b=6, c=8, k;k=N(M(a, b) , c) ;printf("%d/n" , k) ;(分?jǐn)?shù): 2.00 )A. 3 VB. 5C. 6D. 8解析:解析帶參數(shù)的宏定義命令行形式如下:#de-fine宏名(形參表)替換文本。首先進行M的宏替換,之后再進行 N 的宏替換,替換后的表達式為 (a)*(b)/(c)。28. 檢查軟件產(chǎn)品是否符合需求定義的過程稱為(分?jǐn)?shù): 2.00 )A. 確認(rèn)測試 VB. 集成測試C. 驗證測試D. 驗收測試解析: 解析 確認(rèn)測試的任務(wù)是驗證軟件的功能和性能,以及其他
25、特性是否滿足需求規(guī)格說明中確定的各 種需求;集成測試的主要目的是發(fā)現(xiàn)與接口有關(guān)的錯誤。29. 以下 4 個選項中,不能看成一條語句的是(分?jǐn)?shù): 2.00 )A. ;B. a=5, b=2.5 , c=3.6 ;C. if(a v 5);D. if(b!=5)x=2; y=6; V解析:解析選項D)為兩條語句。30. 有以下程序#include v stdio.h >void fun(int *a ,int n)/*fun 函數(shù)的功能是將 a 所指數(shù)組元素從大到小排序 */ int t ,i ,j ;for(i=0 ; i v n-1 ; j+)for(j=i+1 ; j v n; j+)
26、if(ai v aj) t=ai ; ai : aj ; aj=t ;main()int c10=1,2,3,4,5,6,7,8,9,0,ifun(c+4 ,6) ;for(i=0 ; i v 10; +) printf("%d ," ,ci);printf("/n") ;程序的運行結(jié)果是分?jǐn)?shù): 2.00 ) 解析: 解析 在本題中,主函數(shù)在調(diào)用 fun() 函數(shù)進行排序時,傳遞的參數(shù)是 c+4 和 6,fun() 函數(shù)實現(xiàn)的 功能是將數(shù)組 c 的第 5 個元素開始的 6 個元素依次進行從大到小的順序排列。排序之后,數(shù)組 c 的內(nèi)容變 為1,2,3,4,
27、9,8,7,6,5, 031. 若有定義: float x=1.5; int a=1 , b=3, c=2 ; ,則正確的 switch 語句是(分?jǐn)?shù): 2.00 )A. switch(x)case 1.0 : printf("*/n") ;case 2.0 : printf("*/n") ;B. switch(int)x);case 1 : printf("*/n") ;case 2 : printf("*/n") ;C. switch(a+b)case 1 : printf("*/n") ;
28、case 2+1 : printf("*/n") ; VD. switch(a+b)case 1 : printf("*/n") ;case c : printf("*/n") ;解析: 解析 C 語言中, switch 語句專用于實現(xiàn)多分支結(jié)構(gòu)程序,其特點是各分支清晰而直觀。switch后面括號中可以是任何表達式,取其整數(shù)部分與各常量表達式進行比較。常量表達式中不能出現(xiàn)變量,且 類型必須是整型、字符型或枚舉型,各常量表達式各不相同。32. 以下選項中不屬于字符常量的是分?jǐn)?shù): 2.00 )A. 'C'B. CVC. &
29、#39;/xCC'D. '/072'解析:解析在C語言程序中,用單引號把一個字符或反斜線后跟一個特定的字符括起來表示一個字符常 量。選項A)、C)和D)為正確的字符常量,而選項 B)是用雙引號括起來的字符,表示一個字符串常量。33. 下面程序的輸出結(jié)果是#include < stdio.h >#include < string.h >main()char *pl="abc" , *p2="ABC" , str50="xyz";strcpy(str+2 , strcat(p1 , p2)
30、;printf("%s/n" , str) ;(分?jǐn)?shù): 2.00 )A. xyzabcABCB. zabcABCC. xyabcABC VD. yzabcABC解析: 解析 本題考查的重點是拷貝字符串使用 strcpy() 函數(shù),該函數(shù)的調(diào)用方式是: strcpy( 字符 數(shù)組,字符串 ),其中”字符串”可以是字符串常量,也可以是字符數(shù)組。函數(shù)的功能是:將“字符串”完 整地復(fù)制到“字符數(shù)組”中,字符數(shù)組中原有的內(nèi)容被覆蓋。使用該函數(shù)時注意:字符數(shù)組必須定義得足夠大,以便容納復(fù)制過來的字符串。復(fù)制時,連同結(jié)束標(biāo)志70' 起復(fù)制;不能用賦值運算符“:”將一個字符串直接賦
31、值給一個字符數(shù)組,只能用strcpy()函數(shù)處理。另外,本題還考查連接字符串的 strcat() 函數(shù),其調(diào)用方式是: strcat( 字符數(shù)組,字符串 ) 。 功能是把”字符串”連接到”字符數(shù)組”中的字符串尾端,并存儲于“字符數(shù)組”中?!白址麛?shù)組”中原 來的結(jié)束標(biāo)志,被“字符串”的第一個字符覆蓋,而“字符串”在操作中未被修改。使用該函數(shù)時注意:由于沒有邊界檢查,編程者要注意保證“字符數(shù)組”定義得足夠大,以便容納連接后的目標(biāo)字符串;否則,會因長度不夠而產(chǎn)生問題;連接前兩個字符串都有結(jié)束標(biāo)志70',連接后“字符數(shù)組”中存儲的字符串的結(jié)束標(biāo)志 '/0' 鈹舍棄,只在目標(biāo)串的
32、最后保留一個 '/0' 。34. 有以下程序#include < stdio.h >main()int a=1, 2, 3, 4, y, *p=&a3 ;-p ; y=*p ; printf("y=%d/n" , y) ;程序的運行結(jié)果是(分?jǐn)?shù): 2.00 )A. y=0B. y=1C. y=2D. y=3 V解析:解析在程序中指針變量 P初始指向a3,執(zhí)行p減1 后, P指向a2,語句y=*p的作用是把a2 的值賦給變量y,所以輸出為y=3。35. 有以下程序#include < stdio.h >main()FILE *f
33、p ; int a10=1, 2,3,i , n;fp=fopen("d1.daf" , "w") ;for(i=0 ; i v 3 ; i+) fprintf(fp , "%d", ai);fprintf(fp , "/n") ;fclose(fp) ;fp=fopen("d1.dat" , "r") ;fscanf(fp , "%d", &n);fclose(fp) ;printf("%d/n" , n) ;程序的運行結(jié)果是
34、(分?jǐn)?shù): 2.00 )A. 12300B. 123VC. 1D. 321解析: 解析 在函數(shù)中首先把整型數(shù)組 a10 中的每個元素寫入文件 d1.dat 中,然后再次打開這個文件, 把文件d1.dat中的內(nèi)容讀入到整型變量n中,最后輸出變量n的值。36. 設(shè)變量已正確定義并賦值,以下正確的表達式是(分?jǐn)?shù): 2.00 )A. x=y*5=x+ZB. int(15.8%5)C. x=y+z+5 , +y VD. x=25%5.0解析:解析求余運算符""兩邊的運算對象必須是整型,而選項B)和D)中""兩邊的運算對象有浮點整數(shù)據(jù),所以選項B)和D)是錯誤的表達式
35、。在選項 A)中賦值表達式的兩邊出現(xiàn)相同的變量x,也是錯誤的。選項C)是一個逗號表達式,所以正確答案為 C)。37. 以下數(shù)組定義中錯誤的是(分?jǐn)?shù): 2.00 )A. intx3=0;B. intx23=1, 2, 3,4,5,6;VC. intx3=1, 2, 3, 4, 5, 6;D. intx23=1, 2, 3,4,5,6;解析:解析二維數(shù)組的初始化有以下幾種形式:分行進行初始化;不分行進行初始化;部分?jǐn)?shù)組元素進行初始化;省略第一維的定義,不省略第二維的定義。選頃B)等號右邊分了 3行,大于等號左邊數(shù)組的行數(shù) 2。38. 以下不屬于對象的基本特點的是分?jǐn)?shù): 2.00 )A. 分類性B.
36、 多態(tài)性C. 繼承性 VD. 封裝性解析: 解析 對象的基本特點:標(biāo)志唯一性、分類性、多態(tài)性、封裝性和模塊獨立性。39. 若變量已正確定義,有以下程序段int a=3 ,b=5,c=7 ;if(a > b) a=b ; c=a ;if(c! =(分?jǐn)?shù): 2.00 )A.c=b ;printf("%解析:解析兩個if語句的判斷條件都不滿足,程序只執(zhí)行了c=a這條語句,所以變量 c的值等于3,變量 b 的值沒有變化,程序輸出的結(jié)果為 3, 5, 3。40. 下面說明不正確的是(分?jǐn)?shù): 2.00 )A. char a10="china";B. char a10,
37、*p=a ; p="china"C. char*a ; a="china" ;D. chara10 , *P; P=a="china" V解析:解析C語言中操作一個字符串常量的方法有:將字符串常量存放在一個字符數(shù)組之中;用字 符指針指向字符串,然后通過字符指針來防問字符串存儲區(qū)域。當(dāng)字符串常量在表達式中出現(xiàn)時,根據(jù)數(shù) 組的類型轉(zhuǎn)換規(guī)則,將其轉(zhuǎn)換成字符指針。本題D)項中錯誤的關(guān)鍵是對數(shù)組初始化時,可以在變量定義時整體賦初值,但不能在賦值語句中整體賦值。二、 填空題 ( 總題數(shù): 14,分?jǐn)?shù): 28.00)41. 需求分析的最終結(jié)果是產(chǎn)生
38、 1 。(分?jǐn)?shù): 2.00 )填空項 1: (正確答案:需求規(guī)格說明書)解析: 解析 軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)小的重要文檔之一。需求規(guī)格 說明書包括正確性、無歧義性、完整性、可驗證性、一致性、可理解性、可修改性和可追蹤性等。42. 為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的 1 兩部分組成。(分?jǐn)?shù): 2.00 )填空項 1: (正確答案:輸出結(jié)果)解析: 解析 測試用例 (Text Case) 是為測試設(shè)計的數(shù)據(jù)。測試用例由測試輸入數(shù)據(jù)和與之對應(yīng)的預(yù)期輸 出結(jié)果兩部分組成。43. 數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于 1 。(分?jǐn)?shù): 2.00 )填空項
39、 1: (正確答案:存儲結(jié)構(gòu))解析: 解析 數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的邏 輯結(jié)構(gòu)在計算機存睹空間中的存放形式。在數(shù)據(jù)的存儲結(jié)構(gòu)中,不僅要存放各數(shù)據(jù)元素的信息,還需要存 放各數(shù)據(jù)元素之間的前后件關(guān)系的信息。44. 某二叉樹中度為 2 的結(jié)點有 18 個,則該二叉樹中有 1 個葉子結(jié)點(分?jǐn)?shù): 2.00 )填空項 1: (正確答案: 19)解析: 解析 在任意一棵二叉樹中,度為 0的結(jié)點 (即葉子結(jié)點 )總是比度為 2的結(jié)點多一個。45. 1 是數(shù)據(jù)庫設(shè)計的核心。(分?jǐn)?shù): 2.00 )填空項 1: (正確答案:數(shù)據(jù)模型)解析: 解析 數(shù)據(jù)模型是對
40、客觀事物及聯(lián)系的數(shù)據(jù)描述,它反映了實體內(nèi)部及實體與實體之間的聯(lián)系。因 此,數(shù)據(jù)模型是數(shù)據(jù)庫設(shè)計的核心。46. 已有定義:char c=' ' ; int a=1, b;(此處c的初值為空格字符),執(zhí)行b=!c&&a;后b的值為(分?jǐn)?shù): 2.00 )填空項 1: (正確答案: 1)解析:解析字符空格的ASCII碼不為0,所以本題中表達式!c的值為0, b=0&&1的結(jié)果顯然為047. 設(shè)變量已正確定義為整型,則表達式n=i=2,+i,i+的值為1。(分?jǐn)?shù): 2.00 )填空項 1: (正確答案: 3)解析:解析本題考查的是C語言逗號表達式的相關(guān)知識
41、。程序在計算逗號表達式時,從左到右計算由逗 號分隔各表達式的值,整個逗號表達式的值等于其中最后一個表達式的值。本題中,首先i 被賦值為 2,再自加 1 ,最后 i+ 的值計算為 3。48. 下面程序的功能是:計算110之間的奇數(shù)之和與偶數(shù)之和,請?zhí)羁铡?include < stdio.h >main()int a , b, c, i ;a=C=0;for(i=0 ; i < =10; i+=2)a+=i ;c+=b;printf("偶數(shù)之和 =%d/n", a) ;printf("奇數(shù)之和 =%d/n", c-11) ;(分?jǐn)?shù): 2.0
42、0 )填空項 1: (正確答案: b=i+1 )解析: 解析 本題考查了 for 循環(huán)語句的執(zhí)行過程。 i+=2 是修正表達式,執(zhí)行一次循環(huán)體后 i 的值就增 加2,i的初始值為0,每次加2后的和累加至a,所以a的值就是110之間的偶數(shù)之和;b的值是111 之間的奇數(shù)和,但在輸出b值時,c去掉多加的11,即為110之間的奇數(shù)之和。49. 以下函數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第 0列中,把a所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。#define N 4void rotade(int aN, int b
43、N)int i , j ;for(i=0 ; i v N; i+)biN-1= 9; 10: aN-1i(分?jǐn)?shù):2.00 )填空項1: (正確答案:9 a0)i10 bi0)解析:解析biN-1; s0i 實現(xiàn)把a所指二維數(shù)組中的第 0行放到b所指二維數(shù)組的最后一列中,bi0= aN-1i 門實現(xiàn)將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組中的第0列。50. 以下程序的輸岀結(jié)果是。#include v stdio.h >void swap(int *a , int *b)int *tt=a ; a=b ; b=tmain()int i=3, j=5 , *p=&i,*q=&j;swap(p, q) ; printf("%d %d/n", *p , *q);(分?jǐn)?shù):2.00 )填空項1: (正確答案:3 5 )解析:解析函數(shù)swap(int*a , int*b)的功能是實現(xiàn)*a和*b,中兩個數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p, q)后,參形指針變量a和b分別
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024美金結(jié)算支付合同范本6篇
- 2025年度拆除工程合同糾紛調(diào)解協(xié)議范本4篇
- 二零二五年度生物科技產(chǎn)業(yè)園廠址租賃及研發(fā)合作框架協(xié)議2篇
- 與消防隊合作協(xié)議 2篇
- 2024跨境商業(yè)交易商議與協(xié)議制作詳解版
- 2025年度老舊廠房拆遷安置房購置合同4篇
- 2025年度礦產(chǎn)資源測繪勞務(wù)分包合同(新版)4篇
- 2024年獨家品牌代理協(xié)議
- 2025年度產(chǎn)業(yè)園租賃與運營一體化合同4篇
- 2024年03月浙江杭銀理財崗位招考筆試歷年參考題庫附帶答案詳解
- 巖土工程勘察課件0巖土工程勘察
- 《腎上腺腫瘤》課件
- 2024-2030年中國典當(dāng)行業(yè)發(fā)展前景預(yù)測及融資策略分析報告
- 《乘用車越野性能主觀評價方法》
- 幼師個人成長發(fā)展規(guī)劃
- 2024-2025學(xué)年北師大版高二上學(xué)期期末英語試題及解答參考
- 動物醫(yī)學(xué)類專業(yè)生涯發(fā)展展示
- 批發(fā)面包采購合同范本
- 乘風(fēng)化麟 蛇我其誰 2025XX集團年終總結(jié)暨頒獎盛典
- 2024年大數(shù)據(jù)分析公司與中國政府合作協(xié)議
- 一年級數(shù)學(xué)(上)計算題專項練習(xí)匯編
評論
0/150
提交評論