




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2008-2009(上)C語(yǔ)言程序設(shè)計(jì)1-5章測(cè)試試題姓名_學(xué)號(hào)_成績(jī)_一、選擇題(每小題1分,共60分)1、 若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%Xn",m);執(zhí)行后輸出結(jié)果是(C)。A) 0X0 B) 0x0 C) 0 D) 0XABC2、以下不合法的用戶(hù)標(biāo)識(shí)符是( C )A)j2_KEY B)Double C) 4d D) _8_ 3、以下不合法的數(shù)值常量是( C ) A)011 B)1e1 C) 8.0E0.5 D) 0xabcd 4、以下不合法的字符常量是 ( A )A)'018' B) '”&
2、#39; C) '' D) xcc' 5、表達(dá)式3.6-5/2+1.2+5%2的值是 ( D )A)4.3 B) 4.8 C) 3.3 D) 3.8 6、以下能正確定義字符串的語(yǔ)句是( D )A)char str=s',t,r,i,n,g; B) char str=”x43”; C) char str=”string”; D) char *str=”string”; 7、以下數(shù)組定義中錯(cuò)誤的是( B ) A) int x3=0; B) int x23=1,2,3,4,5,6; C) nt x3=1,2,3,4,5,6; D) int x23=1,2,3,4,5,
3、6; 8、若要求從鍵盤(pán)讀入含有空格字符的字符串,應(yīng)使用函數(shù)( B )A)getc() B) gets() C) getchar() D) scanf() 9、 下四個(gè)程序中,完全正確的是( B ) A)#include<stdio.h> B)#include<stdio.h> main(); main() /*programming*/ /*/programming/*/ printf(“programming!n”); printf(“programming!n”); C) #include”stdio.h” D) include<stdio.h> mai
4、n() main() /*/*programming*/*/ /*programming*/ printf(“programming!n”); printf(“programming!n”); 10、若有定義:float x=1.5; int a=1,b=3,c=2;則正確的switch語(yǔ)句是(C ) A)switch(x) B) switch(int)x); case 1.0: printf(“*n”); case 1: printf(“*n”); case 2.0: printf(“*n”); case 2: printf(“*n”); C) switch(a+b) D) switch(a
5、+b) case 1: printf(“*n”); case 1: printf(“*n”); case 2+1: printf(“*n”); case c: printf(“*n”); 11、若各選項(xiàng)中所用變量已正確定義,函數(shù)fun中通過(guò)return語(yǔ)句返回一個(gè)函數(shù)值,以下選項(xiàng)中錯(cuò)誤的程序是( A ) A)main() B) float fun(int a,int b) x=fun(2,10); main() float fun(int a,int b) x=fun(i,j); C) float fun(int,int); D) main() main() float fun(int i,i
6、nt j); x=fun(2,10); x=fun(i,j); float fun(int a,int b) float fun(int a,int b) 12、在以下給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是( C) A)(!E=0) B) (E>0|E<0) C) (E=0) D) (E!=0) 13、要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是 ( A )A) while(ch=getchar()!='N') printf(“%c”,ch); B) while(ch=getchar()!=&
7、#39;N') printf(“%c”,ch); C) while(ch=getchar()=N') printf(“%c”,ch); D) while(ch=getchar()='N') printf(“%c”,ch); 14、有以下程序 #include<stdio.h> main() char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); pri
8、ntf(“%c%cn”,c5,c6); 程序運(yùn)行后,若從鍵盤(pán)輸入(從第1列開(kāi)始) 123<回車(chē)> 45678<回車(chē)> 則輸出結(jié)果是 ( D ) A)1267 B)1256 C)1278 D)1245 15、若有以下程序 main() int y=10; while(y- -); printf(“y=%dn”,y); 程序運(yùn)行后的輸出結(jié)果是 ( A )A)y=0 B)y=-1 C) y=1 D)while構(gòu)成無(wú)限循環(huán) 16、有以下程序 main() int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(“%d,%d,
9、%d,%dn”,a,b,c,d); 程序輸出 ( D ) A)0,1,2,0 B) 0,0,0,3 C)1,1,2,0 D)編譯有錯(cuò) 17、有以下程序 main() int i,j,x=0; for(i=0;i<2;i+) x+; for(j=0;j<=3;j+) if(j%2) continue; x+; x+; printf(“x=%dn”,x); 程序執(zhí)行后的輸出結(jié)果是 ( B ) A)x=4 B) x=8 C) x=6 D) x=12 18、有以下程序 int fun1(duoble a)return a*=a; int fun2(dpuble x,double y) do
10、uble a=0,b=0; a=fun1(x); b=fun1(y); return (int)(a+b); main() double w; w=fun2(1.1,2.0); 程序執(zhí)行后變量w中的值是 ( B ) A)5.21 B) 5 C) 5.0 D) 0.0 19、有以下程序 main() int i,t3=9,8,7,6,5,4,3,2,1; for(i=0;i<3;i+) printf(“%d”,t2-ii); 程序的執(zhí)行后的輸出結(jié)果是 ( B)A)7 5 3 B)3 5 7 C)3 6 9 D)7 5 1 20、有以下程序 fun(char p10) int n=0,i;
11、for(i=0;i<7;i+) if(pi0='T') n+; return n; main() char str10=“Mon”, “Tue”, “Wed”, “Thu”,”Fri”,”Sat”,”Sun”; printf(“%dn”,fun(str); 程序執(zhí)行后的輸出結(jié)果是( B ) A)1 B)2 C)3 D)0 21、以下敘述中錯(cuò)誤的是(A)。 A)用戶(hù)所定義的標(biāo)識(shí)符允許使用關(guān)鍵字 B)用戶(hù)所定義的標(biāo)識(shí)符應(yīng)盡量做到“見(jiàn)名知意” C)用戶(hù)所定義的標(biāo)識(shí)符必須以字母或下劃線開(kāi)頭 D)用戶(hù)定義的標(biāo)識(shí)符中,大、小寫(xiě)字母代表不同標(biāo)識(shí)22、以下敘述中錯(cuò)誤的是(C)。 A)C語(yǔ)
12、句必須以分號(hào)結(jié)束 B)復(fù)合語(yǔ)句在語(yǔ)法上被看作一條語(yǔ)句 C)空語(yǔ)句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行 D)賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語(yǔ)句23、以下敘述中正確的是(B)。 A)調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng) B)使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h C)調(diào)用putchar函數(shù)輸出字符時(shí),參數(shù)不可以是字符的ASCII碼 D)調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤(pán)上輸入字符所對(duì)應(yīng)的ASCII碼24、以下關(guān)于函數(shù)的敘述中正確的是( B)。 A)每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù)) B)每個(gè)函數(shù)都可以被單獨(dú)編譯 C)每個(gè)函數(shù)都可以單獨(dú)運(yùn)行 D)在一個(gè)函數(shù)
13、內(nèi)部可以定義另一個(gè)函數(shù)25、當(dāng)把以下四個(gè)表達(dá)式用作if語(yǔ)句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選項(xiàng)含義不同,這個(gè)選項(xiàng)是(D)。 A)k%2 B)k%2=1 C)(k%2)!=0 D)!k%2=126、以下不能正確計(jì)算代數(shù)式值的C語(yǔ)言表達(dá)式是(A)。 A)1/3*sin(1/2)*sin(1/2) B)sin(0.5)*sin(0.5)/3 C)pow(sin(0.5),2)/3 D)1/3.0*pow(sin(1.0/2),2)27、以下能正確定義且賦初值的語(yǔ)句是( B)。 A)int n1=n2=10;B)char c=32; C)float f=f+1.1; D)double x=12.3
14、E2.5;28、以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積s。程序在編譯時(shí)出錯(cuò)。 main() /* Beginning */ int r; float s; scanf("%d",&r); s=*p*r*r; printf("s=%fn",s); 出錯(cuò)的原因是(D)。 A)注釋語(yǔ)句書(shū)寫(xiě)位置錯(cuò)誤 B)存放圓半徑的變量r不應(yīng)該定義為整型 C)輸出語(yǔ)句中格式描述符非法 D)計(jì)算圓面積的賦值語(yǔ)句中使用了非法變量29、設(shè)有定義:int k=1,m=2; float f=7;,則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是(C)。 A)k=k>=k B)-k+
15、 C)k%int(f) D)k>=f>=m30、設(shè)有定義:int a=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是(A)。 A)(!a=1)&&(!b=0) B)aC)a && b D)a|(b+b)&&(c-a)31、有以下程序段 int k=0,a=1,b=2,c=3; k=a*c ? c:k;執(zhí)行該程序段后,k的值是(A)。 A)3 B)2 C)1 D)032、設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語(yǔ)句 if (a) if(c=d) y=0; else y=1;該語(yǔ)句所表示的含義是(B)。 A)if(a&
16、amp;&(c=d) y=1; B)if(a&&(c=d) y=0; C)if(a&&(c!=d) y=0;D)if(a|(c=d) y=1; 33、有以下程序段 int n,t=1,s=0; scanf("%d",&n); do s=s+t; t=t-2; while (t!=n);為使此程序段不陷入死循環(huán),從鍵盤(pán)輸入的數(shù)據(jù)應(yīng)該是(D)。 A)任意正奇數(shù) B)任意負(fù)偶數(shù) C)任意正偶數(shù) D)任意負(fù)奇數(shù)34、設(shè)變量已正確定義,則以下能正確計(jì)算f = n!的程序段是(D)。 A) f=0; B) f=1; for(i=1;i&l
17、t;=n;i+) for(i=1;i>=2;i-) f*=i; f*=i; C) f=1; D) f=1; for(i=n;i>1;i+) for(i=n;i>=2;i-) f*=i; f*=i;35、設(shè)函數(shù)fun的定義形式為: void fun(char ch, float x ) 則以下對(duì)函數(shù)fun的調(diào)用語(yǔ)句中,正確的是(D)。 A)fun("abc",3.0); B)t=fun('D',16.5); C)fun('65',2.8); D)fun(32,32);36、有以下程序 main() char p='a&
18、#39;, 'b', 'c', q="abc" printf("%d %dn", sizeof(p),sizeof(q); ;程序運(yùn)行后的輸出結(jié)果是(B)。 A)4 4 B)3 3 C)3 4 D)4 337、有以下程序 main() char a1='M', a2='m' printf("%cn", (a1, a2) ); 以下敘述中正確的是(B)。 A)程序輸出大寫(xiě)字母M B)程序輸出小寫(xiě)字母m C)格式說(shuō)明符不足,編譯出錯(cuò) D)程序運(yùn)行時(shí)產(chǎn)生
19、出錯(cuò)信息38、有以下程序 #include main() char c1='1',c2='2' c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); 當(dāng)運(yùn)行時(shí)輸入:a<回車(chē)> 后,以下敘述正確的是(A)。 A)變量c1被賦予字符a,c2被賦予回車(chē)符 B)程序?qū)⒌却脩?hù)輸入第2個(gè)字符 C)變量c1被賦予字符a,c2中仍是原有字符2 D)變量c1被賦予字符a,c2中將無(wú)確定值39、算法具有五個(gè)特性,以下選項(xiàng)中不屬于算法特性的是(B)。 A)有窮性 B)簡(jiǎn)潔性 C)可行性 D)確定性40、以下選項(xiàng)中可作
20、為C語(yǔ)言合法常量的是(A)。 A)-80. B)-080 C)-8e1.0 D)-80.0e41、以下選項(xiàng)中,不能作為合法常量的是(B)。 A)1.234e04 B) 1.234e0.4 C)1.234e+4 D)1.234e042、數(shù)字字符0的ASCII值為48,若有以下程序main() char a='1',b='2'printf("%c,",b+);printf("%d ",b-a);程序運(yùn)行后的輸出結(jié)果是 ( B )。 A)3,2 B)50,2 C)2,2 D)2,5043、有以下程序main() int m=12
21、,n=34;printf("%d%d",m+,+n);printf("%d%d ",n+,+m);程序運(yùn)行后的輸出結(jié)果是(B)。A)12353514 B)12353513 C)12343514 D)1234351344、有定義語(yǔ)句:int b;char c10; ,則正確的輸入語(yǔ)句是(B)。A)scanf("%d%s",&b,&c);B)scanf("%d%s",&b,c);C)scanf("%d%s",b,c);D)scanf("%d%s",b,&a
22、mp;c);45、有以下程序main() int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d ",m,n,p);若想從鍵盤(pán)上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是(A)。 A)m=123n=456p=789 B)m=123<空格>n=456<空格>p=789C)m=123,n=456,p=789 D)123<空格>456<空格>78946、有以下程序main()int a,b,d
23、=25;a=d/10%9;b=a&&(-1);printf("%d,%d ",a,b);程序運(yùn)行后的輸出結(jié)果是(B)。 A)6,1 B)2,1 C)6,0 D)2,047、有以下程序main() int i=1,j=2,k=3;if(i+=1&&(+j=3|k+=3)printf("%d %d %d ",i,j,k);程序運(yùn)行后的輸出結(jié)果是(D )。A)1 2 3 B)2 3 4 C)2 2 3 D)2 3 348、若整型變量a、b、c、d中的值依次為:1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值
24、 (A)。A)1 B)2 C)3 D)449、以下能正確定義一維數(shù)組的選項(xiàng)是(B)。A)int a5=0,1,2,3,4,5;B)char a=0,1,2,3,4,5;C)char a='A','B','C' D)int a5="0123"50、與十進(jìn)制數(shù)200等值的十六進(jìn)制數(shù)為 (C)。A)A8 B)A4 C)C8 D)C4 51、結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,三種基本結(jié)構(gòu)組成的算法(A )。A)可以完成任何復(fù)雜的任務(wù) B)只能完成部分復(fù)雜的任務(wù)C)只能完成符合結(jié)構(gòu)化的任務(wù)D)只能完成一些簡(jiǎn)單的任務(wù)52、有以下定義語(yǔ)句 do
25、uble a,b; int w; long c;若各變量已正確賦值,則下列選項(xiàng)中正確的表達(dá)式是(C)。A)a=a+b=b+ B)w%(int)a+b) C)(c+w)%(int)a D)w=a=b; 53、有以下程序 main() int m=3,n=4,x; x=-m+; x=x+8/+n; printf("%dn",x); 程序運(yùn)行后的輸出結(jié)果是(D)。 A)3 B)5 C)-1 D)-2 54、有以下程序 main() int m=0256,n=256; printf("%#o %#on",m,n); 程序運(yùn)行后的輸出結(jié)果是(A)。 A)0256
26、0400 B)0256 256 C)256 400 D)400 400 55、有以下程序 main() int a=666,b=888; printf("%dn",a,b); 程序運(yùn)行后的輸出結(jié)果是(B)。 A)錯(cuò)誤信息 B)666 C)888 D)666,888 56、有以下程序 main() int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d+ +1); else printf("%d",+d+1); printf("%dn",d); 程序運(yùn)行后的輸
27、出結(jié)果是(A)。 A)2 B)3 C)43 D)44 57、以下敘述中正確的是(A)。A)局部變量說(shuō)明為static存儲(chǔ)數(shù),其生存期將得到延長(zhǎng)B)全局變量說(shuō)明為static存儲(chǔ)類(lèi),其作用域?qū)⒈粩U(kuò)大C)任何存儲(chǔ)類(lèi)的變量在未賦初值時(shí),其值都是不確定的D)形參可以使用的存儲(chǔ)類(lèi)說(shuō)明符與局部變量完全相同58、能將高級(jí)語(yǔ)言編寫(xiě)的源程序轉(zhuǎn)換成目標(biāo)程序的是(C)。A) 鏈接程序 B) 解釋程序 C) 編譯程序 D) 編輯程序 59、若有宏定義:#define H(x) 2*x,則程序中有語(yǔ)句H(5+3);則運(yùn)行結(jié)果為( A)A) 8 B)10 C)6 D)不確定60、下列不能夠給數(shù)組int a3;的第2個(gè)元素
28、正確賦值的語(yǔ)句是( )A)scanf(“%d”,a1); B)scanf(“%d”,&a1); C)scanf(“%d”,a+1); D)int *p=&a1;scanf(“%d”,p);二、判斷題(每小題1分,共15分)1、int i,a3=1,2,3;for(i=0;i<=3;i+)printf(“%d”,ai);可以通過(guò)編譯,因?yàn)镃語(yǔ)言不對(duì)數(shù)組進(jìn)行邊界檢查( )2、int a3=1,2,3,4;該語(yǔ)句正確。( )3、int a3=1,2,3,i,*p;p=a;*p+等價(jià)于(*p)+。( )4、語(yǔ)句int a3;a+;是正確的,通過(guò)數(shù)組名自增可以實(shí)現(xiàn)對(duì)數(shù)組的元素進(jìn)行引
29、用( )5、int a34;則a0=a00;a1=a10 ( ) 6、int a34;則*a=a00;*a=a0;*(a+1)=a1;*(*a+1)=a11; ( )7、char s=s,t; 可以通過(guò)語(yǔ)句printf(“%s”,s);輸出st。( )8、局部自動(dòng)變量前面加上static后,其將被存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū)( )9、int a; void fun(int x),則語(yǔ)句a=fun(5);是正確的( )10、函數(shù)如下定義是正確的:void fun(int x). return;( )11、int *p,a3;p=&a;則語(yǔ)句printf(“%d”,p2);可以實(shí)現(xiàn)輸出數(shù)組a的第3個(gè)元
30、素。( )12、int a3=1,2;則a2的值為0;( )13、語(yǔ)句void *p;int a;p=(void*)&a;是正確的( )14、int *p,a=5;p=&a;則p的值是a的地址,*p的值是a的值5;*&a的值也是5;&*p的值是a地址。( )15、int *p=”string”;printf(“%s”,p);函數(shù)printf可以自動(dòng)將字符串末尾的0轉(zhuǎn)換為回車(chē)操作。( )三、填空題(每小題2分,共20分)1、已知字符A的ACSII碼值為65,以下語(yǔ)句的輸出結(jié)果是 B,66 。char ch=B;printf(“%c,%dn”,ch,ch);2、有以下程序main( ) int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%dn”,x);執(zhí)行后輸出結(jié)果是 -4 。3、#include main( ) char ch1,ch2; int n1,n2; ch1=getchar(); ch2=getchar(); n1=ch1-0; n2=n1*10+(ch2-0); printf(“%dn”,n2);程序運(yùn)行時(shí)輸入:12<回車(chē)>,執(zhí)行后輸出結(jié)果是 -424 。4、以下程序運(yùn)行后的輸出結(jié)果是 10,20,0 。main()
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級(jí)下學(xué)期歷史文化實(shí)踐活動(dòng)計(jì)劃
- 2024屆四川省宜賓市翠屏區(qū)中考數(shù)學(xué)模擬試卷含解析
- 小學(xué)德育與心理健康計(jì)劃
- 2025幼兒園教學(xué)活動(dòng)創(chuàng)新計(jì)劃
- 道德與法治五年級(jí)家校合作計(jì)劃
- 七年級(jí)班主任班級(jí)經(jīng)濟(jì)管理計(jì)劃
- 廣告轉(zhuǎn)包合同協(xié)議書(shū)
- 承包合同內(nèi)部協(xié)議書(shū)
- 施工企業(yè)捐贈(zèng)協(xié)議書(shū)
- 政府拆除賠償協(xié)議書(shū)
- 全國(guó)行政區(qū)域身份證代碼表(電子表格版)
- 超星爾雅學(xué)習(xí)通《社會(huì)心理學(xué)(南開(kāi)大學(xué))》章節(jié)測(cè)試含答案
- 教科版小學(xué)科學(xué)三年級(jí)下冊(cè)2《動(dòng)物的一生》單元復(fù)習(xí)教學(xué)課件
- 設(shè)計(jì)師量房表
- 中考物理必背99條知識(shí)點(diǎn)
- 《特種設(shè)備目錄》(2022年第114號(hào))
- 單值移動(dòng)極差圖(空白表格)
- 聲樂(lè)參賽評(píng)分表
- 葡萄小龍干高效栽培技術(shù)一邊倒技術(shù)
- 機(jī)柜間施工方案
- 境外所得個(gè)稅新政解析PPT課件
評(píng)論
0/150
提交評(píng)論