上海市計算機二級考試 C語言 複習題目

2021-09-19 22:27:58 字數 2818 閱讀 5243

上海理工大學

c語言是一種面向過程的程式語言,函式、指標、位址和遞迴概念是它的難點。本複習資料以教學大綱為依據,提供各類題型和練習,重在「基本概念」、「常用演算法」、「閱讀分析程式」、「程式設計技能」等諸方面的強化訓練,按照上海市計算機二級考試(c語言)的框架,提供「基礎知識、讀程式寫結果、改錯、程式設計序和程式指令填空」幾部份,供學生學習參考,文末附習題參考解答。

第一部份:基礎知識

1. 下述迴圈的迴圈次數是()

int k=2;

while(k=0)printf("%d",k);

k--;printf("\n");

a、無限次 b、0次c、1次d、2次

2. 在下列選項中,沒有構成死迴圈的程式段是()

a、int i=100b、for(;;)

while(1)

c、int k=1000d、int s=36;

do while(k>=10000while(s);--s;

3. 若有以下定義和語句,且0<=i<10,則對陣列元素的錯誤引用是()

int a=,*p,i;

p=a;

a、*(a+i) b、a[p-ac、p+id、*(&a[i])

4. 下面能正確將字串"boy"進行完整賦值操作的語句是()

a、char s[3]=,(*p)[4];

p=a;

printf(「%d\n」,*(*(p)+2));

a、1b、5c、3d、7

9. c語言規定:在乙個源程式中,main函式的位置是()

a、必須在最開始b、必須在系統呼叫的函式的後面

c、可以任意d、必須在最後

10. 乙個c程式的執行是從()

a、 本程式的main函式開始,到main函式結束

b、 本程式的第乙個函式開始,到本程式檔案的最後乙個函式結束

c、 本程式的main函式開始,到本程式檔案的最後乙個函式結束

d、 本程式檔案的第乙個函式開始,到本程式main函式結束

11. 下面的四個選項中,均是不合法的使用者識別符號的選項是()

a、ab、floatc、b-ad、_123

p_0la0gototemp

doaintint

12. 下面四個選項中,均是合法轉義字元的選項是()

abc、』\018d、』\\0』

017f101』

『\nxabx1f』

13. sizeof(float)是()

a、乙個雙精度型的表示式b、乙個整型表示式

c、一種函式呼叫d、乙個不合法的表示式

14. 下述迴圈的迴圈次數是()

int k=2;

while(k=0)printf("%d",k);

k--;printf("\n");

a、無限次 b、0次c、1次d、2次

15. 若有以下定義和語句,且0<=i<10,則對陣列元素的錯誤引用是()

int a=,*p,i;

p=a;

a、*(a+i) b、a[p-ac、p+id、*(&a[i])

16. 若二維陣列a有m列,則在a[i][j]前的元素個數為()

a、j*m+ib、i*m+jc、i*m+j-1d、i*m+j+1

17. 對兩個陣列a和b進行如下初始化

char a[ ]=」abcdef」;

char b[ ]=;

則以下敘述正確的是( )

a、a與b 陣列完全相同b、a 與b 長度相同

c、a 和b中都存放字串d、a陣列比b 陣列長度長

18. c語言中有關全域性變數的說法,正確的是()

a、在使用到它的所有檔案中均需定義

b、在函式體外定義一次

c、在main函式中定義

e、 在main函式外定義

19. 若有陣列名作為函式呼叫時的實參,則傳遞給該函式形參的是()

a、陣列的首位址b、陣列的第乙個元素的值

c、陣列中全部元素的值d、陣列元素的個數

20. 下面程式段的輸出結果是()

int a[3]=,(*p)[3];

p=a;

printf(「%d\n」,*(*(p+1)+2));

a、3b、4c、6d、7

21. 不屬於c語言程式基本結構的是( )

a)順序結構 b)選擇結構c)函式結構 d)迴圈結構

22. 若有定義及賦值:

int a[6][6],*p;p=*a;

則下列各式中能表示元素a[0][1]列位址的表示式是

a)&a[0]+1b)a[0]+1 c)*(p+1d)p+1

23. 十進位制數123轉換成十六進製制數是

a) 7ahb) 7bhc) 7chd) 7dh

24. c語言中合法的字元常量是

a) '\058b) 'abc) '\xabd) 」\0」

25. 下列字元中,ascⅱ碼值最小的是

a) ab) ac) 0d) 空格

26. 下面程式輸出結果是

main()

k++;

}while( c<'g' );

printf( "k=%d\n",k );

}a)k=3b)k=4c)k=2d)k=0

27. 設有如下定義:int x=l,y=-1;,則語句:printf("%d\n",(x--&++y));的輸出結果是( )

a)1b)0c)-1d)2

28. c語言規定,函式返回值的型別是由

a) return語句中的表示式型別所決定

b) 呼叫函式時的主調函式型別所決定

c) 呼叫函式時系統臨時決定

計算機二級C語言複習

第一部分 c語言知識複習資料 第一章 c語言基本知識 考點1 c程式 用c語言編寫的程式稱為c語言源程式,源程式檔案的字尾名為 c 源程式經編譯後生成字尾名為 obj 的目標檔案,再把目標檔案與各種庫函式連線起來,生成 exe 可執行檔案。c語言有三種基本結構 順序結構 選擇結構 迴圈結構。考點2 ...

計算機二級考試C語言全

第一章資料結構與演算法 1.1 演算法 1 是指解題方 而完整的描述。換句話說,演算法是對特定問題求解步驟的一種描述。演算法不等於程式,也不等於計算方法。程式的編制不可能優於演算法的設計。2 演算法的基本特徵 1 可行性。針對實際問題而設計的演算法,執行後能夠得到滿意的結果。2 確定性。每一條指令的...

計算機等級考試二級C語言鍊錶複習

一 為什麼用動態記憶體分配 但我們未學習鍊錶的時候,如果要儲存數量比較多的同型別或同結構的資料的時候,總是使用乙個陣列。比如說我們要儲存乙個班級學生的某科分數,總是定義乙個float型 存在0.5分 陣列 floatscore 30 但是,在使用陣列的時候,總有乙個問題困擾著我們 陣列應該有多大?在...