【正文】
1 本科 《 C 語言程序設計 A》 復習資料 小抄 一、單選題 1.在每個 C 語言程序中都必須包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為 (A)。 A. main B. MAIN C. name D. function 2.每個 C 語言程序文件的編譯錯誤分為( B)類。 A. 1 B. 2 C. 3 D. 4 3. 字符串 a+b=12\n的長度為( B)。 A. 6 B. 7 C. 8 D. 9 4. 在 switch語句的每個 case 塊中,假定都是以 break語句結束的,則此 switch語句容易被改寫為( D)語句。 A. for B. while C. do D. if 5. 在下面的 dowhile 循環(huán)語句中,其循環(huán)體語句被執(zhí)行的次數(shù)為( C)。 int i=0。 do i++。 while(i10)。 A. 8 B. 9 C. 10 D. 11 6. 將兩個字符串連接起來組成一個字符串時,選用的字符串函數(shù)為( C)。 A. strlen() B. strcpy() C. strcat() D. strcmp() 7. 若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是( A)。 A. 數(shù)組的首地址 B. 數(shù)組中第一個元素的值 C. 數(shù)組中全部元素的值 D. 數(shù)組元素的個數(shù) 8. 假定 a 為一個整數(shù)類型的數(shù)組名,整數(shù)類 型的長度為 4,則元素 a[4]的地址比 a 數(shù)組的首地址大 (C)個字節(jié)。 A. 4 B. 8 C. 16 D. 32 9. 假定 s 被定義為指針類型 char *的變量,初始指向的字符串為Hello world!,若要使變量 p指向 s 所指向的字符串,則 p應定義為( A)。 A. char *p=s。 B. char *p=amp。s。 C. char *p。p=*s。 D. char *p。 p=amp。s。 10. 從一個數(shù)據(jù)文件中讀入以換行符結束的一行字符串的函數(shù)為( B)。 A. gets() B. fgets() C. getc() D. fgetc() 11.程序運行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間默認使用 (D)符號作為分隔符。 A.空格或逗號 B.逗號或回車 C.逗號或分號 D.空格或回車 12.邏輯表達式 (x0 amp。amp。 x=10)的相反表達式為( A)。 A. x=0 || x10 B. x=0 amp。amp。 x10 C. x=0 || x=10 D. x0 amp。amp。 x10 13.當處理特定問題時的循環(huán)次數(shù)已知時,通常采用( A)循環(huán)來解決。 A. for B. while C. dowhile D. switch 14.假定 i的初值為 0,則在循環(huán)語句 “while(in) {s+=i*i。 i++。}”中循環(huán)體被執(zhí)行的總次數(shù)為( B)。 A. n1 B. n C. n+1 D. n/2 15.假定一個二維數(shù)組的定義語句為 “int a[3][4]={{3,4},{2,8,6}}?!?,則元素 a[1][2]的值為( C)。 A. 2 B. 4 C. 6 D. 8 16.在下列選項中,不正確的函數(shù)原型格式為( C)。 A. int Function(int a)。 Function (char)。 C. int Function(a)。 int(double* a)。 17.假定 p是一個指向 float型數(shù)據(jù)的指針,則 p+1所指數(shù)據(jù)的地址比 p所指數(shù)據(jù)的地址大 (C)個字節(jié)。 A. 1 B. 2 C. 4 D. 8 18.假定有定義為 “int m=7, *p?!?,則給 p賦值的正確表達式為( B)。 A. p=m B. p=amp。m C. *p=amp。m D. p=*m 19.假定指針變量 p定義為 “int *p=malloc(sizeof(int))?!?,要釋放p所指向的動態(tài)存儲空間,應調(diào)用的函數(shù)為( A)。 A. free(p) B. delete(p) C. free(*p) D. free(amp。p) 20. C 語言中的系統(tǒng)函數(shù) fopen()是( D)一個數(shù)據(jù)文件的函數(shù)。 A.讀取 B.寫入 C.關閉 D.打開 21. C 語言源程序文件的缺省擴展名為 (D)。 A. cpp B. exe C. obj D. C 22.設 x和 y均為邏輯值,則 x amp。amp。 y為真的條件是 (A)。 A. 它們均為真 B. 其中一個為真 C. 它們均為假 D. 其中一個為假 23. 在下列的符號常量定義中,正確的定義格式為( C)。 A. define M1 B. const int M2 20 C. define M3 10 D. const char mark 24. for 循環(huán)語句能夠被改寫為( D)語句。 A. 復合 B. if C. switch D. while 25. 在下面的一維數(shù)組定義中,錯誤的定義格式為( C)。 A. int a[]={1, 2, 3} B. int a[10]={0} C. int a[] D. int a[5] 26.下面的函數(shù)原型聲明中存在語法錯誤的是( C)。 A. AA(int a, int b) B. AA(int, int) C. AA(int a。 int b。) D. AA(int a, int) 27. 假定 a 為一個數(shù)組名,則下面存在錯誤的表達式為的( B)。 A. a[i] B. *a++ C. *a D. *(a+1) 28. 假定有定義為 “int a[10], x, *pa=a?!?,若要把數(shù)組 a 中下標為 3的元素值賦給 x,則不正確的賦值為 ( D)。 A. x=pa[3] B. x=*(a+3) C. x=a[3] D. x=*pa+3 29. char 類型的長度為 (A)個字節(jié)。 A. 1 B. 2 C. 3 D. 4 30. 向一個二進制文件中寫入信息的函數(shù)為( D)。 A. fgets() B. fputs() C. fread() D. fwrite() 31. 由 C 語言目標文件連接而成的可執(zhí)行文件的缺省擴展名為 (B)。 A. cpp B. exe C. obj D. c 32. 設有兩條語句為 “int a=12。 a+=a*a。”, 則執(zhí)行結束后 , a 的值為 (C)。 A. 12 B. 144 C. 156 D. 288 33. 帶有隨機函數(shù)調(diào)用的表達式 rand()%20的值在 (C)區(qū)間內(nèi)。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 34. for循環(huán)語句 “for(i=0。 in。 i+=2) S?!敝醒h(huán)體 S語句被執(zhí)行的次數(shù)為( A)。 2 A. (n+1)/2 B. n/2+1 C. n/21 D. n1 35. 在下列的字符數(shù)組定義中,存在語法錯誤的是( D)。 A. char a[20]=abcdefg。 B. char a[]=x+y=55.。 C. char a[15]={39。139。,39。239。}。 D. char a[10]=39。539。 36. 若有一個函數(shù)原型為 “double *function()”,則它的返回值類型為( B)。 A. 實數(shù)型 B. 實數(shù)指針型 C. 函數(shù)指針型 D. 數(shù)組型 37. 在 C 語言中,所有預處理命令都是以 (B)符號開頭的。( B) A. * B. C. amp。 D. @ 38. 假定整數(shù)指針 p所指數(shù)據(jù)單元的值為 30, p+1所指數(shù)據(jù)單元的值為 40,則執(zhí)行 *p++后, p所指數(shù)據(jù)單元的值為( A)。 A. 40 B. 30 C. 70 D. 10 39. 若 要使 p指向二維整型數(shù)組 a[10][20],則 p的類型為( D)。 A. int * B. int ** C. int *[20] D. int(*)[20] 40. 表示文件結束符的符號常量為( C) A. eof B. Eof C. EOF D. feof 41. C 語言程序中的基本功能模塊為 (D)。 (x0||y==5)的相反表達式為 (B)。 =O||y!=5 =Oamp。amp。y!=5 O||y!=5 Oamp。amp。y==5 (C)。 n的值為 5,則表達式 n++的值為 (B)。 int a[3][4]={{3,4}, {2, 8, 6}}號 ,則元素 a[2][O]值為 (A)。 char *func(int n),則該函數(shù)的返回類型為(D)。 A. int B. int* * a 為一個字符數(shù)組名,則元素 a[i]的指針訪問方式為 (B)。 +i B.*(a+i) C.amp。a+i D.*a+i int *p=calloc(10+20, sizeof(int)),則 p所指向的動態(tài)數(shù)組中所包含的元素個數(shù)為 (C)。 50 表示成符合 C 語言規(guī)定的八進制數(shù)為 (D)。 A. 20 ,當文件不存在時返回打開失敗信息,則選用的打開方式字符串為 (C)。 A.r+ B.ab+ C. rh+ D.wb+ 二、填空題 C 語言程序文件中,若要包含另外一個頭文件或程序文件,則應使用的預處理命令為 (include ) (scanf) enum RA{ab, ac, ad, ae}。,則 ac的值為 (1) 4. double 類型的長度為 (8) int x=45, y=13。 printf(%d, x/y)。語句序列后得到的輸出結果為 (3) x=x+y轉換成復合賦值表達式為 (x+=y) x的值為 5,則執(zhí)行 a=((!x)?10:20)。語句后 a 的值為 (20) char* a[8]。,則該數(shù)組占用的存儲空間的字節(jié)數(shù)為 (32) 定二維數(shù)組的定義為 double a[M][N]。則數(shù)組元素的行下標取值范圍在 (0~M1)之間 (0) ,若沒有被初始化則系統(tǒng)隱含對它所賦的初值為 (0) p指向 x,則 (*p)與 x的表示是等價的。 13. 直接訪問表達式 (*fp).score 所對應的間接訪問表達式為(fpscore) 14.一個函數(shù)定義由 函數(shù)頭 _和函數(shù)體兩部分組成。 15. 執(zhí)行 “printf(%c,39。F39。2)?!闭Z句后得到的輸出結果為 D