一、選擇題
1. 有如下程序:
程序運行后的輸出結果是( )。
答:C
【解析】題目中判斷if 條件是否成立,
后a 自增 得if 條件不成立執行else 函數體,輸出F 。最后執行語句故C 選項正確。 按照格式輸出
2. 有如下程序:
先取值為0, 則為0, 且不計算,而
程序運行后的輸出結果是( )。
A.NAME0
B.NAMEE
C.NAME D.
答:A
【解析】程序執行過程為:調用函數disp ,將字符串“NAME”首地址傳給指針str , 在while 循環中,依次
判斷字符串中字符是否為
時,結束循環,返回字符NAME0。
3. 有以下程序:
程序運行后的輸出結果是( )。
A.3,5
B.7,7
C.5,7
D.3,7
答:D
【解析】函數f ( )的功能是定義一個整型的指針變量s ,指向全局變量k ,然后修改S 指向地址中的值為7,因此f ( )函數只是修改全局變量k 的值為7,與main ( )函數中臨時變量m 無關,因此最后輸出為3,7。
4. 有以下程序:
程序運行后的輸出結果是( )。
A.20045537
B.20044550
C.20042580
不是的則輸出字符,
否則結束循環。當碼0, 并輸出。程序運行后的輸出結果是:
D.20041703
答:D
【解析】把結構體變量作為一個參數傳遞給函數時,傳遞的是實參結構體變量的值,系統給結構體類型的形參開辟相應的內存空間,并把實參中各成員的值賦給對應的形參成員。所以改變形參變量的內容對實參不會有任何影響。因此本題的函數f ( )對結構體s[0]沒做改動,結果還是20041703。
5. 若有定義語句:A. B. C. D.
答:A 且則錯誤的賦值是( )。
【解析】二維數組名是指向指針的指針,故a 和q 都為指向指針的指針,而p 為指向int 類型的指針。A 項,將一個指向int 類型的指針指向一個指針的指針。
6. 有以下程序:
程序運行后的輸出結果是( )。
A.0
B.1
C.2
D.3
答:C
【解析】“++”和“一”運算,當以前綴形式出現時,貝U 先進行加一或減一操作,再取值,當以后綴形式出現時,則先取值,再進行加一或減一操作。a 初始定義為1,b 為0,先執行--a ,結果為0,即if 判斷為假,執行b+=2; ,然后輸出b 的值。即b 為2。
7. 有以下程序