C語言測試練習題庫_第1頁
C語言測試練習題庫_第2頁
C語言測試練習題庫_第3頁
C語言測試練習題庫_第4頁
C語言測試練習題庫_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C 語言習題講解,基本概念題,一個C程序的執(zhí)行是從_。 A)本程序的main函數(shù)開始,到main函數(shù)結(jié)束 B)本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束 C)本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束 D)本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束,基本概念題,C語言規(guī)定:在一個源程序中,main函數(shù)的位置_。 A)必須在最開始 B)必須在系統(tǒng)調(diào)用的庫函數(shù)的后面 C)可以任意 D)必須在最后,基本概念題,以下敘述正確的是_。 A)在C程序中,main函數(shù)必須位于程序的最前面 B)C程序的每行中只能寫一條語句 C)C語言本身沒有輸入輸出語句 D)在對一個C

2、程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤,基本概念題,以下敘述不正確的是_。 A)一個C源程序可由一個或多個函數(shù)組成 B)一個C源程序必須包含一個main函數(shù) C)C程序的基本組成單位是函數(shù) D)在C程序中,注釋說明只能位于一條語句的后面,基本概念題,一個C語言程序是由_. A)一個主程序和若干子程序組成 B)函數(shù)組成 C)若干過程組成 D)若干子程序組成,2以下敘述中,不正確的是【 】。 (A)一條 C 語句可以分寫在多行中 (B)一條 C 語句必須包含一個分號 (C)單獨一個分號不能構(gòu)成一條 C 語句 (D)在 C 程序中,注釋說明可以位于程序的任何位置,解析】C 語句中單獨的一個分號

