1[單選題]以下敘述中正確的是
A.如果函數帶有參數,就不能調用自己
B.所有函數均不能接受函數名作為實參傳入
C.函數體中的語句不能出現對自己的調用
D.函數名代表該函數的入口地址
參考答案:B
參考解析:本題考查函數調用相關知識,B選項中函數可以接受函數名作為實參傳人,引用函數名也是指針,C、A選項是錯誤的,因為遞歸函數就能調用自己。
2[單選題] 有以下程序:
程序運行時,輸入的值在哪個范圍才會有輸出結果( )。
A.小于3的整數
B.不等于10的整數
C.大于3或等于10的整數
D.大于3且不等10的整數
參考答案:D
參考解析:根據代碼可知如果x的值小于等于3,執行空語句,不進行打印操作。如果x的值大于3,再判斷x的值是否不等于l0,如果不等于l0就打印X的值,所以選擇D選項。
3[單選題] 設有以下語句:
int a=1,b=2,c;c=a^(b<<2);執行后,c的值為( )。
A.7B.9C.8D.6
參考答案:B
參考解析:b為2,二進制為00000010,執行左移兩位操作后為000011300,然后與a 00000001做異或操作結果為 00001001.即十進制的9。
4[單選題] 以下敘述中正確的是
A.循環發生嵌套時,最多只能兩層
B.三種循環for,while,do-while可以互相嵌套
C.循環嵌套時,如果不進行縮進形式書寫代碼,則會有編譯錯誤
D.for語句的圓括號中的表達式不能都省略掉
參考答案:B
參考解析:
A選項中,循環發生嵌套時,沒有規定層數;C選項中,循環嵌套時,書寫代碼時沒有要求必須縮進;D選項中,for語句的圓括號中的表達式都可以省掉。因此B選項正確。
5[單選題]以下程序依次把從終端輸入的字符存放到f文件中,用#作為結束輸入的標志,則在橫線處應填入的選項是
A.ch,”fname
”B.fp,chB.chC.ch,fp
參考答案:D
參考解析:本題考查fpute函數,該函數將字符ch寫到文件指針fp所指向的文件的當前寫指針的位置。函數格式:int fputc(int n,File}fp),因此答案為D選項。
6[單選題] 有以下程序:
程序運行后的輸出結果是( )。
參考答案:A
參考解析:結構體s中n代表數組的實際長度,a是個定長數組。函數f()對結構體s內的a數組元素使用冒泡法進行遞增排序。因此最終數組的元素是一個遞增序列。故答案為A選項。
7[單選題] 有如下的說明和定義
則以下敘述中正確的是
A.(P++)->a與P++->a都是合語法的表達式,但二者不等價
B.語句++P->a;的效果是使P增1
C.語句++P->a;的效果是使成員a增1
D.語句´P->s++;等價于(*P)->s++;
參考答案:C
參考解析:本題考查結構體變量的引用,++P->a的效果是使成員a增1,P++->a不合法,* P->s++為字符e,與(* P)->s++不等價。
8[單選題] 有以下程序:
執行時輸入:6<回車>,則輸出結果是( )。
A.6B.8C.7D.5
參考答案:C
參考解析:后置自增運算:k++表示先運算,后自如。if(t++<6)p血ff(“%d\n”,t);else prinff(“%d、n”,t);t的初值為6,t++<6,則條件為假,執行prinff(“%d、n”,t一),此時t=7,打印t值為k之后進行自減操作t=6。因此打印的結果為7。故答案為C選項。
9[單選題] 有以下程序
程序運行后的輸出結果是
A.4 6B.4 4C.2 2D.2 4
參考答案:D
參考解析:本題主要考查指針與數組。首先通過P=a使P指向數組的第1個元素,所以輸出2;在輸出2以后,由于P++,即P就指向數組的第2個元素,**k就是取出P所指向元素的值,而P指向的是數組的第2個元素,即輸出4。因此D選項正確。
10[單選題] 在一個C源程序文件中所定義的全局變量,其作用域為( )。
A.由具體定義位置和extem說明來決定范圍
B.所在程序的全部范圍
C.所在函數的全部范圍
D.所在文件的全部范圍
參考答案:A
參考解析:全局變量的作用域是從聲明處到文件的結束。所以選擇A)。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |