C語言程序設計題庫_第1頁
C語言程序設計題庫_第2頁
C語言程序設計題庫_第3頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、選 擇 題 ( 每 題 1 分共 2 0 分 )語言程序從 main() 函數開始執行,所以這個函數要寫在( D )。A 程序文件的開始 B 程序文件的最后C.它所調用的函數的前面D 程序文件的任何位置2. 下列方法中錯誤的是( D )。A 主函數可以分為兩個部分:主函數說明部分和主函數體。B. 主函數可以調用任何非主函數的其它函數。C. 任何非主函數可以調用其它任何非主函數。D. 程序可以從任何非主函數開始執行。3. 下列正確的標識符是( C)。A-a1BaiC a2_iD int t語言中的簡單數據類型包括(D )。A.整型、實型、邏輯型B整型、實型、邏輯型、字符型C.整型、字符型、邏輯型

2、D整型、實型、字符型5. 下列可以正確表示字符型常量的是(A )。A. t ' B a” C .” n ” D 2976. 在C語言中,字符型數據所占的內存空間是( C )。A. 2個字節 B . 4字節C . 1字節 D .由用戶自定義7. 若 int 類型數據占 2 個字節 ,則 unsigned int 類型數據的取值范圍是( B )。A. 0255 B . 0 65535 C . -32768 32767 D . -256 2558. 若有以下類型說明語句: char a ;int b; float c; double d;則表達式 a*b+d-c 的結果類型為( D )。A

3、float B char C int D double9. 下列正確的預編譯命令是( D )。Adefine PIB #define P(a,b)=strcpy(a,b)C #defineD#define PI10. 為表示邏輯表達式 79<X<90,應使用的C語言表達式是(A )。A( X>79 )&&( X<90 ) B( X>79 )!=( X<90 )C79<X<90D(X>79 )|( X<90 )11. 設有語句 “int a=2,b=3,c=-2,d=2;” , 則邏輯表達式 “a>0&&a

4、mp;b&&c<0&&d>”0 的值是( A )。A1C-1D 出錯12. 字符串 “ABCD在內存占用的字節數是(D )。A. 4B . 6C. 1D. 513. 若有“ int a=1,x=1; ”, 則循環語句“ while(a<10) x+; a+; ”的循環執行( A )。A. 無限次B .不確定次C. 10次D. 9次14. 有以下程序段int k=0while(k)k+;則 while 循環體執行的次數是( C )。A. 無限次B.有語法錯,不能執行C. 一次也不執行D.執行1次15. 已知: int a10; 則對 a 數組元素

5、的正確引用是( D )。A. a10 B . a C . a(5) D . a016. 變量的指針,其含義是指該變量的( B )。A. 值 B. 地址 C. 名 D. 一個標志17. 下列說法中錯誤的是( C )。A. 構成數組的所有元素的數據類型必須是相同的B. 用指針法引用數組元素允許數組元素的下標越界C. 一維數組元素的下標依次是 1、2、3D. 定義數組時的長度可以是整型常量表達式語言規定,簡單變量做實參時,它和對應形參之間的數據傳遞方式為(B )。A. 由系統選擇 B. 單向值傳遞 C. 由用戶指定傳遞方式 D. 地址傳遞19. 在C語言程序中,有關函數的定義正確的是( B )。A.

6、 函數的定義可以嵌套,但函數的調用不可以嵌套B. 函數的定義不可以嵌套,但函數的調用可以嵌套C. 函數的定義和函數的調用均不可以嵌套D. 函數的定義和函數的均可以嵌套20. 若有以下說明語句:struct date int year;int month;int day;birthday;則下面的敘述不正確的是( C )。A. struct 是聲明結構體類型時用的關鍵字B. struct date 是用戶定義的結構體類型名C. birthday 是用戶定義的結構體類型名D. year,day 都是結構體成員名、單項選擇題(每題 1 分,共 20 分)1. 下列說法錯誤的是( B )。A. C 程

7、序運行步驟是編輯、編譯、連接、執行。B. C 語言的變量名必須用小寫,常量用大寫。C. C 語言的三種基本結構是順序、選擇、循環。D. C 程序一定由函數構成的。2. 下列 C 語言用戶標識符中合法的是( B )。A 3ax BxC caseD-e23. 在下列表達式中,屬于字符型常量的是( B )。A A B'a'C "A"Db則表達式 (int)(x+y-z*w) 的結double4. 若有以下類型說明語句: char w;int x;float y;double z; 果為( C )類型。A float BcharC int D5. 在 C 語言程序中

8、,表達式 8/5 的結果是( B )。AB 1C 3 D06. 設a為整型變量,則不能正確表達數學關系10v a< 15的C語言表達式是(A )A10<a<15B)a=11|a=12|a=13|a=14C a>10&&a<15D)!(a<=10)&&!(a>=15)7. 若 int i=10; 執行下列程序后,變量 i 的正確結果是( A )。switch ( i ) case 9: i+=1;case 10: i+=1;case 11: i+=1;default : i+=1; A 13 B 12 C 11 D108.

9、 下列循環語句中有語法錯誤的是(D )。A while(x=y) 5;B while(0);C for(i=0;i<3;);Dfor(;i<3);9. 若有以下數組說明,則數值最大的和最小的元素下標分別是(B )。int a12=1,2,3,4,5,6,7,8,9,10,11,12;A1,12 B 0,11 C 1,11 D 0,1210. 假定 int 類型變量占用兩個字節,其有定義: int x10=0,2,4; ,則數組 x 在內存中所占字節數是( D )。A 3B6C 10D 2011. 以下對C語言函數的有關描述中,正確的是( A )。A.在C語言程序中,調用函數時,如函

10、數參數是簡單變量,則只能把實參的值傳遞給形 參,形參的值不能傳送給實參語言函數既可以嵌套定義又可遞歸調用 語言函數必須有返回值,否則不能使用函數D. 在C語言程序中有調用關系的所有函數必須放在同一個源程序文件中12. 以下敘述中正確的是( A )。A. 構成C程序的基本單位是函數B. 可以在一個函數中定義另一個函數C. main() 函數必須放在其它函數之前D. 所有被調用的函數一定要在調用之前進行定義13. 已知: (設整型 2字節,字符型 1字節,浮點型 4 字節)struct int i ;char c ;float a ;test ;則 sizeof(test) 的值是( D )。14

11、. 若 x 是整型變量, pb 是基類型為整型的指針變量,則正確的賦值表達式是( A )。=&x =x C.*pb=&xD.*pb=*x15. 設有數組定義 : char array ="abcd"則數組 array 所占的空間為( B )。個字節 個字節 個字節個字節16. 下述對C語言中字符數組的描述錯誤的是( C )。A. 字符數組可以存放字符串B. 字符數組中的字符串可以整體輸入和輸出C. 可在賦值語句中通過賦值運算符“=”對字符數組整體賦值D. 可在對字符數組定義時通過賦值運算符“=”對字符數組整體初始化17. 下列命令或語句中,錯誤的是( C )

12、。A.#define PIB.#include <>C.#define PI ;(;) if(1) break;18. 給出以下定義 :char x ="abcdefg"char y ='a','b','c','d','e','f','g' 則正確的敘述為( C )。數組 x 和數組 y 的長度相同D. 數組 x 的長度小于數組 y 的長度D )。A. 數組 x 和數組 y 等價B.C. 數組 x 的長度大于數組 y 的長度19. 判斷兩字符串 s1,

13、s2 是否相等 , 應使用 (s1=s2) (s1=s2)20. 以下 printf 語句的輸出結果為( B )。 printf( “ %dn” ,strlen( “ school ” );C. 存在語法錯誤 D. 不定值一、單項選擇題(每題 1 分,共 20 分)語言程序是由( C )構成的。A) 一些可執行語言 B)main 函數 C) 函數 D) 包含文件中的第一個函數 語言程序從( C )開始執行。A) 程序中第一條可執行語句 ? B) 程序中第一個函數C) 程序中的 main 函數 ? D) 包含文件中的第一個函數3. 不是 C 語言提供的合法關鍵字是(B )。A) switch B

14、) cher C) case D) default4. 請選出可用作 C 語言用戶標識符的一組標識符(B )。A) voidB) a3_b3 C) For D) 2adefine _123 -abc DO WORD sum Case sizeof5. 下列四組字符串中都可以用作C 語言程序中的標識符的是(A )。A) print _3d db8 aBc B) Iam one_half start$it 3paiC) str_1 Cpp pow while D) Pxq My->book line#6. 已定義 c 為字符型變量,則下列語句中正確的是 ( C )。 A )c='97

15、' B) c="97" C)c=a' D )c="a"7. 已知 ch 是字符型變量,不正確的賦值語句是( A )。A) ch='a+b' ; B) ch=' 0 ' ;C) ch=' 7' ; D) ch= ' '8. 在C語言中,認為(D )為邏輯”真"。A) true B)大于 0的數C )非0整數D )非 0的數9. 表示關系 x<=y<=z 的 c 語言表達式為( A )。A) (x<=y)&&(y<=z) B) (

16、x<=y)AND(y<=z)C) (x<=y<=z) D) (x<=y)&(y<=z)10. 能正確表示邏輯關系:“a=10或aw 0 ”的C語言表達式是(D )。A) a>=10 or a<=0 B) a>=0|a<=10C) a>=10 &&a<=0 D) a>=10 II a<=011. 在C語言中,下列說法中正確的是(D )。A) do-while語句構成的循環不能用其它語句構成的循環來代替。B) do-while語句構成的循環只能用 break 語句退出。C) do-while

17、 語句構成的循環在 while 后的表達式非零時結束循環。D) do-while 語句構成的循環 , 在 while 后的表達式為零時結束循環。 語句不能出現在( D )語句中。A) switch B) for C) while D) ifelse13. 對于 break 語句和 continue 語句的說法錯誤的是( B )。A) break 語句不能用于循環語句和 switch 語句之外的任何其他語句中。B) break 和 continue 也可以用于 if 語句中C) continue 語句只結束本次循環,而不是終止整個循環的執行。D) break 語句是結束整個循環過程,不再判斷執行

18、循環的條件是否成立。14. 以下能對一維數組 a 進行初始化的語句是( C )。A) int a5=(0,1,2,3,4,) B) int a(5)=C) int a3=0,1,2 D) int a5=10*115. 在C語言中,函數的數據類型是指(A )oA) 函數返回值的數據類型B)函數形參的數據類型C) 調用該函數時的實參的數據類型 D) 任意指定的數據類型16. 若有以下說明語句:struct student int num;char name ;float score;stu; 則下面的敘述不正確的是( D )。A) struct 是結構體類型的關鍵字B) struct studen

19、t 是用戶定義的結構體類型C) num, score 都是結構體成員名D) stu 是用戶定義的結構體類型名17. 語句 int *p; 說明了( C )。A)p 是指向一維數組的指針B) p 是指向函數的指針 , 該函數返回一 int 型數據C) p 是指向 int 型數據的指針D) p 是函數名 ,該函數返回一指向 int 型數據的指針18. 在 C 語言中,以( D )作為字符串結束標志。A) 'n' B) ' ' C)'0'D) '0 '19. 下列數據中屬于“字符串常量”的是( A )。A) “ a”B) ABC C)a

20、bc0 ' D)a'20. 在C語言程序中,以#號帶頭的行是預編譯處理( A )oA) 命令 B) 語句 C) 函數D)字符串二、判斷題(每題 1 分,共 10 分)1、【V】C語言具有簡潔明了的特點。2、【V】預處理命令的前面必須加一個“ #”號。3、【 V 】標準格式輸入函數 scanf() 可以從鍵盤上接收不同數據類型的數據項。4、【 V 】在 if 語句的三種形式中,如果要想在滿足條件時執行一組 ( 多個) 語句,則 必須把這一組語句用 括起來組成一個復合語句。5、【x】continue 不是結束本次循環,而是終止整個循環的執行。6、【x】在對二維數組全部元素賦初值時,

21、不可以省略行數,但能省略列數。7、【 V 】函數的實參傳遞到形參有兩種方式值傳遞和地址傳遞。8、【 V 】直接訪問就是直接利用變量的地址進行存取直接訪問。9、【 V 】共用體變量可以作結構體的成員,結構體變量也可以作共用體的成員。10、【 x 】文件指針和位置指針都是隨著文件的讀寫操作在不斷改變。1 、【 V 】 case 語句后如沒有 break ,順序向下執行。2、【 V 】 do-while 循環至少要執行一次循環語句。3、【 V 】定義時,數組名后是用方括號括起來的常量表達式,不能用圓括號。4、【 V 】函數形參的存儲單元是動態分配的。5、【 x 】 int (*p)4 它表示 p 是

22、一個指針數組,它包含 4個指針變量元素。6、【 V 】結構體變量可以作數組元素。7、【 x 】隨機操作只適用于文本文件。8、【 x 】表達式語句和表達式沒有什么區別。9、【 V 】條件運算符和 :是一對運算符,不能分開單獨使用。10、【 V 】函數 strcmp 從頭至尾順序地將其對應字符比較,遇到兩個字符不等時,兩 個字符相減得到一個 int 型值,兩個字符串完全相同時,則返回 0。二、判斷題(每題 1 分,共 15 分)1、【 V 】 C 語言標準格式輸入函數 scanf() 的參數表中要使用變量的地址值。2、【 x 】浮點型常量的指數表示中 ,e 是可以省略的。3、【 V 】任何表達式語

23、句都是表達式加分號組成的。4、【 x 】在 switch 語句中,每一個的 case 常量表達式的值可以相同。5、【 x 】 do-while 循環的 while 后的分號可以省略。6、 【V】用字符串方式賦值比用字符逐個賦值要多占一個字節,用于存放字符串結 束標志'0'。7、 【x】C語言函數返回類型的默認定義類型是void。&【V】可以用一個指針變量指向一個函數,然后通過該指針變量調用此函數。9、【V】枚舉類型中的元素都具有一個整型值。10、【V】C語言是一種具有某些低級語言特征的高級語言。三、填空題(每空1分,共20分)1、 一個C源程序中至少應包含一個main函

24、數。2、 a是整型變量,則執行表達式a=25/3%3后a的值為_2_。3、int m=5,y=2; 則表達式 y+=y- =m*=y 的值為-16。4、執行下列語句:int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %dn", a,b ); 的輸出結果分別是。5、 條件表達式的格式為"表達式1表達式2:表達式3”,當表達式1為真時,整個條件 表達式的值為 表達式2 的值。6、 C語言中的數組必須先定義,然后使用。7、 如果需要從被調用函數返回一個函數值,被調用函數必須包含return 語句。8、 已知:float f仁

25、,f2,*pf仁&f1;f2=f1,貝U f2 的值為。9、字符串常量“ 123 ”在內存中的字節數是_4_。10、已有定義:int x=3 ; 則表達式:x=x+ 的值是_4。11、int a=24; printf("%o ", a );輸出結果是 30。12、當 a=3,b=2,c=1 時,表達式 f=a>b>c 的值是 _0。13、 以下語句char str10="Chi na" prin tf("%d",strle n(str)的輸出結果是5_。14、浮點型float變量占4個字節內存,double類型占_

26、8字節內存。15、 已知:int b=5,*p=&b; 并且 b 的地址為 4000,則 “ printf("%d,%d",p,*p);”的輸出結果是 4000,5。16、表達式18 && 53的值是_J。17、設C語言中int類型數據占4個字節,則long類型數據占_4個字節,short類型數據占_2個字節,char類型數據占個字節。18、 設a = 3,則執行+a后,a的值為_4。三、填空題(每空1分,共20分)1、 在C語言程序中,符號常量的定義要使用#define預處理命令。2、 邏輯運算符!是 自右至左結合性。3、 引用C語言標準庫函數,一

27、般要用#inelude預處理命令將其頭文件包含進來。4、 strcat (字符數組名1,字符數組名2)把字符數組2中的字符串連接到字符數組1中字符串的后面,并刪去字符串1后的串標志“ 0 ”。5、 C語言允許函數值類型缺省定義,此時該函數值隱含的類型是Jnt。6、 數組在內存中占用一段連續的存儲空間,它的首地址由數組名 表示7、 若有定義:int a23=2,4,6,8,10,12;則 *(&a00+2*2+1)的值是 12。&在一個C源程序中,單行注釋的分界符為丄。9、 在C語言程序中,轉義字符“n ”的功能是換行。10、當 a=5,b=4,c=2 時,表達式 a>b!

28、=c 的值是 _J。12、在C語言程序中,用關鍵字char定義字符型變量,用double定義雙精度浮點型變量。13若 m是一個三位數,則百位數字為m/100,十位數為 (m%100-m%10)/10 ,個位數為m%10。14、 執行下列語句:float a; int b; a = b =5; printf(“ f” , a);printf(“ %d ,b);輸出結果是和4。15、 若x和n均是int型變量,且x和n的初值均為5,則計算表達式x+=n+后x的值 為10, n的值為_6。1、 若 a=6,b=4,c=2,則表達式!(a-b)+c-1 &&b+c/2的值是 _J_。2

29、、 如果一函數只允許同一程序文件中的函數調用,則應在該函數定義前加上static 修飾。3、 已有定義int x=0,y=0;,則計算表達式(x+=2,y=x+3/2,y+5) 后,表達式的值是_8。4、 對數組兀素的引用方法有下標法和指針法 兩種。5、 要使指針變量與變量之間建立聯系,可以用運算符二來定義一個指針變量6、 設 int a10,*p=a;則對 a3的引用可以是 p3或 *(p+3)。7、當a=3,b=2,c=1 時,表達式f=a>b>c的值是 0。&在C語言程序中,用關鍵字 float定義單精度實型變量。9、 若m是一個三位數,則十位數字為m/10-m/100*10。10、 int a=24; printf("%x ", a );輸出結果是 18。11、 設x, y, z均為int型變量,請寫出描述“x或y中有一個小于z”的表達式x<z|y<z 。12、 運算符% *=、|、=中,優先級最

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論