《C程序設計語言》模擬試卷1.doc
《《C程序設計語言》模擬試卷1.doc》由會員分享,可在線閱讀,更多相關《《C程序設計語言》模擬試卷1.doc(9頁珍藏版)》請在裝配圖網上搜索。
一、單項選擇題 1. 以下并非C語言的特點的是___B______。 A. C語言簡潔緊湊 B. 能夠編寫出功能復雜的程序 C. C語言可以直接對硬件進行操作 D. C語言移植性好 2. 在C程序中,main()的位置_____C_______。 A. 必須作為第一個函數 B. 必須作為最后一個函數 C. 可以任意 D. 必須放在它所調用的函數之后 3. 一個C程序是由_____B_______。 A. 一個主程序和若干個子程序構成 B. 一個或多個函數構成 C. 若干過程組成 D. 若干子程序組成 4. 以下字符串為標識符的是____a________。 A. _MY B. 2_2222 C. short D. LINE 5 5. 下列符號可以作為變量名的是___c_________。 A. +a B. *p C. _DAY D. next day 6. 設c是字符變量,則以下表達式正確的是_______b_____。 A. c=666 B. c=c C. c="c" D. c="abcd" 7. 以下說法正確的是____d________。 A. 輸入項可以為一個實型常量,如scanf("%f", 3.5) B. 只有格式控制沒有輸入項也能進行正確輸入,如scanf("%d") C. 當輸入一個實型數據時,格式控制部分應規(guī)定小數點后的位數,如scanf(%4.2f", &f) D. 當輸入數據時,必須指定變量的地址,如scanf("%f", &f) 8. 若a, b, c均定義為整型,要給它們輸入數據,正確的輸入語句是_____d_______。 A. read(a, b, c); B. scanf("%d%d%d", a, b, c); C. scanf("%D%D%D", a, b, c); D. scanf(%d%d%d", &a, &b, &c); 9. 若a是float變量,b是unsigned型變量,以下輸入語句中合法的是______C______。 A. scanf("%6.2f%d", &a, &b); B. scanf("%f%n", &a, &b); C. scanf("%f%3o", &a, &b); D. scanf("%f%f", &a, &b); 10. if后面的表達式之值_______A____。 A. 只能是0或1 B. 只能是正整數或負整數 C. 只能是整數或字符型數據 D. 可以是任何類型的數據 11. 為了避免嵌套的if-else語句的二義性,C語言規(guī)定else總是與_____c_______組成配對關系。 A. 縮排位置相同的if B. 在其之前未配對的if C. 在其直接最近的未配對的if D. 同一行上的if 12. 選擇出合法的if語句(設int x, a, b, c;)_____A_____。 A. if(a = b0 x++; B. if (a =< b) x++; C. if(a <> b) x++; D. if (a=>b) x++; 13. 語句while(!e); 中的條件!e等價于_____a_______。 A. e == 0 B. e!=1 C. e!=0 D. ~e 14. C語言中while和do-while循環(huán)的主要區(qū)別是_______a_____。 A. do-while的循環(huán)體至少無條件執(zhí)行一次 B. while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴格 C. do-while允許從外部轉到循環(huán)體內 D. do-while的循環(huán)體不能是復合語句 15. 以下程序段_____c_______。 int x = -1; do { x = x * x} while (x != 0); A. 是死循環(huán) B. 循環(huán)執(zhí)行二次 C. 循環(huán)執(zhí)行一次 D. 有語法錯誤 16. 以下關于數組的描述正確的是______c______。 A. 數組的大小是固定的,但可以有不同類型的數組元素 B. 數組的大小是可變的,但所有數組元素的類型必須相同 C. 數組的大小是固定的,所有數組元素的類型必須相同 D. 數組的大小是可變的,可以有不同類型的數組元素 17. 以下關于字符數組的描述中錯誤的是_____C_______ A. 字符數組可以存放字符串 B. 字符數組中的字符串可以整體輸入和輸出 C. 可以在賦值語句中通過賦值運算符"="對字符數組整體賦值 D. 不可以用關系運算符對字符數組中的字符串進行比較 18. 以下合法的數組定義是____d______。 A. int a[] = "string"; B. int a[5] = {0, 1, 2, 3, 4, 5}; C. char a = "string"; D. char a[] = {0, 1, 2, 3, 4, 5}; 19. 在C語言程序中,下列敘述正確的是_____b_______。 A. 函數的定義可以嵌套,但函數的調用不可以嵌套 B. 函數的定義不可以嵌套,但函數的調用可以嵌套 C. 函數的定義和調用都可以嵌套 D. 函數的定義和調用均不可以嵌套 20. 在C語言程序中,簡單變量做實參時,它和對應形參之間的數據傳遞方式是______b______。 A. 地址傳遞 B. 單向值傳遞 C. 由用戶指定參數傳遞方式 D. 由實參傳給形參,再由形參傳遞給實參 21. 在一個源文件中定義的外部變量的作用域為______D_____。 A. 本文件的全部范圍 B. 本程序的全部范圍 C. 本函數的全部范圍 D. 從定義該變量的位置開始至文件結束 22. 已知變量a已定義為int型變量,以下定義并初始化指針變量p的語句中正確的是____D_______。 A. int *p = a; B. int *p = *a; C. int p = &a; D. int *p = &a; 23. C語言中規(guī)定函數的返回值的類型是由______D______。 A. return語句中的表達式類型所決定 B. 調用該函數是的主調用函數所決定 C. 調用該函數時系統(tǒng)臨時決定 D. 在定義該函數時所指定的函數類型所決定 24. 在C語言程序中,下列敘述正確的是_____a_B______。 A. 實參可以是常量、變量或表達式 B. 實參可以是任意類型 C. 形參可以是常量、實參或表達式 D. 形參與隊友的實參類型要求可以不一致 25. 在定義一個結構體變量時系統(tǒng)分配給它的存儲空間是_____d_______。 A. 該結構體變量中第一個成員所需存儲空間 B. 該結構體變量中最后一個成員所需存儲空間 C. 該結構體變量中占用最大存儲空間的成員所需存儲空間 D. 該結構體變量中所有成員所需存儲空間的總和 26. 以下關于typedef的敘述不正確的是______D______。 A. 用typedef可以定義各種類型名,但不能用來定義變量 B. 用typedef可以增加新類型 C. 用typedef只是將已存在的類型用一個新的名字來代表 D. 使用typedef便于程序的調用 27. 在聲明一個結構體類型時系統(tǒng)分配給它的存儲空間是_____D___。 A. 該結構體變量中第一個成員所需存儲空間 B. 該結構體變量中最后一個成員所需存儲空間 C. 該結構體變量中所有成員所需存儲空間的總和 D. 結構體類型本身并不占用存儲空間,即系統(tǒng)并不給結構體類型分配存儲空間 28. fopen()函數的打開文件模式"r"和"w"的差別是_____B_______。 A. "r"可向文件寫,"w"不可向文件寫 B. "r"不可向文件寫,"w"可向文件寫 C. "r"不可由文件讀, "w"可由文件讀 D. 文件不存在時,"r"建立新文件,"w"出錯 29. 以下正確的定義語句是______d______。 A. int A[a]; B. int A[3, 4]; C. int a[][3]; D. int a[10]; 30. 在定義int a[3][6];后,第10個元素是_____。 A. a[2][4] B. a[1][3] C. a[3][1] D. a[4][2] 二、填空題 1. 任何C語句必須以____分號________結束。 2. C編譯程序的功能是_____將C源程序編譯成目標代碼(這樣就可以糊弄老師了!下面是編譯的全部過程!如有錯誤,還請雅正!呵呵! 編譯程序讀取源程序(字符流),對之進行詞法和語法的分析,將高級語言指令轉換為功能等效的匯編代碼,再由匯編程序轉換為機器語言,并且按照操作系統(tǒng)對可執(zhí)行文件格式的要求鏈接生成可執(zhí)行程序。)________。 3. 表達式語句與表達式的不同是____語句必須以分號結尾,而表達式結尾沒有分號;語句可以出現函數體中數據定義或聲明語句之后任何位置,而表達式只能出現在語句中規(guī)定的位置或表達式中(嵌套出現)。________。 4. 在C語言中可以利用___強制類型轉換____將一個表達式的值轉換成指定的類型 5. 表達式3 * 4 + 5的值是_17__________。 6. 表達式3 / 4 + 5的值是_____5______。 7. 判斷整型變量n是否是偶數的邏輯表達式是_____n%2==0_______。 8. 程序的三種基本控制結構分別是_____順序結構_______、_______循環(huán)結構_____和_____選擇結構_______。 9. _____break;_______語句強行結束循環(huán),轉向循環(huán)語句下面的語句。_____continue;_______語句結束本次循環(huán)體的執(zhí)行。 10. 常用的一維數組排序方法有冒泡排序、直接插入排序和_____希爾排序_____。 11. C語言通過函數實現模塊化程序設計。函數分為_____主函數_______和______子函數______。 12. 在函數中可以利用__return___語句返回函數計算結果 13. 訪問結構體變量s的成員x,應使用表達式__s.x___,使用結構體指針變量ps訪問成員y,應使用表達式___ps->y_或(*p).sy____。 14. C語言使用關鍵字__ ____定義結構體類型。 15. 計算字符串長度的庫函數是__length()____。 三、程序分析題 1. 寫出以下程序的運行結果(假定程序已包含正確的頭文件)。 main() { int n = 10; n++; n += 5; printf("%d\n", n); } 16 2. 寫出以下程序的運行結果(假定程序已包含正確的頭文件)。 main() { int a = 3, b = 5; if (a > b) printf("a大于b\n") else printf("a不大于b\n"); } a不大于b\n 3. 寫出以下程序的運行結果(假定程序已包含正確的頭文件)。 main() { int n = 1, sum = 0; while (n < 5) { sum = sum + n; n++; } printf("%d\n", sum); } 10 4. 寫出以下程序的運行結果(假定程序已包含正確的頭文件)。 main() { int a[] = {0, 1, 2, 3, 4, 5}; printf("%d\n", a[4] + a[1]); } 5. 寫出以下程序的運行結果(假定程序已包含正確的頭文件)。 main() { int a = 3; *pa = &a; *pa = 10; printf("%d\n", a); } 10 6. 寫出以下程序的運行結果(假定程序已包含正確的頭文件)。 int fun(int n) { int m; m = 2 * n; return m; } main() { int k = 50, s; s = fun(k); printf("%d\n", s); } 100 四、程序設計題 1. 編寫一個交換兩個int型數據的函數swap,在main函數中從標準輸入讀取兩個整數到兩個整型變量中,輸出調用swap函數之前和之后的結果。 #include- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- C程序設計語言 程序設計語言 模擬 試卷
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.820124.com/p-9552656.html