第 1 頁:選擇題 |
第 3 頁:程序修改題 |
第 4 頁:程序設(shè)計題 |
21[單選題] 現(xiàn)有表示患者和醫(yī)療的關(guān)系如下:P(腳,Pn,Pg,By),其中P#為患者編號,Pn為患者姓名,Pg為性別,By為出生日期,Tr(P#,D#,Date,Rt),其中D#為醫(yī)生編號,Date為就診日期,Rt為診斷結(jié)果。檢索在1號醫(yī)生處就診的病人姓名的表達式是( )。
參考答案:A
參考解析:叮r表示投影運算,針對屬性;盯表示選擇運算,針對元組;
22[單選題] 以下程序段中,與語句:
k=a>b?(b>c?1:0):0;
功能相同的是( )。
A.if((a>b)||(b>c))k=1;else k=0;
B.if((a>b)&&(b>c))k=1;else k=0;
C.if(a<=b)k=0;else if(b<=c)k=1;
D.if(a>b)k=1;else if(b>c)k=1;else k=0;
參考答案:B
參考解析:條件表達式的含義是,如果表達式1成立,結(jié)果為表達式2的值,如果不成立為表達式3的值。所以題于中k的值這樣取值:如果a>b且b>c,k值結(jié)果為1,如果a>b,且bb與b>c中只要有一個條件不成立,k的值就為0,所以選擇B選項。
23[單選題] 在以下給出的表達式中,與while(E)中的(E)不等價的表達式是( )。
A.(E>0||E<0)
B.(E==0)
C.(!E==0)
D.(E!=0)
參考答案:B
參考解析:while語句中條件表達式E的值不為0即為真,認為滿足條件,所以與B選項中表達式的含義正好相反,選擇B選項。
24[單選題] 以下選項中關(guān)于C語言常量的敘述錯誤的是( )。
A.經(jīng)常被使用的變量可以定義成常量
B.常量分為整型常量、實型常量、字符常量和字符串常量
C.常量可分為數(shù)值型常量和非數(shù)值型常量
D.所謂常量,是指在程序運行過程中,其值不能被改變的量
參考答案:A
參考解析:C語言中。常量是指在程序運行過程中其值不能被改變的量,變量是指運行過程中其值可以改變的量,二者不能混淆,所以A選項錯誤。
25[單選題] 若函數(shù)調(diào)用時的實參為變量時,以下關(guān)于函數(shù)形參和實參的敘述中正確的是( )。
A.函數(shù)的形參和實參分別占用不同的存儲單元
B.形參只是形式上的存在,不占用具體存儲單元
C.同名的實參和形參占同一存儲單元
D.函數(shù)的實參和其對應(yīng)的形參共占同一存儲單元
參考答案:A
參考解析:本題重點考察的是函數(shù)的形參和實參。在定義函數(shù)時函數(shù)名后面括弧中的變量名稱為“形式參數(shù)”(簡稱形參),在主調(diào)函數(shù)中調(diào)用一個函數(shù)時,函數(shù)名后面括弧中的參數(shù)(可以是一個表達式)稱為“實際參數(shù)”(簡稱實參)。C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內(nèi)存中,實參單元與形參單元是不同的單元。因此A選項正確。
26[單選題] 下列敘述中正確的是( )。
A.有一個以上根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)
B.只有一個根結(jié)點的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)
C.循環(huán)鏈表是非線性結(jié)構(gòu)
D.雙向鏈表是非線性結(jié)構(gòu)
參考答案:B
參考解析:線性結(jié)構(gòu)應(yīng)滿足:有且只有一個根結(jié)點與每個結(jié)點最多有一個前件,也最多有一個后件,所以B正確。所以有一個以上根結(jié)點的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu),所以A錯誤。循環(huán)鏈表和雙向鏈表都是線性結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)。
27[單選題] 有三個關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接
B.交
C.除
D.并
參考答案:C
參考解析:如果S=T/R,則S稱為T除以R的商。在除運算中s的域由T中那些不出現(xiàn)在R中的域所組成,對于S中的任一有序組,由它與關(guān)系R中每個有序組所構(gòu)成的有序組均出現(xiàn)在關(guān)系T中。所以本題選擇C。
28[單選題] 軟件生存周期中,解決軟件“怎么做”的階段是( )。
A.軟件設(shè)計
B.需求分析
C.軟件測試
D.可行性研究
參考答案:A
參考解析:軟件設(shè)計是軟件工程的重要階段,是一個把軟件需求轉(zhuǎn)換為軟件表示的過程。軟件設(shè)計的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),即解決軟件“怎么做”的問題。故本題答案為A選項。
29[單選題] 下列敘述中正確的是( )。
A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化
C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化
D.以上說法都不正確
參考答案:C
參考解析:棧是先進后出的數(shù)據(jù)結(jié)構(gòu),在整個過程中,棧底指針不變,入棧與出棧操作均由棧頂指針的變化來操作,所以選擇c。
30[單選題] 以下敘述錯誤的是( )。
A.任何能通過編譯和運行的算法都一定能得到所期望的結(jié)果
B.一個算法所包含的操作步驟應(yīng)該是有限的
C.算法中每一條指令必須有確切的含義
D.算法可以用各種描述方法來進行描述
參考答案:A
參考解析:算法的特性包括有窮性、確定性、有效性等。有窮性是指一個算法應(yīng)該包含有限的操作步驟而不能是無限的,故選項B正確;確定性是指算法中每一個步驟應(yīng)當(dāng)是確定的,而不能是含糊的、模棱兩可的,故選項C正確;算法可以使用自然語言、流程圖、偽代碼等多種描述方法來進行描述,故選項D正確;算法的有效性是指算法中每一個步驟應(yīng)當(dāng)能有效地執(zhí)行,并得到確定的結(jié)果,至于結(jié)果是否符合期望,另當(dāng)別論,故A選項錯誤,因此答案選A。
31[單選題] 若要通過位運算使整型變量a中的各位數(shù)字全部清零,以下選項正確的是( )。
A.a=a&0;
B.a=a10;
C.a=a^0;
D.a=!a;
參考答案:A
參考解析:本題考查位運算符和位運算!癐”運算符,l|0=1,0|0=0,所以選項B中a變量的各位數(shù)字保持不變,故B錯誤;“”’運算符,l^0=1,O^0=1,所以選項C中a變量的各位數(shù)字中,1保持不變,0變成1,故C錯誤;“!”運算符,!1=0,! 0=1,所以選項D中a變量的個位數(shù)字中,1變成0,0變成1,故D錯誤;“&”運算符,l&0=0,0&0=0,所以選項A中各位數(shù)字全部清零,故答案為A。
32[單選題] 以下關(guān)于字符串的敘述中正確的是( )。
A.空串比空格打頭的字符串小
B.兩個字符串中的字符個數(shù)相同時才能進行字符串大小的比較
C.可以用關(guān)系運算符對字符串的大小進行比較
D.C語言中有字符串類型的常量和變量
參考答案:A
參考解析:字符串比較大小是以第1個不相同字符的大小為標(biāo)準的,跟長度沒有關(guān)系,B選項不正確;字符串比較大小除了使用庫函數(shù)strcmp()以外,就只能靠自己寫代碼來實現(xiàn)了,而不能通過關(guān)系運算符來比較大小。因為字符串在表達式中相當(dāng)于eonst char*,即常字符指針,代表的是字符串的首地址,關(guān)系運算符會將兩個字符串的首地址值比較大小,這是毫無意義的。C選項不正確。C語言中只有字符串常量而沒有字符串變量,D選項描述不正確;空串的長度為0,而以空格打頭的字符串的長度至少為1,因此A選項是正確的。
33[單選題] 程序調(diào)試的任務(wù)是( ),
A.設(shè)計測試用例
B.驗證程序的正確性
C.發(fā)現(xiàn)程序中的錯誤
D.診斷和改正程序中的錯誤
參考答案:D
參考解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤。
34[單選題] 有以下計算公式
若程序前面已在命令行中包含math.h文件,不能夠正確計算上述公式的程序段是( )。
A.if(x>=0)y=sqrt(x);if(X<0)y=sqrt(-x);
B.if(x>=0).V=sqrt(x);else y:sqrt(-x);
C.y=sqrt(x);if(x<0)y=sqrt(-x);
D.y=sqrt(x>=0? x:-x);
參考答案:C
參考解析:本題重點考查的知識點是:sqrt()函數(shù)。sqrt()函數(shù)的作用是計算平方根,要求輸出的參數(shù)g必須大于等于0。題目公式的要求是無論x大于等于0還是小于0,y的值都為x絕對值的開方。選項c中調(diào)用了sqrt(x)函數(shù),而沒有判斷x的正負,則y=sqrt(x)會出錯。
35[單選題] 假定已建立以下鏈表結(jié)構(gòu),且指針p和q已指向如圖所示的結(jié)點:
則以下選項中可將q所指結(jié)點從鏈表中刪除并釋放該結(jié)點的語句組是( )。
A.p->next=q->next;free(q);
B.p=q->next;free(q);
C.p=q;free(q);
D.(*p)•next=(*q).next;free(p);
參考答案:A
參考解析:本題考查刪除鏈表中的結(jié)點操作,其方法是將要刪除結(jié)點的上個結(jié)點的下個結(jié)點指向要刪除結(jié)點的下個結(jié)點,然后釋放該要刪除結(jié)點,所以選項A正確。
36[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.1
B.11
C.6
D.21
參考答案:D
參考解析:本題考查位運算,以及按位或操作,將a左移一位相當(dāng)于是將a乘以了4,所以a<<2等于20,二進制表示為00010100,與b按位或得到00010101,即21,所以選項D正確。
37[單選題] 若有以下定義和語句:
則輸出結(jié)果是( )。
A.10 7
B.10 5
C.5 5
D.5 8
參考答案:C
參考解析:strlen函數(shù)返回字符串的長度,求字符串1長度時,遇到結(jié)束標(biāo)志‘\0’為止,但是長度不包括結(jié)束標(biāo)識。1字符數(shù)組sl的后5個元素沒有賦值,都為‘\0’,即“abcd!”后1為‘\0’。所以strlen(s1)的值為5。字符指針s2所指向的字1符串中,\n為轉(zhuǎn)義字符換行符,表示1個字符,\\也為轉(zhuǎn)義字1符,代表\,也是l個字符,其后為字符串結(jié)束標(biāo)識‘0’;所以strlen(s2)的值也為5。因此C選項正確。
38[單選題] 有以下程序(注:字符a的ASCII碼值為97):
程序運行后的輸出結(jié)果是( )。
A.abc
B.789
C.7890
D.979899
參考答案:B
參考解析:字符指針s指向字符串“abe”,do...whi1e()循環(huán)中首先將s指向的字符與10進行求余操作,然后打印出余數(shù),再將指針s向后移動一個位置,指向下一個字符;第一次循環(huán),s指向的字符'a的ASCII碼為97,所以與10求余結(jié)果為7,輸出7,同時s向后移動一位,指向字符‘b’,whi1e()判斷條件為true;第二次循環(huán)s指向的字‘b’的ASCII碼為98,與10求余結(jié)果為8,輸出8,同時s向后移動一位,指向字符‘c’whi1e()判斷條件為true;第三次循環(huán)S指向的字符‘c’的ASCII碼為99,與10求余結(jié)果為9,輸出9,同時s向后移動一位,指向空字符‘\0’,空字符的ASCII碼為0,所以whi1e()判斷條件為fa1se,循環(huán)結(jié)束,輸出結(jié)果為789,答案選B。
39[單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.3,4
B.4,1
C.2,3
D.1,2
參考答案:C
參考解析:本題考查結(jié)構(gòu)體數(shù)組的相關(guān)操作,dt為結(jié)構(gòu)體數(shù)組,那么指針p指向了結(jié)構(gòu)體數(shù)組的一個元素,所以p->x為1,p->y為2,結(jié)果為2,3。選項C正確。
40[單選題] 結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)是( )。
A.遞歸、迭代和回溯
B.過程、函數(shù)和子程序
C.順序、選擇和循環(huán)
D.調(diào)用、返回和選擇
參考答案:C
參考解析:僅使用順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)就足以表達出各種其他形式結(jié)構(gòu)的程序設(shè)計方法。故本題答案為C選項。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |