一、選擇題
1下面關于“EOF”的敘述,正確的是
A.EOF的值等于0
B.EOF是在庫函數文件中定義的符號常量
C.文本文件和二進制文件都可以用EOF作為文件結束標志
D.對于文本文件,fgetc函數讀入最后一個字符時,返回值是EOF
參考答案:B
參考解析:在c語言中,或更精確地說成c標準函數庫中表示文件結束符(end of file)。在while循環中以EOF作為文件結束標志,這種以EOF作為文件結束標志的文件,必須是文本文件。在文本文件中,數據都是以字符的ASCII代碼值的形式存放。我們知道,ASCII代碼值的范圍是0~255,不可能出現-1,因此可以用EOF作為文件結束標志。
2有以下程序
若運行時從鍵盤上輸入OPEN THE DOOR<回車>,程序的輸出結果是
A.0PEN THE DOORB.oPEN tHE dOORC.open the doorD.Open The Door
參考答案:C
參考解析:字符串輸入函數gets的功能是從標準輸入設備鍵盤上輸入一個字符串。首先使指針變量P指向字符串的首字母,while循環語句中對字符串的每個字符進行fun函數操作。fun函數的功能是,將字符串中的大寫字母變小寫字母。將處理結果返回主函數,主函數通過putehar()字符輸出函數進行輸出。因此C選項正確。
3為了建立如圖所示的存儲結構(即每個結點含兩個
A.link next;B.struct link*next;C.link*next;D.struet link next;
參考答案:B
參考解析:本題主要考查鏈表中結點的概念,屬于基礎知識,其中指針域應該是指向下個結點,所以答案為B。
4若有以下程序
則程序的輸出結果是
A.10B.11C.13D.15
參考答案:B
參考解析:break語句的作用是終止正在執行的switch流程,跳出switch結構或者強制終止當前循環,從當前執行的循環中跳出。題干中第一次循環n值為0,執行default語句后的s+=4,s的值變為4,執行case1語句后的s+=1,s的值變為5,遇到break語句跳出switch語句,進人第二次循環。第二次循環時n的值為1。執行case1后的s+=1,s的值變為6。遇到break語句跳出switch語句.進入第三次循環。第三次循環時n的值為2,執行case2后的s+=2,s的值變為8,遇到break語句跳出switch語句,進入第四次循環。第四次循環時n的值為3,執行case3后的s+=3,s的值變為11。再判斷循環條件為假,退出循環打印s的值11。
5有以下程序
程序的輸出結果是
A.0B.6C.7D.8
參考答案:B
參考解析:本題主要考查了函數定義及調用,以及while循環語句,執行fun函數后,首先是找到最后一個字符的地址,然后減去第一個地址得到的就是這個字符串的長度,所以本題答案為B。
6有以下程序
程序的輸出結果是
A.9B.14C.10D.15
參考答案:D
參考解析:考查函數的遞歸調用,只需要一步一步遞歸調用fun函數即可,執行fun(5)=5+(4+(3+(2+fun(1))))=15。所以答案為D選項。
7以下敘述中正確的是
A.結構體數組名不能作為實參傳給函數
B.結構體變量的地址不能作為實參傳給函數
C.結構體中可以含有指向本結構體的指針成員
D.即使是同類型的結構體變量,也不能進行整體賦值
參考答案:C
參考解析:本題考查結構體變量作為函數參數,結構體變量的地址可以作為參數傳給函數,結構體數組名就是一個地址,可以傳給函數,如果是同類型的結構體變量,可以整體賦值。
8若有以下程序
則程序的輸出結果是
A.5,3,3,5,5B.3,5,5,3,5C.3,5,3,5,5D.5,3,5,3,5
參考答案:D
參考解析:在主函數中分別給整型變量i、j和指針型變量P,q賦初值,并聲明指針變量r;調用f函數,并將實參變量P和q的值傳遞給形參變量s和t,并且f函數是指針型函數,即函數的返回值將是一個地址。在f函數中,如果條件成立,則將指針變量s和t的值互換,并且將指針S的地址返回主函數。最后輸出i,j,*P,* q,*r的值,即5,3,5,3,5。因此D選項正確。
9以下敘述中正確的是
A.在c語言中,邏輯真值和假值分別對應1和0
B.關系運算符兩邊的運算對象可以是
C語言中任意合法的表達式C.對于浮點變量x和y,表達式:x==y是非法的,會出編譯錯誤
D.分支結構是根據算術表達式的結果來判斷流程走向的
參考答案:B
參考解析:A選項中,在c語言中,邏輯真值對應非0;C選項中,表達式:x==y是合法的;D選項中,分支結構的流程走向是根據表達式的值,并不僅僅是算數表達式的值。因此B選項正確。
10有如下程序
程序運行后的輸出結果是
A.min=0,max=21B.min=1,max=20C.min=1,max=19D.min=0,max=6
參考答案:A
參考解析:本題首先在main函數定義一個數組array,然后定義了一個結構變量rain_max,min_max使用函數get_min_max的返回值初始化,函數get_min_max的功能就是將數組中的最小值和最大值取出來后分別賦值給結構變量min_max中的first,second兩個整形變量,數組長度為6個單位,初始化4個數據,剩下2個默認為0,因此答案為A選項。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |