C語言試題庫帶答案解析排_第1頁
C語言試題庫帶答案解析排_第2頁
C語言試題庫帶答案解析排_第3頁
C語言試題庫帶答案解析排_第4頁
C語言試題庫帶答案解析排_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、一、選擇題1、以下不能定義為用戶標識符的是( )。 (A) MAIN (B) _HJ (C) 2ong (D) LINE12、以下不能定義為用戶標識符的是( ) (A) If (B) H_J (C) 208ong (D) LINE123、下面屬于C語言標識符的是( )。(A) 2ab (B) f (C) ?b (D) _a124、下列符號中用來表示C語言中的回車換行的是( )。 (A) r (B) n (C) b (D) t5、在計算機系統(tǒng)中,可執(zhí)行程序是( )(A) 源代碼 (B)匯編語言代碼(C) 機器語言代碼 (D) ASCII碼6、在Visual C+ 6.0環(huán)境下,C源程序文件名的默

2、認后綴是( )。(A) .obj (B) .txt (C) .c (D) .doc7、Microsoft Visual C+ 6.0 中,C語言可執(zhí)行程序的擴展名是:( )(A) exe (B) obj (C) c或cpp (D) txt8、C程序由( )組成。 (A)子程序 (B) 主程序和子程序 (C) 函數(shù) (D) 過程9、C程序的基本組成單位( )。 (A) 數(shù)據(jù)類型 (B) 變量和常量 (C) 函數(shù) (D) 表達式10、C語言中主函數(shù)的個數(shù)是( )。(A) 2個 (B) 1個 (C) 任意個 (D) 10個11、一個C程序的執(zhí)行是從( )(A)本程序的main()函數(shù)開始,到main

3、函數(shù)結(jié)束.(B)本程序文件的第一個函數(shù)開始,到本程序文件最后一個函數(shù)結(jié)束.(C)本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束.(D)本程序的main()函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束.12、以下敘述正確的是(A)在C語言程序中,main函數(shù)必須放在其他函數(shù)的最前面(B)在每個后綴為.C的C語言源程序都可以單獨進行編譯(C)在C語言程序中,只有main函數(shù)才可單獨進行編譯(D)每個后綴為.C的C語言源程序都應(yīng)該包含一個main函數(shù)13、設(shè)變量a是整型,b是實型,c是雙精度型,則表達式2+a+b*c值的數(shù)據(jù)類型是( )。 (A) int (B) float (C) double

4、14、以下選項中表示一個合法的常量是(說明:符號表示空格)A) 999 B)0Xab C)123E0.2 D)2.7e15、以下選項中非法的字符常量是A)'102' B)'65' C)'xff' D)'019'16、以下選項中,能表示邏輯值“假”的是A)1 B)0.000001 C)0 D)100.017、下列關(guān)系表達式中,結(jié)果為“假”的是A)(3+4)>6 B)(3!=4)>2 C) 3<=4|3 D)(3<4)=118、關(guān)于C語言變量,以下說法不正確的是( )(A) 變量名由程序員定義,必須符合標識符的

5、命名規(guī)則。(B) 變量是程序運行過程中其值可以改變的量。(C) 可以用C語言的關(guān)鍵字作為變量名。(D) 變量命名時應(yīng)盡量做到見名知意。19、關(guān)于C語言中數(shù)的表示,以下敘述正確的是A)只有整型數(shù)在允許范圍內(nèi)能精確無誤的表示,實型數(shù)會有誤差B)只要在在允許范圍內(nèi)整型和實型都能精確表示C)只有實型數(shù)在允許范圍內(nèi)能精確無誤的表示,整型數(shù)會有誤差D)只有八進制表示的數(shù)在不會有誤差20、設(shè)有語句int a=3;,則執(zhí)行了語句a+=a-=a*a;后,變量a的值是 。A3 B0 C9 D-1221、在C語言中,要求運算數(shù)必須是整型的運算符是 。A% B/ C< D!22、C語言中最簡單的數(shù)據(jù)類型包括 。

6、A整型、實型、邏輯型 B整型、實型、字符型C整型、字符型、邏輯型 D整型、實型、邏輯型、字符型23、在C語言中,合法的字符型常量是 。A't' B"A" C65 DA24、若已定義x和y為double型變量,則表達式x=1,y=x+3/2的值是 。A1 B2 C2.0 D2.525、設(shè)正x、y均為整型變量,且x=10,y=3,則以下語句的輸出結(jié)果是 。printf("%d,%dn",x-,-y);A10,3 B9,3 C9,2 D10,226、若有定義int a=8,b=5,C;,執(zhí)行語句C=a/b+0.4;后,C的值為 。A1.4 B1

7、 C2.0 D227、以下選項中,不正確的賦值語句是 。A+t;Bn1=(n2=(n3=0);Ck=i=j;Da=b+c=1;28、設(shè)x和y均為int型變量,則語句:x+=y,y=x-y;x-=y;的功能是 。A把x和y按從大到小的順序排列B把x和y按從小到大的順序排列C無確定結(jié)果D交換x和y中的值29、以下程序的輸出結(jié)果是 。#include <stdio.h>main() char c='z' printf("%c",c-25);Aa BZ Cz-25 Dy30、已知字母A的ASCII碼為十進制數(shù)的65,以下程序的輸出結(jié)果是 。#includ

8、e <stdio.h>main() char ch1,ch2; ch1='A'+'5'-'3' ch2='A'+'6'-'3' printf("%d,%cn",ch1,ch2);A67,DBB,CCC,DD不確定的值31、若k是int型變量,則以下程序片段的輸出結(jié)果是 。k=-3;if(k<=0) printf("#");else printf("&&&&");A#B&&&a

9、mp;&C#&&&&D有語法錯誤,無輸出結(jié)果32、關(guān)于以下程序,說法正確的是 。#include <stdio.h>main() int x=3,y=0,z=0; if(x=y+z) printf("* * * *"); else printf("# # # #");A有語法錯誤不能通過編譯B輸出* * * *C可以通過編譯,但是不能通過連接,因而不能運行D輸出# # # #33、若要求在if后一對圓括號中表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達式為 。Aa<>0B!aCa=0Da3

10、4、能正確表示關(guān)系xyz的C語言表達式是 。A(x<=y)&&(y<=z)B(x<=y)and(y<=z)C(x<=y<=z)D(x<=y)&(y<=z)35、能正確表示邏輯關(guān)系a10或a0的C語言表達式是 。Aa>=10 or a<=0Ba>=0|a<=10 Ca>=10 &&a<=0Da>=10a<=036、若變量c為char型,能正確判斷出c為小寫字母的表達式是 。A'a'<=c<= 'z'B(c>= &

11、#39;a')|(c<= 'z')C('a'<=c)and ('z'>=c)D(c>= 'a')&&(c<= 'z')37、語句while(E);中的條件E等價于 。AE=0BE!=1CE!=0DE38、語句while(!E);中的條件!E等價于 。AE=0BE!=1CE!=0DE39、以下程序片段的輸出結(jié)果是 。int x=23;do printf("%2d",x-); while(!x);A打印出321B打印出23C不打印任何內(nèi)容D陷入死

12、循環(huán)40、若i、j已定義為int型變量,則以下程序片段中,內(nèi)循環(huán)體的執(zhí)行次數(shù)是 。for(i=5;i;i-) for(j=0;j<4;j+) A20B25C24D3041、以下程序的輸出結(jié)果是 。#include <stdio.h>main() int n=4; while(n-) printf("%d ",-n);A2 0B3 1C3 2 1D2 1 042、以下定義語句中,錯誤的是 。Aint a=1,2;Bchar *a3;Cchar s10="test"Dint n=5,an;43、設(shè)int型變量占用4個字節(jié),如有定義int x

13、10=0,2,4;,則數(shù)組x在內(nèi)存中所占的字節(jié)數(shù)是 。A3B12C20D4044、以下語句的輸出結(jié)果是 。printf("%dn",strlen("t"065xffn");A5B1445、以下程序片段的輸出結(jié)果是 。char str="abn012""printf(%d",strlen(str);A3B4C6D1246、以下數(shù)組定義中,不正確的是 。Aint a23;Bint b3=0,1,2,3;Cint c100100=0;Dint d3=1,2,1,2,3,1,2,3,4;47、以下程序的輸出結(jié)果是

14、 。#include <stdio.h>main() int a44=1,3,5,2,4,6,3,5,7; printf("%d%d%d%dn",a03,a12,a21,a30);A0650 B1470C5430D不確定的值48、以下程序的輸出結(jié)果是 。#include <stdio.h>main() int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6; int i,s=0; for(i=0;i<4;i+) s+=aai1; printf("%dn",s);A11B19C13D2049、以下對

15、C語言字符數(shù)組的描術(shù)中,錯誤的是 。A字符數(shù)組可以存放字符串B字符數(shù)組中的字符串可以整體輸入、輸出C可以在賦值語句中通過賦值運算符“=”對字符數(shù)組整體賦值D不可以用關(guān)系運算符對字符數(shù)組中的字符串進行比較50、定義如下變量和數(shù)組:int i;int x33=1,2,3,4,5,6,7,8,9;以上語句的輸出結(jié)果是 。for(i=0;i<3;i+)printf("%d",xi2-i);A1 5 9 B1 4 7 C3 5 7 D3 6 9 51、不能將字符串:Hello!賦給數(shù)組b的語句是 。Achar b10='H','e','l

16、','l','o','!','0'Bchar b10;b="Hello!"Cchar b10;strcpy(b,"Hello!");Dchar b10="Hello!"52、以下數(shù)組定義中,合法的是 。Aint a="string"Bint a5=0,1,2,3,4,5;Cstring s="string" Dchar a=0,1,2,3,4,5;53、若有以下定義語句:int a10=1,2,3,4,5,6,7,8,9,1

17、0,*p=a;則數(shù)值為6的表達式是 。A*p+6B*(p+6) C*p+=5Dp+554、若有以下定義語句:int w34=0,1,2,4,5,8;int(*p)4=w;則數(shù)值為4的表達式是 。A*w1+1 Bp+,*(p+1) Cw22 Dp1155、若有以下定義語句:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;則不能表示a數(shù)組元素的表達式是 。A*pBa10C*aDap-a56、下列保留字中用于構(gòu)成循環(huán)結(jié)構(gòu)的是( )(A) else (B) for (C) switch (D) default57、以下程序運行結(jié)果是:( ) (A) 無限次輸出:“你好,中國!”(B

18、) 輸出5次“你好,中國!”(C) 沒有任何輸出(D) 編譯錯誤,不能運行#include<stdio.h>main()while(5) printf("你好,中國!");58、以下函數(shù)值的類型是 。int fun(float x) float y; y=3*x-4; return y;AintB不確定Cvoid Dfloat59、以下程序的輸出結(jié)果是 。#include <stdio.h>int a,b;void fun() a=100; b=200; main() int a=5,b=7; fun(); printf("%d%dn&qu

19、ot;,a,b);A100200 B57 C200100D7560、以下函數(shù)調(diào)用語句含有 個實參。func(exp1,exp2),(exp3,exp4,exp5);A1B2C4D561、在調(diào)用函數(shù)時,如果實參是簡單變量,它與對應(yīng)的形參之間的數(shù)據(jù)傳遞方式是 。A地址傳遞 B單向值傳遞C由實參傳給形參,再由形參傳回實參 D由用戶指定的62、以下if語句錯誤的是( )(A)if (x<y) x+; y+; else x-; y-;(B)if (x) x+y; (C)if (x<y); (D)if (x!=y) scanf ("%d",&x); else x+;

20、63、以下有關(guān)switch語句的說法正確的是( )(A)break語句是switch語句中必需的一部分。(B)在switch 語句中可以根據(jù)需要使用或不使用break語句。(C)break語句在switch 語句中不可以使用。(D)在switch 語句中的每一個case都要使用break語句。64、以下敘述正確的是( )(A) do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替。(B) do-while語句構(gòu)成的循環(huán)只能用break語句退出。(C) 用do-while語句構(gòu)成的循環(huán),在while后的表達式為非零時結(jié)束循環(huán)。(D) 用do-while語句構(gòu)成的循環(huán),在while后的表達

21、式為零時結(jié)束循環(huán)。65、C語言中規(guī)定,if語句的嵌套結(jié)構(gòu)中,else總是( )配對。(A)與最近的if (B)與第一個if (C)與按縮進位置相同的if (D)與最近的且尚未配對的if66、以下說法錯誤的是( )(A)do.while語句與while語句的區(qū)別僅是關(guān)鍵詞“while”出現(xiàn)的位置不同。(B)while語句是先進行循環(huán)條件判斷,后執(zhí)行循環(huán)體。(C)do.while是先執(zhí)行循環(huán)體,后進行循環(huán)條件判斷。(D)while、do.while和for語句的循環(huán)體都可以是空語句。67、對do.while語句錯誤的描述是:( )(A)可構(gòu)成多重循環(huán)結(jié)構(gòu) (B)循環(huán)次數(shù)不可能為0(C)先執(zhí)行后判斷

22、 (D)循環(huán)次數(shù)可能為068.C語言中規(guī)定,賦值表達式中賦值號(“=”)左邊。A)可以是常數(shù)B)必須是變量名C)只能是表達式D)可以是常數(shù)或表達式69C語言中,s=i+;等價于A)s=i; i=i+1;B)i=i+1; s=i;C)s=i; s=s+1;D)s=i;s=i+1;70.正確的整型常量是A)3e3 B)045 C)a D)3.471.已知:int a=3,b=8;,則表達式a%b的值為A)0 B)0.375 C)2 D)372C程序中,運算符>=是A)算術(shù)運算符B)關(guān)系運算符C)邏輯運算符D)以上均不是73.已知:int a=1,b=2,c=3,d=4; 則表達式a>b

23、?a:(c>d?c:d)的值是A)1 B)-2 C)3 D)474.執(zhí)行以下程序段后,變量y的值是int x,y;x=1;y=(+x*5);A)5B)10C)15D)2075.若有說明:int a4=1,2,3,4,5,6,7,8,9,10,11,12;,則數(shù)組第一維的大小為A)2B)3C)4D)不能確定的值76.函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是A)將串str1復(fù)制到串str2中后再連接到串str3之后B)將串str1連接到串str2之后再復(fù)制到串str3中C)將串str2復(fù)制到串str1中后再將串str3連接到串str1之后D)將串str2

24、連接到串str1之后再將串str1復(fù)制到串str3中77.有以下程序#include <stdio.h>main() int a,b; a=5;b=8; p(a+b,a); p(a/b,b);p(int x,int y) y=x+y; printf(“%d,%dn”,x,y);則執(zhí)行上述程序后的輸出是A)13,18 B)18,5 C)18,5 D)18,23 0,8 1,13 1,14 1,1378.若以數(shù)組名作為函數(shù)的實參,則實參向形參傳送的是A)數(shù)組元素的地址B)數(shù)組元素的值C)數(shù)組的首地址D)數(shù)組名79.變量的指針是A)變量的值 B)指針變量C)變量存儲單元的地址 D)變量存

25、儲單元的字節(jié)數(shù)80執(zhí)行以下程序后,a的值為int *p,a=10,b=1;p=&a;a=*p+b;A)12 B)編譯出錯 C)10 D)11二、填空題1、C語言標識符由字母、下劃線或數(shù)字組成。命名標識符必須以 字母 或 下劃線 開頭,字母嚴格區(qū)分大小寫,不能使用C語言的關(guān)鍵字作為標識符。(兩空順序可以互換)2、在C語言中,包含頭文件的預(yù)處理命令以 # 開頭。3、在C語言中,主函數(shù)名是 main 。4、機器語言是計算機唯一能直接執(zhí)行的語言。計算機并不能直接地接受和執(zhí)行用高級語言編寫的源程序,源程序在輸入計算機時,通過“翻譯程序”翻譯成機器語言形式的目標程序,計算機才能識別和執(zhí)行。這種 “

26、翻譯”通常有兩種方式,即 編譯 和 解釋 。5、C語言源程序文件經(jīng)過編譯后,生成文件的后綴是 .obj ;經(jīng)過連接后,生成文件的擴展名是 .exe 。6、開發(fā)一個C程序要經(jīng)過編輯、 編譯 、 鏈接 和運行4個步驟。7、在結(jié)構(gòu)化程序設(shè)計方法中,有 順序結(jié)構(gòu) 、 選擇結(jié)構(gòu) 和 循環(huán)結(jié)構(gòu) 三種基本結(jié)構(gòu)。8、C語言中為了簡化程序,提高程序的編譯效率,在賦值運算符前面加上其他運算符號構(gòu)成復(fù)合運算符。例如:x=x+5 用復(fù)合運算符可以寫成 x += 5 9、已知字符A的ACSII碼值為65,以下語句的輸出結(jié)果是 B,66 char ch='B' printf("%c,%dn&qu

27、ot;,ch,ch);10、若定義:int a=5,b=2,c=1; 則表達式 a-b>c|b=c 的值是 1 ;表達式 a-b>c&&b=c 的值是 0 。14、“: ?”條件運算符是C語言中唯一的三目運算符。由其連接的表達式為條件表達式,其格式為: <表達式1>?<表達式2>:<表達式3> 。執(zhí)行過程:首先計算表達式1的值,如果表達式1的值是“真”(非0),則整個表達式的值為 表達式2 的值;如果表達式1的值是“假”(0),則整個表達式的值為 表達式3 的值。15、C語言中常用的三種循環(huán)控制語句中,while語句和for語句屬

28、于 當 型循環(huán),dowhile語句屬于 直到 型循環(huán)。16、把多個語句用括號 括起來組成的一個語句稱 復(fù)合語句 。 在程序中應(yīng)把這種語句看成是單條語句,而不是多條語句。把一種只有分號而沒有表達式的特殊語句稱 空語句 ,它是c語句中最簡單的語句,因為它只由一個分號組成,是一種不執(zhí)行任何操作的語句。17、對于while和dowhile這兩種循環(huán)語句, dowhile語句至少執(zhí)行1次循環(huán)體,而 while 語句可以一次也不執(zhí)行循環(huán)體。18、在循環(huán)語句中,continue和break語句的區(qū)別是: continue 語句提前結(jié)束本次循環(huán),進行下一次循環(huán)的判斷;而 break 語句跳出循環(huán)結(jié)構(gòu),結(jié)束循環(huán)

29、。19、一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu),稱為 嵌套 。20、for語句表達方式靈活多樣,for(;) 表示 循環(huán)條件為真 。21、表達式(int)(double)(5/2)+2.5)的值是_4_。22、設(shè)x和y均為int型變量,且x=1,y=2,則表達式1.0+x/y的值為_1.0_。23、變量a和b的值均不為0的邏輯表達式是_a!=0 && b!=0_。24、對于while和do-while這兩種循環(huán)語句,_do-while_語句至少執(zhí)行1次循環(huán)體。25、逗號表達式(a=15,a*4),a+5的值為_20_。26、執(zhí)行下列語句int a=8; a+=a-=a*a; 后

30、,a的值是_-112_。27、開發(fā)一個C程序要經(jīng)過編輯、_編譯_、連接和運行4個步驟。28、C語言中基本的數(shù)據(jù)類型有:整型、_實型_、字符型。29、int x=6, y=7; printf(”%d,”,x+); printf(”%dn”,+y); 程序的輸出結(jié)果是_6,8_。30、判斷ch為大寫字母的邏輯表達式_ch>=A && ch<=Z_。31、 func(exp1,exp2),(exp3,exp4,exp5); 該函數(shù)調(diào)用語句含有 2 個實參。32、設(shè)有以下定義語句:int a32=10,20,30,40,50,60,(*p)2=a;則*(*(p+2)+1)的

31、值為 60 。33、以下函數(shù)的功能是將兩個整數(shù)指針所指的存儲單元中的內(nèi)容進行交換。exchange(int *x, int *y) int t; t=*y; *y= *x ; *x= t ;34、int變量在Win32中占 4 個字節(jié)。35、寫出10<x<20或x<-30的C語言表達式 x>10 && x<20 | x<-30 。36、變量a、b中有且只有一個為0的邏輯表達式是 a=0 && b!=0 | a!=0 && b=0 。37、若有定義語句:int a=5;,則表達式a+的值是 5 。38、若有語句d

32、ouble x=17;int y;,當執(zhí)行y=(int)(x/5)%2;之后y的值是 1 。39、若整型變量a 和b 中的值分別為7 和9,要求按以下格式輸出a 和b 的值: a=7,b=9請完成輸出語句:printf ("a=%d,b=%d",a,b);。40、若有定義:int k; ,以下程序段的輸出結(jié)果是 #2#4 。for(k=2;k<6;k+,k+) printf("#%d",k);41、以下程序運行后的輸出結(jié)果是 1 0 。#include<stdio.h>main() int x=20; printf("%d &

33、quot;,0<x<20); printf("%dn",0<x && x<20);42、設(shè)a、b、c的為整型數(shù),且a=2、b=3、c=4,則執(zhí)行完以下語句后,a的值是 28 。a*=16+(b+)-(+c);43、若想通過以下輸入語句給a賦予1,給b賦予2,則輸入數(shù)據(jù)的形式應(yīng)該是 a=1,b=2 。int a,b;scanf("a=%b,b=%d",&a,&b);44、若有定義語句int a=10,b=9,c=8;,執(zhí)行以下語句后,變量b的值是 3 。c=(a-=(b-5);c=(a%11)+(b=

34、3);45、以下程序的輸出結(jié)果是 2,1 。#include <stdio.h>main() int a=1,b=2; a=a+b; b=a-b;a=a-b; printf("%d,%dn",a,b);46、以下程序的輸出結(jié)果是 261 。#include <stdio.h>main() int a=177; printf("%on",a);47、以下程序的輸出結(jié)果是 16 。#include <stdio.h>main() int a=0; a+=(a=8); printf("%dn",a); 4

35、8、以下程序的輸出結(jié)果是 20,0 。#include <stdio.h>main() int x=10,y=20,t=0; if(x=y) t=x; x=y; y=t; printf(“%d,%dn”,x,y);49、以下函數(shù)的功能是將兩個整數(shù)指針所指的存儲單元中的內(nèi)容進行交換。exchange(int *x, int *y) int t; t=*y; *y= *x ; *x= t ;50、函數(shù)fun( )計算數(shù)組中各元素的平均值。double fun(int a,int n) int i; double sum= 0.0 ,avg; for(i=0; i<n; i+) sum += ai ; avg= sum/n ; return avg;51、函數(shù)fun功能:對數(shù)組中前n個元素進行排序。void fun(int a,int n) int i,j; int temp; for(i=0; i< n-1 ; i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論