第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序改錯題 |
第 5 頁:程序設(shè)計題 |
21軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是( )。
A.編譯程序B.操作系統(tǒng)C.教務(wù)管理系統(tǒng)D.匯編程序
參考答案:C
參考解析:編譯軟件、操作系統(tǒng)、匯編程序都屬于系統(tǒng)軟件,只有c教務(wù)管理系統(tǒng)才是應(yīng)用軟件。
22以下結(jié)構(gòu)體類型說明和變量定義中正確的是( )。
參考答案:B
參考解析:本題考查結(jié)構(gòu)體的相關(guān)知識,選項A中struct REC后面不能有分號,C選項中typedef struct REC的后面也不能有分號,選項D中REC已經(jīng)是結(jié)構(gòu)體變量,不能當做結(jié)構(gòu)體類型來使用。
23按照c語言規(guī)定的用戶標識符命名規(guī)則,不能出現(xiàn)在標識符中的是( )。
A.大寫字母B.下劃線C.數(shù)字字符D.連接符
參考答案:D
參考解析:C語言中標識符由字母、下劃線、數(shù)字組成,且開頭必須是字母或下劃線。所以D選項中的連接符不合法。
24以下不能輸出字符A的語句是( )。(注:字符A的ASCIl碼值為65,字符a的ASCIl碼值為97)
參考答案:B
參考解析:選項輸出的格式為%d,即為整型格式,所以輸出字符A的ASCIl碼值65,而不是字符A。由于大寫字母比與其對應(yīng)的小寫字母的ASCIl碼值小32,所以A正確。字符A的ASCIl碼值就是65,所以以%C格式輸出可以輸出字符A,所以c正確。由于字符A的ASCIl碼值比字符B的小1,所以D正確。
25有以下程序:
程序運行后的輸出結(jié)果是( )。
A.0B.一12C.一20D.10
參考答案:C
參考解析:本題考在宏定義,宏定義只是做簡單的替換,所以本題中SUB(a+b)·c=(a+b)一(a+b)·e=一20,所以答案為C選項。
26以下不合法的字符常量是( )。
A."、、"B.’\”’C.’\018’D.\xcc"
參考答案:C
參考解析:轉(zhuǎn)義字符中,八進制的表示形式為\ddd, 但是八進制中不能包含數(shù)字8,所以C選項不合法。
27若有以下程序段:
程序運行后的輸出結(jié)果是( )。
A.16B.8C.4D.2
參考答案:C
參考解析:本題考查位運算,屬于基礎(chǔ)知識,題目中將整型變量8,二進制表達為00(301000,右移一位為00000100,即4,選項c正確。
28以下選項中關(guān)于程序模塊化的敘述錯誤的是( )。
A.可采用自底向上、逐步細化的設(shè)計方法把若干獨立模塊組裝成所要求的程序
B.把程序分成若干相對獨立、功能單一的模塊,可便于重復(fù)使用這些模塊
C.把程序分成若干相對獨立的模塊,可便于編碼和調(diào)試
D.可采用自頂向下、逐步細化的設(shè)計方法把若干獨立模塊組裝成所要求的程序
參考答案:A
參考解析:程序模塊化思想中,可以采用自頂向下、逐步細化的方法。所以選項A中“自底向上”的說法是錯誤的。
29有以下程序:
若想通過鍵盤輸入,使得al的值為12,a2的值為34,cl的值為字符a,c2的值為字符b,程序運行后的輸出結(jié)果是:l2,a,34,b。則正確的輸入格式是(以下-代表空格,代表回車)( )。
A.12-a34-bB.12-a-34-bC.12,a,34,bD.12a34b
參考答案:D
參考解析:在輸入多個數(shù)據(jù)時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。所以應(yīng)按選項D的順序輸入數(shù)據(jù)。
30有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.x=4B.X=8C.x=6D.x=12
參考答案:B
參考解析:eoulinue的作用是跳出循環(huán)體中剩余的1語句而進行下一次循環(huán)。第一次執(zhí)行外循環(huán)i的值為0,執(zhí)行|x++,x的值變?yōu)閘,第一次執(zhí)行內(nèi)層循環(huán)j的值為0,不滿足if1條件,執(zhí)行x++,x的值變?yōu)?,第二次內(nèi)循環(huán)j的值為1,if條1件成立,跳出本次循環(huán),第三次執(zhí)行內(nèi)循環(huán)j的值為2,不滿足l if條件,x的值變?yōu)?,第四次執(zhí)行內(nèi)循環(huán)j的值為3滿足條件1跳出本次內(nèi)循環(huán),x的值加l,即為4,第一次外循環(huán)結(jié)束。第1二次執(zhí)行外循環(huán)時,同理,i的值被加了,4次,變?yōu)?,所以選擇I,B選項。
31程序中已構(gòu)成如下圖所示的不帶頭結(jié)點的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表結(jié)點,指針變量s總是作為指針指向鏈表的第一個結(jié)點。
若有以下程序段:
該程序段實現(xiàn)的功能是( )。
A.刪除尾結(jié)點B.尾結(jié)點成為首結(jié)點C.刪除首結(jié)點D.首結(jié)點成為尾結(jié)點
參考答案:D
參考解析:本題考查鏈表的操作,本題中首先是s指向了它的下個結(jié)點,題目中說明了s總是指向鏈表的第一個結(jié)點,然后while循環(huán)找到鏈表的最后一個元素,然后最后一個元素指向了之前鏈表的頭結(jié)點,之前頭結(jié)點指向了空結(jié)點,所以本題實現(xiàn)的功能是使首結(jié)點成為尾結(jié)點。選項D正確。
32有以下程序:
程序運行后的輸出結(jié)果是( )。
A.Zhao,m,85,90
B.Qian,m,85,90
C.Zhao,f,95,92
D.Qian,f,95,92
參考答案:D
參考解析:本題考查結(jié)構(gòu)體的相關(guān)操作以及傳值、傳址的區(qū)別,該題中調(diào)用f函數(shù)后,會生成參數(shù)C的一個副本,而不會改變c的值,所以c值維持原值,選項D正確。
33下列關(guān)于棧敘述正確的是( )。
A.棧頂元素最先能被刪除
B.棧頂元素最后才能被刪除
C.棧底元素永遠不能被刪除
D.棧底元素最先被刪除
參考答案:A
參考解析:棧是先進后出的數(shù)據(jù)結(jié)構(gòu),所以棧頂元素最后入棧卻最先被刪除。棧底元素最先入棧卻最旨除。所以選擇A。。
34有以下程序:
程序運行后的輸出結(jié)果是( )。
A.116B.8C.40D.4
參考答案:B
參考解析:本題考查位運算,題目中將4向左移一位然后重新賦值給a,4左移一位為8,程序運行結(jié)果為8,選項B正確。
35下列定義變量的語句中錯誤的是( )。
A.int jnt;B.double int_;C.char For;D.float US$;
參考答案:D
參考解析:C語言規(guī)定,變量命名必須符合標識符的命名規(guī)則。D選項中包含了非法字符“$”,所以錯誤。標識符由字母、數(shù)字或下劃線組成,且第一個字符必須是大小寫英文字母或者下劃線,而不能是數(shù)字。大寫字符與小寫字符被認為是兩個不同的字符,所以For不是關(guān)鍵字for。
36設(shè)有定義:
int a=1,b=2,C=3;
以下語句中執(zhí)行效果與其他三個不同的是( )。
A.if(a>B.C=a,a=b,b=C;
B.if(a>B.{C=a,a=b,b=C;}
C.if(a>B.C=a;a=b;b=c;
D.if(a>B.{C=a;a=b;b=c;}
參考答案:C
參考解析:由于a小于b,所以所有選項中的條件都為假,c選項中實際執(zhí)行了a=b;b=c;兩個操作。而A、B、D選項由于條件不成立,所以什么也沒有做,所以選擇c選項。
37有以下程序(注:字符a的ASCIl碼值為97):
程序運行后的輸出結(jié)果是( )。
A.789B.abeC.7890D.979899
參考答案:A
參考解析:因為小寫字符a,b,c的ASCIl碼值分別為97,98,99,而在do while循環(huán)語句中,每次對字符的ASCII碼值取余數(shù)并輸出,所以分別輸出7,8,9。
38有以下程序:
程序運行后的輸出結(jié)果是( )。
A.-3,-1,1,3,
B.-12,-3,0,0,
C.0,1,2,3,
D.-3,-3,-3,-3,
參考答案:A
參考解析:本題中由fun函數(shù)可知,b[0]=a[0][0]-a[0][3]=1-4=-3,b[1]=a[1][1]-[1][2]=6-7=-1,b[2]=a[2][2]-[2][1]=11-10=1,b[3]=8[3][3]-[3][1]=16-13=3。所以主函數(shù)中打印Y數(shù)組元素的值為A選項。
39以下敘述中錯誤的是( )。
A.C程序在運行過程中所有計算都以二進制方式進行
B.C程序在運行過程中所有計算都以十進制方式進行
C.所有C程序都需要編譯鏈接無誤后才能運行
D.C程序中字符變量存放的是字符的ASCIl碼值
參考答案:B
參考解析:C程序在運行過程中的所有計算都以二進制方式進行,所以B選項錯誤。
40若有定義語句:int a[21[3],* P[3];則以下語句中正確的是( )。
A.p:a;B.p[0]=a;C.p[O]=&a[1][2];D.1a[1]=&a;
參考答案:C
參考解析:A選項錯誤,因為P是指向一個指針數(shù)組,作為數(shù)組名,不能指向別的地方。B選項錯誤,因為P[0]是一個int指針,也就是int-;而a是一個指向指針的指針in‘}}。c選項正確,因為p[O]是一個int},a[1][2]是int,&a[1][2]是int+,類型吻合。D選項錯誤,因為a作為數(shù)組名,不能取地址。即使能取,P[1]是int·,&a是int+t;,類型不對。因此C選項正確。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |