0993+C 評議程序設計A 第 1 頁 共 31 頁
C 語言程序設計課程期末復習練習
一、單選題 1.在每個C 語言程序中都必須包含有這樣一個函數,該函數的函數名為( )。A. main 2.每個C 語言程序文件的編譯錯誤分為( )類。B. 2 3. 字符串"a+b=12\n"的長度為( )。B. 7 4. 在switch 語句的每個case 塊中,假定都是以break 語句結束的,則此switch 語句容易被改寫為( )語句。 B. if 5. 在下面的do-while 循環語句中,其循環體語句被執行的次數為( )。 int i=0; do i++; while(i<10); D. 10 6. 將兩個字符串連接起來組成一個字符串時,選用的函數為( )。 C. strcat() 7. 若用數組名作為函數調用的實參,傳遞給形參的是( )。 A. 數組的首地址 8. 假定a 為一個整數類型的數組名,整數類型的長度為4,則元素a[4]的地址比a 數組的首地址大( )個字節。 C. 16 9. 假定s 被定義為指針類型char *的變量,初始指向的字符串為"Hello world!",若要使變量p 指向s 所指向的字符串,則p 應定義為( )。A. char *p=s; 10. 從一個數據文件中讀入以換行符結束的一行字符串的函數為( )B. fgets() 11. 由C 語言目標文件連接而成的可執行文件的缺省擴展名為( ) B. exe 12. 設有兩條語句為“int a=12; a+=a*a;”,則執行結束后,a 的值為( )。C. 156 13. 帶有隨機函數調用的表達式rand()%20的值在( )區間內。C. 0~19 14. for 循環語句“for(i=0; i0 && x<=10)的相反表達式為( )。A. x<=0 || x>10 23. 當處理特定問題時的循環次數已知時,通常采用( )循環來解決。 A. for 24. 假定i 的初值為0,則在循環語句“while(i
3. 當不需要函數返回任何值時,則應使用____void____標識符來定義函數類型。 4.十進制數25表示成符合C 語言規則的十六進制
數為_____0x19___。 5. 假定不允許使用邏輯非操作符,則邏輯表達式a>b || b==5的相反表達式為a<=b && b!=5__。 6. 執行“typedef int DataType;”語句后,在使用int 定義整型變量的地方也可以使用___datatype_______來定義整型變量。 7. 假定一維數組的定義為“char* a[8];”,則該數組所占存儲空間的字節數為_32___。 8. 假定二維數組的定義為“double a[M][N];”,則該數組的列下標的取值范圍在______ 0~N-1___之間 9. 存儲一個空字符串需要占用____1____個字節。 10. strcpy 函數用于把一個字符串___拷貝_____到另一個字符數組空間中。 11. 程序的編譯單位是一個______程序文件___。 12. 假定a 是一個一維數組,則a[i]的指針訪問方式為______ *(a+i)___。 13. 執行int *p=malloc(sizeof(int))操作得到的一個動態分配的整型對象為____*p____。 14.執行“printf("%c",'A'+2);”語句后得到的輸出結果為_____c___。 15.short int 類型的長度為___2。 16. 用類型關鍵字表示十進制常數 3.26f 的類型為__float______。 17. 假定y=10,則表達式++y*3的值為____33__。 18. 邏輯表達式(x==0 && y>5)的相反表達式為 (x !=0 || y<=5) 或:(x || y<=5)___。 19.若x=5,y=10,則x!=y 的邏輯值為__1______。 20. 假定二維數組的定義為“int a[3][5];”,則該數組所占存儲空間的字節數為__60___。 21. 使用“typedef char BB[10][50];”語句定義____BB____為含有10行50列的二維字符數組類型。 22. 字符串"a:\\xxk\\數據"的長度為______11__。 23.假定p 所指對象的值為25,p+1所指對象的值為46,則*++p 的值為____46____。