3、構(gòu)成空語句,故不正確的敘述是選項(C,基本概念題,3下面【 】是合法的 C 語句. (A)#define MY 100 (B)a=25; (C)a=b=100 (D)/* m=100; *,解析】選項(A)是編譯預處理命令,(C)是表達式,(D)是注釋說明,它們均不是 C 語句;只有(B)是合法的 C 語句,基本概念題,5下面敘述中,正確的是【 】。 (A)C 程序中所有標識符都必須小寫 (B)C 程序中關(guān)鍵字必須小寫,其他標識符不區(qū)分大小寫 (C)C 程序中所有標識符都不區(qū)分大小寫 (D)C 程序中關(guān)鍵字必須小寫,其他標識符區(qū)分大小寫,基本概念題,6以下敘述中,【 】是正確的。 (A)可以把

4、 define 和 if 定義為用戶標識符 (B)可以把 define 定義為用戶標識符,但是不能把 if 定義為用戶標識符 (C)可以把 if 定義為用戶標識符,但是不能把 define 定義為用戶標識符 (D)define 和 if 都不能定義為用戶標識符,解析】define 是預處理命令,可以將其定義為用戶標識符。if 是關(guān)鍵字,不能作為用戶標識符使用。故上述敘述中只有選項(B)是正確的,基本概念題,7下面四組字符串中,【 】均是 C 語言的關(guān)鍵字。 (A)double、while、if (B)goto、define、switch (C)for、printf、break (D)inclu

5、de、do、sizeof,解析】define 和 include 是預處理命令,printf 是用于輸出數(shù)據(jù)的系統(tǒng)函數(shù)名,均不是 C 語言的關(guān)鍵字。故只有選項(A)正確,基本概念題,8下面四組字符串中,均可用做用戶標識符的是【 】。 (A)void、define、WORD (B)a3_b3、_123、IF (C)For、_abc、case (D)2a、DO、sizeof,解析】void、case 是關(guān)鍵字,sizeof 是運算符。故上述四組字符串中只有選項(B)均可用做為 C 語言的用戶標識符,基本概念題,9. 若有定義 int a; char b; float c; 則表達式 a*b-c 的

6、類型是【 】。 (A)float (B)int (C)char (D)double,解析】變量 c 是 float 類型,在參加表達式運算時,系統(tǒng)會自動將其轉(zhuǎn)換為 double類型,故表達式運算的結(jié)果也為 double 類型,基本概念題,10設(shè) t 是 double 類型變量,表達式 t=1, t+2, t+的值是【 】。 (A)4.0 (B)3.0 (C)2.0 (D)1.0,解析】這是一個逗號表達式。先計算 t=1,使變量 t 的值為 1.0;再計算 t+2,得到 3.0,此時沒有賦值,故 t 仍然為 1.0;最后計算 t+,得到 1.0,它也是整個逗號表達式的值,基本概念題,11若實型變

7、量 x 和 y 已正確定義并賦值,則下面不合法的表達式是【 】。 (A)+y,x- (B)y=(x%2)/10 (C)y/=x+2 (D)x=y=0,解析】變量 x 和 y 是實型數(shù)據(jù),不允許進行 % 運算,基本概念題,12若變量已正確定義并賦值,下面合法的表達式是【 】。 (A)(int)a=b+7 (B)a=7+b+c, +a (C)int (12.3%4) (D)a=a+2=c+b,解析】選項(A)中(int)a 是一個表達式,得到的結(jié)果是一個整型數(shù)值而不是變量,不能出現(xiàn)在賦值號左邊;(C)中 int 沒有用括號括起,因此是類型標識符,不是類型轉(zhuǎn)換運算符,此外實型數(shù) 12.3 也不能參加

8、%運算;(D)是多重賦值,等價于 a=(a+2=c+b),要先計算 a+2=c+b,而它是一個非法的賦值表達式。只有(B)是合法的逗號表達式,基本概念題,13設(shè) a 是整型變量,下面不能正確表達數(shù)學關(guān)系 1010 (D)w+=-m? 0 : 1,解析】選項(A)是賦值語句;(C)是逗號表達式語句;(D)是條件表達式語句;而(B)是不合法的變量定義語句,基本概念題,16能正確定義整型變量 a 和 b,并為它們賦初值 5 的語句是【 】。 (A)a=b=5; (B)int a,b=5; (C)int a=b=5; (D)int a=5,b=5,解析】選項(A)是賦值語句,不是變量定義;(B)定義變

9、量 a 和 b,但僅對 b 進行初始化;(C)是不合法的變量定義;只有(D)定義了變量 a 和 b,并分別為它們賦初值 5,基本概念題,17以下程序段的輸出結(jié)果是【 】。 int u=020,v=0 x20,w=20; printf(%d,%d,%dn,u,v,w); (A)16,32,20 (B)20,20,20 (C)16,16,20 (D)32,16,20,基本概念題,18以下程序段的輸出結(jié)果是【 】。 char c1=a,c2=c; printf(%d,%cn,c2-c1,c2-a+C); (A)2,M (B)3,E (C)2,E (D)格式控制與輸出項不一致,結(jié)果不確定,基本概念題,

10、19下面程序在運行時,若從鍵盤上輸入 98765432156 ( 表示回車),則程序的輸出結(jié)果是【 】。 main( ) int a; float b,c; scanf(%2d%3f%4f, (A)a=98,b=765,c=4321 (B)a=98,b=765.000000,c=4321.000000 (C)a=98,b=765.0,c=4321.0 (D)a=98,b=765.0,c=4321.56,解析】執(zhí)行 scanf 語句,將輸入數(shù)據(jù)中的 98 賦給變量 a,765 賦給 b,4321 賦給 c,忽略 5 以后的數(shù)字。輸出時,實型變量 b 和 c 的小數(shù)部分自動取 6 位,基本概念題,

11、20設(shè)有定義語句 int x; float y; 當執(zhí)行 scanf(“%3d%f”,語句時,從第一列輸入數(shù)據(jù) 12345678( 表示空格, 表示回車),則 y 的值是【 】。 (A)123.0 (B)678.0 (C)45.678 (D)45.0,解析】執(zhí)行 scanf 語句時,將輸入數(shù)據(jù)的前三位數(shù)字 123 賦給 x,后面到空格前為止的兩位數(shù)字 45 賦給實型變量 y,忽略空格后面的數(shù)字。故 y 的值是 45.0,基本概念題,基本概念題,若x,i,j和k都是int型變量,則執(zhí)行下面表達式后x的值為_。 x=(i=5,j=10,k=20) A)5 B)10 C)20 D)35,基本概念題,

12、假設(shè)所有變量均為整型,則表達式(a=2,b=5,b+,a+b)的值是_。 A)7 B)8 C)6 D)2,基本概念題,數(shù)字字符0的ASCII值為48,若有以下程序 main() char a=1,b=2; printf(“%c,”,b+); printf(“%dn”,b-a); 程序運行后的輸出結(jié)果是 _。 (A)3,2 (B)50,2 (C)2,2 (D)2,50,2005年4月全國計算機等級考試二級筆試題,21下面程序的輸出結(jié)果是【 】。 main( ) double d; float f; long m; int i; i=f=m=d=20/3; printf(%d %ld %.1f %

13、.1fn,i,m,f,d); (A)6 6 6.0 6.0 (B)6 6 6.7 6.0 (C)6 6 6.0 6.7 (D)6 6 6.7 6.7,解析】賦值表達式 i=f=m=d=20/3 等價于 i=(f=(m=(d=20/3)。20/3 的值是 6(注意不是 6.666),賦給 double 類型變量 d 是 6.0,再分別賦給 long 類型變量 m、float 類型變量 f 和 int 類型變量 i,分別是 6、6.0 和 6。在 printf 語句中變量 f 和 d 按 %.1f 格式輸出時,輸出為 6.0,基本概念題,22已知字母 A 的 ASCII 值為十進制數(shù) 65,下面程

14、序的輸出是【 】。 main( ) char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(%d,%cn,ch1,ch2); (A)67,D (B)67,C (C)B,C (D)C,D,解析】程序中表達式 A+5-3 的值是 67(等價于 65+53-51),A+6-3的值是 68,分別賦給 ch1 和 ch2。按 %d 和 %c 格式輸出它們的值時,分別是 67 和大寫字母 D,基本概念題,23語句 printf ( “ %dn”, !9 ) ; 的輸出結(jié)果是【 】。 (A)0 (B)1 (C)9 (D)-9,解析】表達式 !9 等價于 (!(!9)。!9 的值

15、是 0(9 是非 0 值,對其進行邏輯非運算,得到 0),再進行 !0 運算,得到 1,基本概念題,24下列程序的執(zhí)行結(jié)果是【 】。 main( ) int a=100,b; b=a+100?a+100:a+200; printf(%d %d,a,b); (A)101 201 (B)101 301 (C)100 200 (D)100 300,解析】表達式 b=a+100?a+100:a+200 等價于 b=(a+100)? (a+100): (a+200)。先計算條件表達式 a+100,取 a 的值(為 100)與 100 進行比較,為 0,且 a 自增為 101;再計算 a+200,得到整個

16、條件表達式的值 301,賦給 b。故輸出是 101 和 301,基本概念題,基本概念題,在C語言中(以16位PC機為例),5種基本數(shù)據(jù)類型的存儲空間長度的排列順序為_。 A)charint long int=floatdouble B)char=intlong int=floatdouble C)char int long int=float=double D)char=int =long int=floatdouble,4下面關(guān)于 C 源程序的函數(shù)的說法中,【 】是正確的。 (A)函數(shù)體中可以不包含任何語句 (B)函數(shù)體可以使用花括號或圓括號括起來 (C)如果沒有參數(shù),函數(shù)名后面的圓括號可以

17、省略 (D)函數(shù)可以不需要定義函數(shù)名,基本概念題,基本概念題,有以下程序 main() int m=12,n=34; printf(%d%d,m+,+n); printf(%d%dn,n+,+m); 程序運行后的輸出結(jié)果是_。 A)12353514 B)12353513C)12343514D)12343513,2005年4月全國計算機等級考試二級筆試題,基本概念題,有定義語句:int b;char c10;,則正確的輸入語句是_。 A) scanf(%d%s,2005年4月全國計算機等級考試二級筆試題,基本概念題,下面四個選項中,均是不合法的用戶標識符的選項是_。 A) A B)float C

18、)b-a D)一123 P_0 1a0 goto temp do _A int INT,基本概念題,C語言中的標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符 A)必須為字母 B)必須為下劃線 C)必須為字母或下劃線 D)可以是字母,數(shù)字和下劃線中任一種字符,基本概念題,下面正確的字符常量是_。 A)a B) C)W D) 以下選項中,不能作為合法常量的是 _。 (A)1.234e04 (B)1.234e0.4 (C)1.234e+4 (D)1.234e0,基本概念題,若有代數(shù)式3ae/bc,則不正確的C語言表達式是: A) a/b/c*e*3 B)3*a*e/b/c C)3*a*e/

19、b*c D)a*e/c/b*3,基本概念題,已知各變量的類型說明如下: int k,a,b; unsigned long w= 5; double x=1.42; 則以下不符合C語言語法的表達式是_。 A) x%(-3) B) w+=-2 C)k=(a=2,b=3,a+b) D)a+= a-=(b=4)*(a=3,基本概念題,若有定義:int a=7;float x=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值是_。 A) 2500000 B) 2.750000 C) 3.500000 D) 0.000000,x+a%3*(int)(x+y)%2/4,基本概念題,s

20、izeof(float)是_。 A)一個雙精度型表達式 B)一個整型表達式 C)一種函數(shù)調(diào)用 D)一個不合法的表達式 表達式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為: A) int B)float C)double D)不確定,基本概念題,已有如下定義和輸入語句 ,若要求a1,a2,c1,c2值分別為10,20,A和B,當從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是 int a1,a2; char c1,c2; scanf(%d%c%d%c, A)10A 20B B)10 A 20 B C)10A20 D)10A20 B,基本概念題,有以下程序 main() int m,n,p; sca

21、nf(m=%dn=%dp=%d, 若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是_。 A)m=123n=456p=789 B)M=123 N=456 P=789 C)m=123,n=456,p=789 D)123 456 789,基本概念題,下關(guān)于運算符優(yōu)先順序的描述中正確的是_。 A)關(guān)系運算符 算術(shù)運算符 賦值運算符 邏輯與運算符 B)邏輯 運算符 關(guān)系運算符 算術(shù)運算符 賦值運算符 C)賦值運算符 邏輯與運算符 關(guān)系運算符 算術(shù)運算符 D)算術(shù)運算符 關(guān)系運算符 賦值運算符 邏輯與運算符 下列運算符中優(yōu)先級最高的是_。 A) B)+ C)

22、,以下敘述中正確的是_。 A)數(shù)組a和b的長度相同 B)a數(shù)組長度小于b數(shù)組長度 C)a數(shù)組長度大于b數(shù)組長度 D)上述說法都不對,填空類的選擇,已有程序段和輸入數(shù)據(jù)的形式如下,程序中輸入語句的正確形式應當為_。 main() int a;float f; printf(nInput number:); /* 輸入語句*/ printf(nf=%f,a= %dn ,f,a); Input number: 4.5 2 A )scanf(%d,%f,填空類的選擇,閱讀以下程序,當輸入數(shù)據(jù)的形式為25 13 10正確的輸出結(jié)果為_。 main( ) int x,y,z; scanf(%d,%d,%d

23、,。 A) x +y+z=48 B) x +y+z=35 C) x +z=35 D) 不確定值,填空類的選擇,有輸入語句: scanf(“a= %d, b= %d, c=%d”, 為使變量a的值為1,b為3,c為2,從鍵盤輸入數(shù)據(jù)的正確形式應當是_。 A)132(回車) B)1,3,2(回車) C)a=1b=3c=2(回車) D)a=1,b =3,c =2(回車,填空類的選擇,能正確表示“當x 的取值在1,10和200,210范圍內(nèi)為真,否則為假”的表達式是 。 A) (x=1) a=d/100 % 9; b= (-1) A)6,1 B)2,1 C) 6,0 D)2,0,填空類的選擇,有以下程

24、序 main() int i=1,j=2,k=3; if(i+=1 程序運行后的輸出結(jié)果是 _。 (A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 3,填空類的選擇,請閱讀以下程序: main() int a=5,b=0,c=0; if(a=b+c) printf(*n ); else printf($n); 以上程序 : A)有語法錯不能通過編譯 B)可以通過編譯但不能通過連接 C)輸出* D)輸出,下面程序的功能是從鍵盤輸入的一組字符中統(tǒng)計出大寫字母的個數(shù)m和小寫字母的個數(shù)n,并輸出m、n中的較大者,請選擇填空: #indude stdio.h main() int m=

25、0,n=0; char c; while(_ 【1】 _。)!=n) if(c=A 【1】 A) c=putchar() B) getchar() C) c=getchar() D) scanf(%c,c,填空類的選擇,下面程序的運行結(jié)果是: #include main() int y=10; do y-; while(-y); printf(%dn,y-); A)-1 B) 1 C)8 D) 0,填空類的選擇,有以下程序 main() int p8=11,12,13,14,15,16,17,18,i=0,j=0; while(i+7) if(pi%2) j+=pi; printf(“%dn”

26、,j); 程序運行后的輸出結(jié)果是 A)42 B)45 C)56 D)60,填空類的選擇,有以下C程序 main() char a7=“a00a00”; int j; j=strlen(a); printf(“%dn”, j); 程序運行后的輸出結(jié)果是 A)6 B)7 C)2 D)4,填空類的選擇,int f1(int x,int y)return xy?x:y; int f2(int x,int y)return xy?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); g=a+b

27、+c+d-e-f; printf(“%d,%d,%dn”,e,f,g); 以上程序運行后的輸出結(jié)果是 A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7,填空類的選擇,void f(int *x,int *y) int t; t=*x;*x=*y;*y=t; main() int a8=1,2,3,4,5,6,7,8,i=0,*p,*q; p=a;q= 程序運行后的輸出結(jié)果是 A)8,2,3,4,5,6,7,1, B)5,6,7,8,1,2,3,4, C)1,2,3,4,5,6,7,8, D)8,7,6,5,4,3,2,1,填空類的選擇,main() int a33,*p,i; p

28、= 程序運行后的輸出結(jié)果是 A)0 1 2 B)1 2 3 C)2 3 4 D)3 4 5,填空類的選擇,define N 20 fun(int a,int n,int m) int i,j; for(i=m;i=n;i-)ai+1=ai; main() int i,aN=1,2,3,4,5,6,7,8,9,10; fun(a,2,9); for(i=0;i5;i+)printf(%d,ai); 程序運行后的輸出結(jié)果是 A)10234 B)12344 C)12334 D)12234,填空題,. 字符串的結(jié)束標記是 【2】 。 -. 以下程序的輸出結(jié)果是 【3】 main() int a=1,

29、b=2; a=a+b; b=a-b; a=a-b; printf(%d,%dn, a, b );,2,1,C 程序中的注釋說明必須以 【1】 開頭,以 【2】 結(jié)束。 【答案】【1】/* 【2】*/ - 一個 C 程序必定從 函數(shù)開始執(zhí)行。 【答案】主(或 main) - C 語言中的標識符可以分為 、預定義標識符和用戶定義標識符。 【答案】關(guān)鍵字,填空題,C 語言的標識符只能由字母、數(shù)字和 3 種字符組成。 【答案】下劃線 -標識符 double、define、const、short 和 case 中只有 不是關(guān)鍵字。 【答案】define -結(jié)構(gòu)化程序中的三種基本結(jié)構(gòu)是:順序結(jié)構(gòu)、 【1】

30、 結(jié)構(gòu)和 【2】 結(jié)構(gòu)。 【答案】【1】選擇 【2】循環(huán) -系統(tǒng)默認的 C 語言源程序文件的擴展名是 【1】 ,經(jīng)過編譯后生成的目標文件擴展名是 【2】 ,經(jīng)過鏈接后生成的可執(zhí)行文件擴展名是 【3】 。 【答案】【1】c 【2】obj 【3】exe,填空題,在 Turbo C 中,一個 int 型變量在內(nèi)存中所占的字節(jié)數(shù)是 【1】 ,一個 float 型變量在內(nèi)存中所占字節(jié)數(shù)是 【2】 。 【答案】【1】2 【2】4 -在 C 語言中,字符串常量 “Howareyou?nIamfine.” 的長度是 【1】 個字節(jié)(其中表示空格),它在內(nèi)存中存儲時需要占用 【2】 個字節(jié)的存儲空間。 【答案】

31、【1】23 【2】24,填空題,定義字符變量 ch,并使它的初值為數(shù)字字符 5 的變量定義語句是 。 【答案】char ch=5; (或 char ch=53;) -若定義 float x=70.3; 則表達式 (long)x*A+38.5 的值是 類型。 【答案】double -若有定義 int a=3,b=2,c; 則表達式 c=b*=a-1 的值為 。 【答案】4 表達式 9/2*2=9*2/2 的值是 。 【答案】0,填空題,若定義 int a=1,b=2; 執(zhí)行 printf(“%3d%-3d”,a,b); 后的輸出是 (用表示空格)。 【答案】 12 -若定義 float a=1352.97856; 則 printf(“%6.3f%6d”,a,(int)a); 的輸出是 (用表示空格)。 【答案】1352.9791352,填空題,填空題,. 設(shè)有以下程序: main()

溫馨提示

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

評論

0/150

提交評論