《《C語言程序設計》期中考試試卷》由會員分享,可在線閱讀,更多相關《《C語言程序設計》期中考試試卷(5頁珍藏版)》請在人人文庫網上搜索。
1、淮 海 工 學 院10 11 學年 第 2 學期 C語言程序設計 期中考試試卷題號一二三四五總分得分單項選擇題答題表1234567891011121314151617181920一、單項選擇題(共20題,每題1分,共20分,答案填寫在單項選擇題答題表中)1. 以下敘述中正確的是( )。A) C 程序的基本組成單位是語句B) C 程序中的每一行只能寫一條語句C) 簡單C 語句必須以分號結束D) C 語句必須在一行內寫完在2. 一個C程序是由____________。A) 一個主程序和若干個子程序構成B) 一個或多個函數構成C) 若干過程組成D) 若干子程序組成3. 以下選項中正確的定義語句是__。
2、__________。A) double a; b;B) double a=b=7;C) double a=7, b=7;D) double, a, b;4. 計算機能直接執行的程序是( )。A) C源程序B) 目標程序C) 匯編程序D) 可執行程序5. 下列符號可以作為變量名的是____________。A) +aB) *pC) _DAYD) next day6. 設c是字符變量,則以下表達式正確的是____________。A) c=666B) c=cC) c=cD) c=abcd7. 以下說法正確的是____________。A) 輸入項可以為一個實型常量,如scanf(%f, 3.5)。
3、B) 只有格式控制沒有輸入項也能進行正確輸入,如scanf(%d)C) 當輸入一個實型數據時,格式控制部分應規定小數點后的位數,如scanf(%4.2f, &f)D) 當輸入數據時,必須指定變量的地址,如scanf(%f, &f)8. 若a, b, c均定義為整型,要給它們輸入數據,正確的輸入語句是____________。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. 若有if (w) x; else +y; 則其中與w 等價的表達式是__。
4、__________。A) w = l B) w = 0C) w != lD) w != 010. 為了避免嵌套的if-else語句的二義性,C語言規定else總是與____________組成配對關系。A) 縮排位置相同的ifB) 在其之前未配對的ifC) 在其之前最近的未配對的ifD) 同一行上的if11. 選擇出合法的if語句(設int x, a, b, c;)____________。A) if(a = b) x+;B) if (a = b) x+;D) if (a=b) x+;12. 若變量已正確定義為int 型,要通過語句scanf(%d, %d, %d, &a, &b, &c);。
5、給a 賦值1、給b 賦值2、給c 賦值3,以下輸入形式中錯誤的是(凵 代表一個空格符)( )。A) 凵凵凵1,2,3B) 1凵2凵3C) 1, 凵凵凵2, 凵凵凵3D) 1,2,313. C語言中while和do-while循環的主要區別是____________。A) do-while的循環體至少無條件執行一次B) while的循環控制條件比do-while的循環控制條件嚴格C) do-while允許從外部轉到循環體內D) do-while的循環體不能是復合語句14. 以下關于數組的描述正確的是____________。A) 數組的大小是固定的,但可以有不同類型的數組元素B) 數組的大小是可。
6、變的,但所有數組元素的類型必須相同C) 數組的大小是固定的,所有數組元素的類型必須相同D) 數組的大小是可變的,可以有不同類型的數組元素15. 以下關于字符數組的描述中錯誤的是____________A) 字符數組可以存放字符串B) 字符數組中的字符串可以整體輸入和輸出C) 可以在賦值語句中通過賦值運算符=對字符數組整體賦值D) 不可以用關系運算符對字符數組中的字符串進行比較16. 若有定義語句:char s10=123n045670;,則strlen(s)的值是__________。A) 9B) 7C) 3D) 417. 在C語言程序中,下列敘述正確的是____________。A) 函數的。
7、定義可以嵌套,但函數的調用不可以嵌套B) 函數的定義不可以嵌套,但函數的調用可以嵌套C) 函數的定義和調用都可以嵌套D) 函數的定義和調用均不可以嵌套18. 以下敘述中錯誤的是________。A) 用戶定義的函數中可以沒有return 語句B) 用戶定義的函數中可以有多個return 語句,以便可以調用一次返回多個函數值C) 用戶定義的函數中若沒有return 語句,則應當定義函數為void 類型D) 函數的return 語句中可以沒有表達式19. 在聲明一個結構體類型時系統分配給它的存儲空間是____________。A) 該結構體變量中第一個成員所需存儲空間B) 該結構體變量中最后一個成。
8、員所需存儲空間C) 該結構體變量中所有成員所需存儲空間的總和D) 結構體類型本身并不占用存儲空間,即系統并不給結構體類型分配存儲空間20. 已知函數調用f(1, k + 5, g(1,2,3),則函數f定義中的形參個數為_________個。A) 2B) 3C) 4D) 5二、填空題(共15空,每空1分,共15分)1. C編譯器的功能是___*.c - *.obj_________。2. 表達式9 / 5 + 4的值是____5________。表達式3 * (4 + 5)的值是___27_________。3. 判斷整型變量n是否是偶數的邏輯表達式是_n%2=0__________。4. 程。
9、序的三種基本控制結構分別是_順序__、_分支__和_循環_。5. C語言中的循環控制語句有while、dowhile和___for_______語句三種。6. 計算數組的存儲空間可以使用sizeof運算符,計算數組a的存儲空間的表達式是__sizeof(a)__________。計算數組a的元素個數的表達式是____sizeof(a)/sizeof(a0)___。7. 在函數中可以利用__return_語句返回函數計算結果8. 若有定義int a = 1,2,3,4,5,6,則數組a的大小為____6___,引用數組a的最后一個元素的表達式是__a5_________。9. C語言使用關鍵字_。
10、_break___定義立即結束本次循環體的執行。10. 讀取一行文本的字符串處理函數是_gets()/scanf(%s, )_。三、程序分析題(共5題,每題5分,共25分)1. 寫出以下程序的運行結果(假定程序已包含正確的頭文件)。#include main() int x=1,y=0;if(!x) y+;else if(x=0)if (x) y+=2;else y+=3;printf(%dn,y);y=02. 寫出以下程序的運行結果(假定程序已包含正確的頭文件)。main() int n = 1, fact = 1;while (n int fun()static int x=1;x*=2;。
11、return x;main()int i,s=1;for(i=1;ivoid main() int i, n, sum;printf(n = );scanf(%d, _&n___);/* 讀取整數n */sum = __0___________;for(i = 1; i max__) max = bi; /* max #Include int isPrime(int n);int main(void)int n;int i;printf(Input n: );scanf(%d, &n);for(i=n+1; ;i+)if(isPrime(i) printf(%dn, i)break;retur。
12、n 0;int isPrime(int n)int i;for(i=2; Isqrt(n); i+)if (n%i=0)return 0;return 1;2. 編寫一個名為min的函數計算三個整數a,b和c的最小值;然后編寫main函數調用該函數計算大小為5的一維數組的最小值并輸出。(本題12分)int min(int a, int b, int c);int main(void)int a5=;printf(The min one of the array is: %dn, min(min(a0, a1, a2), a3, a4);return 0;int min(int a, int b, int c)if (ab & ac)return a;if(ba & bc)return b;if (ca & cb)return c;int min(int a, int b, int c)if (ab & ac)return a;if(bc)return b;elsereturn c;int min(int a, int b, int c)int m;if (ab)m=a;elsem=b;If(mc)return m;elsereturn c。