第 1 頁:選擇題 |
第 5 頁:程序填空題 |
第 6 頁:程序改錯題 |
第 7 頁:程序設計題 |
31有三個關系R、s和T如下:
由關系R和s通過運算得到關系T,則所使用的運算為( )。
A.并B.自然連接C.笛卡爾積D.交
參考答案:D
參考解析:自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉,所以8錯誤。笛卡爾積是用R集合中元素為第一元素,s集合中元素為第二元素構成的有序對,所以c錯誤。根據關系T可以很明顯地看出是從關系R與關系s中取得相同的關系組所以取得是交運算,選擇D。
32以下選項中,能用作用戶標識符的是( )。
A.-0-B.8-;8C.voidD.unsigned
參考答案:A
參考解析:C語言中標識符由字母、下劃線、數字組成,且開頭必須是字母或下劃線。另外,關鍵字不能作為標識符。8中以數字8開頭,所以錯誤。c與D中用的是關鍵字void與unsigned,所以錯誤。
33若有定義語句:int X=10;,則表達式x-=x+x的值為( )。
A.0B.-20C.-10D.10
參考答案:C
參考解析:算術運算符+的優先級高于-=.且-=的結合方向為自右向左,所以表達式x-=x+x可以表示成;=x-(x+x)=10-(10+10)=-10,選擇C。
34有以下計算公式
若程序前面已在命令行中包含math.h文件,不能夠正確計算上述公式的程序段是( )。
參考答案:C
參考解析:本題重點考查的知識點是:s叫()函數。s叫()函數的作用是計算平方根,要求輸出的參數x必須大于等于0。題目公式的要求是無論x大于等于0還是小于0,Y的值都為x絕對值的開方。選項c中調用了sqrt(x)函數,而沒有判斷X的正負,則Y=m-(x)會出錯。
35在c語言中,只有在使用時才占用內存單元的變量,其存儲類型是( )。
A.auto和staticB.extern和registerC.auto和registerD.static和register
參考答案:C
參考解析:auto:函數中的局部變量,動態地分配存儲空間,數據存儲在動態存儲區中,在調用該函數時系統會給它們分配存儲空間,在函數調用結束時就自動釋放這些存儲空問。register:為了提高效率,C語言允許將局部變量的值放在cPU中的寄存器中,這種變量叫“寄存器變量”,只有局部自動變量和形式參數可以作為寄存器變量。extem:#1’部變量(即全局變量)是在函數的外部定義的,它的作用域為從變量定義處開始,到本程序文件的末尾。如果外部變量不在文件的開頭定義,其有效的作用范圍只限于定義處到文件終了。static:靜態局部變量屬于靜態存儲類別,在靜態存儲區內分配存儲單元。在程序整個運行期間都不釋放。
36有以下程序:
程序執行后的輸出結果是( )。
A.55.B.50C.45D.60
參考答案:D
參考解析:內部靜態變量是始終存在的,當函數被調用退出后,內部靜態變量會保存數據,再次調用該函數時,以前調用時的數值仍然保留著。m(a,5)的值是15,再次調用后Ⅲm=15,所以fun(b,4)=45,s=45+15=60。因此D選項正確。
37下列函數的功能是( )。
A.將a所指字符串賦給b所指空間
B.使指針b指向a所指字符串
C.將a所指字符串和b所指字符串進行比較
D.檢查a和b所指字符串中是否有‘、O’
參考答案:A
參考解析:While循環條件為:(_h=}a)f-‘、0’,執行時先把指針a所指向的字符賦給指針b所在內存單元,如果該字符不是結束標識‘\0’,執行循環體a++;b++;,指針a.b分別指向下一個字符單元。再判斷循環條件,如果成立,繼續把指針a所指向的字符賦給指針b所在內存單元,直到遇到結束標識為止。因此A選項正確。
38下面描述中錯誤的是( )。
A.系統總體結構圖支持軟件系統的詳細設計
B.軟件設計是將軟件需求轉換為軟件表示的過程
C.數據結構與數據庫設計是軟件設計的任務之一
D.PAD圖是軟件詳細設計的表示工具
參考答案:A
參考解析:詳細設計的任務是為軟件結構圖中而非總體結構圖中的每一個模塊確定實現算法和局部數據結構,用某種選定的表達工具表示算法和數據結構的細節,所以A錯誤。
39有以下程序:
程序運行后的輸出結果是( )。
A.0B.9C.6D.8
參考答案:C
參考解析:主函數中調用f函數,同時將數值3傳遞給變量x,執行條件不滿足條件if(x==0IlX==1);跳過re—turn(3);,直接執行語句Y=X}X—f(x一2);這里f(x一2)為函數的遞歸調用,再次訶用f函數,此時x=1,判斷條件成立,返回3給f(1),Y=3}3—3=6,最后將6返回主函數,并進行輸出。因此c選項正確。
40有以下程序:
程序運行后的輸出結果是( )。
A.500B.401C.503D.1404
參考答案:C
參考解析:本題重點考察函數的定義和調用,第一次循環,a=0,i=0,返回值a=0*0+1+0=1;第二次循環,a=1,i=10,返回值a=10*10+1+1=102;第三次循環,a=102,i-20,返回值a=20*20+1十102=503;第四次循環,a=503,i=30;不符合i<30,跳出循環,最后結果輸出a=503。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |