C語言練習(xí)題2(分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 數(shù)組 函數(shù)2009-2012二.doc_第1頁
C語言練習(xí)題2(分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 數(shù)組 函數(shù)2009-2012二.doc_第2頁
C語言練習(xí)題2(分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 數(shù)組 函數(shù)2009-2012二.doc_第3頁
C語言練習(xí)題2(分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 數(shù)組 函數(shù)2009-2012二.doc_第4頁
C語言練習(xí)題2(分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 數(shù)組 函數(shù)2009-2012二.doc_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言練習(xí)題(二)一 選擇題1有以下程序#include void main() int a;scanf(“%d”,&a);if(a+9) printf(“%dn”,a);else printf(“%dn”,a-);程序運(yùn)行時(shí)鍵盤輸入9,則輸出的結(jié)果是A 10 B 11 C 9 D 82.有以下程序#include void main()int s=0,n;for (n=0;n3;n+)switch(s) case 0:case 1:s+=1;case 2:s+=2;break;case 3:s+=3;case 4:s+=4;printf(“%dn”,s);程序運(yùn)行后的結(jié)果是A 1,2,4 B 1,3,6 C 3,10,14 D 3,6,103.若k是int類型變量,且有以下for語句for(k= -1;k0;k+) printf(“*n”);下面關(guān)于語句執(zhí)行情況的敘述中正確的是A循環(huán)體執(zhí)行一次 B循環(huán)體執(zhí)行兩次C循環(huán)體一次也不執(zhí)行 D構(gòu)成無限循環(huán)4.有以下程序#include void main()char A,B,C;B=1;C=Afor(A=0;A6;A+)if(A%2) putchar(B+A);else putchar(C+A);程序運(yùn)行后輸出的結(jié)果是A 1B3D5F B ABCDFE C A2C4E6 D 1234565.fun函數(shù)的功能是:通過鍵盤輸入給x所指的整型數(shù)組所有元素賦值。在下列劃線處應(yīng)該填寫的是#include #define N 5void fun(int xN)int m;for(m=N-1;m0;m-) scanf(“%dn”, );A &x+m B &xm+1 C x+(m+) D x+m6.有以下函數(shù) #include #include void main() printf(“%dn”,strlen(“ATSn0121”) );程序運(yùn)行后的輸出結(jié)果是A 3 B 8 C 4 D 97.有以下函數(shù) #include void main() char a20,b20,c20;scanf(”%s%s”,a,b);gets(c);printf(”%s%s%sn”,a,b,c);程序運(yùn)行時(shí)從第一行開始輸入 this is a cat!,則輸出結(jié)果是A thisisacat! B this is a C thisis a cat! D thisisa cat!8.有以下函數(shù) #include viod fun(char c)if(c x) fun(c-1); printf (“%c”,c);void main()fun(z);程序運(yùn)行輸出結(jié)果是A xyz B wxyz C zyxw D zyx9、有以下函數(shù) #include viod func(int n)int i;for(i=0;i=n;i+) printf(“*”);printf(“#”);main() func(3); printf(“?”); func(4); printf(“n”); 程序運(yùn)行輸出結(jié)果是 A *#?*# B *#?*# C *#?*# D *#?*#(10)有以下程序 #include main() int a=1,b=0; if(-a) b+; else if(a=0)b+=2: else b+=3: printf(dn,b); ) 程序運(yùn)行后的輸出結(jié)果是( )。A)0 B)1 C)2 D)3(11)下列條件語句中,輸出結(jié)果與其他語句不同的是( )。A)if(a)printf(d-n,x); else printf(dn,y);B)if(a=0)printf(dn,y); else printf(dn,x);C)if(a!=0)p由printtf(dn,x); else printf(dn,y);D)if(a=0)printf(dn,x); else printf(dn,y);(12)有以下程序#includemain()int a=7;while(a-);printf(dn,a);)程序運(yùn)行后的輸出結(jié)果是( )。A)-1 B)0 C)1 D)7(13)有以下程序#includedouble f(double x);main()double a_0;int i;for(i=0;i30;i+=10) a+=f(double)i);printf(50fn,a);double f(double x)(return X+x+1;)程序運(yùn)行后的輸出結(jié)果是( )。A)503 B)401 C)500 D)1404(14)以下定義數(shù)組的語句中錯(cuò)誤的是( )。A)int num=1,2,3,4,5,6; B)int num3=1,2,3,4,5,6;C)int num24=(1,2,3,4,5,6); D)int num4=1,2,3,4,5,6;(27)(15)有以下程序#include#define N 4void fun(int aN,im b)int i;for(i=0;iN;i+)bi=aii-aiN-1-i;)void main()int xNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,yN,i;fun(x,y);for(i=0;iN;i+)printf(”d,”,yi);printf(n);程序運(yùn)行后的輸出結(jié)果是( )。A)-12,-3,0,0, B)-3,-1,1,3, C)0,1,2,3, D)-3,-3,-3,-3 (16)以下程序的主函數(shù)中調(diào)用了在其前面定義的fun函數(shù)#includemain()double a15,k;k=fun(a);則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是( )。A)double fun(double a15) B)double fun(double *a)C)double fun(double a) D)double fun(double a)(17)有以下程序#include#includemain()char a510=china,beijing,you,tiananmen,welcome”);int i,j;char t10;for(i=0;i4;i+)for(j=i+1;jO)strcpy(t,ai);strcpy(ai,aj);strcpy(aj,t);puts(a3);)程序運(yùn)行后的輸出結(jié)果是( )。A)Beijing B)china C)welcome D)tiananmen(18)有以下程序#includeint f(int m) static int n=0;n+=m:return n;)main()int n=0;printf(d,f(+n);printf(dn,f(n+);)程序運(yùn)行后的輸出結(jié)果是( )。A)1,2 B)1,1 C)2,3 D)3,3(19)有以下程序#includemain()char ch 35=AAAA,BBB,CC);printf (sn,ch1);程序運(yùn)行后的輸出結(jié)果是( )。A)AAAA B)CC C)BBBCC D)BBB(20)有以下程序段char name20;int num;scanf(name=%s num=%d,name;&num);當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lili num=1001后,name的值為A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001(21)if語句的基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的是A)必須是邏輯值 B)必須是整數(shù)值C)必須是正數(shù) D)可以是任意合法的數(shù)值(22)有以下程序#include main() int x=011;printf(%dn,+x);程序運(yùn)行后的輸出結(jié)果是A)12 B)11 C)10 D)9(23)有以下程序#include main() int s;scanf(%d,&s);while(s0) switch(s) case1:printf(%d,s+5); case2:printf(%d,s+4); break; case3:printf(%d,s+3); default:printf(%d,s+1);break; scanf(%d,&s);運(yùn)行時(shí),若輸入1 2 3 4 5 0,則輸出結(jié)果是A)6566456 B)66656 C)66666 D)6666656(24)有以下程序段int i,n;for(i=0;i8;i+) n=rand()%5;switch (n) case 1: case 3:printf(%dn,n); break; case 2: case 4:printf(%dn,n); continue; case 0:exit(0);printf(%dn,n);以下關(guān)于程序段執(zhí)行情況的敘述,正確的是A)for循環(huán)語句固定執(zhí)行8次B)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時(shí)結(jié)束循環(huán)操作C)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時(shí)不做任何操作D)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時(shí)結(jié)束程序運(yùn)行(25)有以下程序#include main() char s=012xy08s34f4w2;int i,n=0;for(i=0;si!=0;i+)if(si=0&si=9) n+;printf(%dn,n);程序運(yùn)行后的輸出結(jié)果是A)0 B)3 C)7 D)8(26)若i和k都是int類型變量,有以下for語句for(i=0,k=-1;k=1;k+) printf(*n);下面關(guān)于語句執(zhí)行情況的敘述中正確的是A)循環(huán)體執(zhí)行兩次B)循環(huán)體執(zhí)行一次C)循環(huán)體一次也不執(zhí)行D)構(gòu)成無限循環(huán)(27)有以下程序#include main() char b,c; int i; b=a; c=A;for(i=0;i6;i+) if(i%2) putchar(i+b); else putchar(i+c); printf(n);程序運(yùn)行后的輸出結(jié)果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(28)有以下程序段#include main() while( getchar()!=n);以下敘述中正確的是A)此while語句將無限循環(huán)B) getchar()不可以出現(xiàn)在while語句的條件表達(dá)式中C)當(dāng)執(zhí)行此while語句時(shí),只有按回車鍵程序才能繼續(xù)執(zhí)行D)當(dāng)執(zhí)行此while語句時(shí),按任意鍵程序就能繼續(xù)執(zhí)行(29)有以下程序#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ùn)行后的輸出結(jié)果是A)3 B)2 C)1 D) 0(30)有以下程序#include main() char a30,b30;scanf(%s,a);gets(b);printf(%sn %sn,a,b);程序運(yùn)行時(shí)若輸入:how are you? I am fine則輸出結(jié)果是A)how are you? B)how I am fine are you? I am fineC)how are you? I am fine D)row are you?(31)設(shè)有如下函數(shù)定義int fun(int k) if (k1) return 0;else if(k=1) return 1;else return fun(k-1)+1;若執(zhí)行調(diào)用語句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是A)2 B)3 C)4 D)5(32)有以下程序#include int fun (int x,int y) if (x!=y) return (x+y);2);else return (x); main() int a=4,b=5,c=6;printf(%dn,fun(2*a,fun(b,c);程序運(yùn)行后的輸出結(jié)果是A)3 B)6 C)8 D)12(33)有以下程序#include int fun() static int x=1;x*=2;return x; main() int i,s=1; for(i=1;i=3;i+) s*=fun(); printf(%dn,s); 程序運(yùn)行后的輸出結(jié)果是A)0 B)10 C)30 D)64(34)有以下程序#include #define S(x) 4*(x)*x+1main() int k=5,j=2;printf(%dn,S(k+j);程序運(yùn)行后的輸出結(jié)果是A)197 B)143 C)33 D)28(35)以下是if語句的基本形式:if(表達(dá)式) 語句 其中“表達(dá)式”A)必須是邏輯表達(dá)式 B)必須是關(guān)系表達(dá)式C)必須是邏輯表達(dá)式或關(guān)系表達(dá)式 D)可以是任意合法的表達(dá)式(36)有以下程序#include main()int x;scanf(“%d”,&x);if(x=3); elseif(x!=10)printf(“%dn”,x); 程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍才會(huì)有輸出結(jié)果A)不等于10的整數(shù) B)大于3且不等于10的整數(shù)C)大于3或等于10的整數(shù) D)小于3的整數(shù)(37)以下程序中的變量已正確定義for(i=0;i4;i+,i+) for(k=1;k3;k+)printf(*”);程序段的輸出結(jié)果是A)* B)* C)* D)*(38)設(shè)變量已正確定義,以下不能統(tǒng)計(jì)出一行中輸入字符個(gè)數(shù)(不包含回車符)的程序段是A)n=0;while(ch=getchar()!=n)n+;B) n=0;while(getchar()!=n)n+;C)for(n=0; getchar()!=n;n+);D)n=0;for(ch=getchar();ch!=n;n+);(39)有以下程序#includemain() int a1,a2;char c1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);printf(“%d,%c,%d,%c”,a1,c1,a2,c2); 若想通過鍵盤輸入,使得a1的值為12,a2的是為34,c1的值為字符a,c2的值為字符b,程序輸出結(jié)果是:12,a,34,b,則正確的輸入格式是(以下代表空格,代表回車)A)12a34b B)12 a 34 b C)12,a,34,b D)12 a34 b(40)有以下程序#includeint f(int x,int y)return(y-x)*x);main()int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf(“%dn”,d); 程序運(yùn)行后的輸出結(jié)果是A)10 B)9 C)8 D)7(41)有以下程序#include int fun(int x,int y) if(x= =y) return(x);else return(x+y)/2) main() int a=4,b=5,c=6;printf(“%dn”,fun(2*a,fun(b,c) 程序運(yùn)行后的輸出結(jié)果是A)3 B)6 C)8 D)12(42)設(shè)函數(shù)中有整型變量n,為保證其在未賦值的情況下初值為0,應(yīng)選擇的存儲(chǔ)類別是A)auto B) register C)static D)auto或register(43)以下選項(xiàng)中與if(a= =1)a=b;else a+;語句功能不同的switch語句是)switch() )switch(a=1)case:;break; case:;break;default:a+; case:a+; )switch() )switch(a=1)default:a+;break; case:=;break;case:; case:a+;(44)有如下嵌套的語句if(ab) if(ac) k=a; else k=c;if(bc) k=b; else k=c;以下選項(xiàng)中與上述語句等價(jià)的語句是)k=(ab)?a:b;k=(bc)?b:c;)k=(ab)?(bc)?a:b)(bc)?b:c);)k=(ab)?(ac)?a:c)(bc)?b:c);)k=(ab)?a:b;k=(ac)?a:c;(45)有以下程序#includemain()int i,j,m=1; for(i=1;i0;j- -)if(i+j3) break; m*=i*j;printf(“m=%dn”,m);程序運(yùn)行后的輸出結(jié)果是) ) ) )(46)有以下程序#includemain()int a=1,b=2; for(;a8;a+) b+=a;a+=2;printf(“%d,%dn”,a,b);程序運(yùn)行后的輸出結(jié)果是), ), ), ),(47)以下關(guān)于return語句的敘述中正確的是)一個(gè)自定義函數(shù)中必須有一條return語句)一個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語句)定義成void類型的函數(shù)中可以有帶返回值的return語句)沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返同到調(diào)用處(48)下列選項(xiàng)中,能正確定義數(shù)組的語句是)int num0.2008; )int num;)int N=2008; )#define N 2008int numN; int numN;(4)有以下程序#includemain()int a5=1,2,3,4,5,b5=0,2,1,3,0,i,s=0;for(i=1;i3;i+) s=s+abi;printf(“%dn”,s);程序運(yùn)行后的輸出結(jié)果是) ) ) )(5)有以下程序#includemain()int b33=0,1,2,0,1,2,0,1,2,i,j,t=1;for(i=1;i3;i+) for(j=1;j=1;j+) t+=bibji; printf(“%dn”,t);程序運(yùn)行后的輸出結(jié)果是) ) ) )(5)若有以下定義和語句char s110abcd!,s2=n123;printf(,strlen(s1),strlen(s2);則輸出結(jié)果是) ) ) )(52)有以下程序#includeint f(int t,int n);main()int a4=1,2,3,4,s; s=f(a,4);printf(“%dn”,s);int f(int t,int n)if (n0)return tn-1+f(t,n-1);else return 0; 程序運(yùn)行后的輸出結(jié)果是) ) ) )(53)有以下程序#includeint fun()static int x=1; x*=2;return x;main()int i,s=1;for(i=1;i=2;i+) s=fun();printf(“%dn”,s);程序運(yùn)行后的輸出結(jié)果是) ) ) )(54)有以下程序#include#define SUB(a) (a)-(a)main()int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf(“%dn”,d);程序運(yùn)行后的輸山結(jié)果是) ) ) )(55)設(shè)有定義:int a=1,b=2,c=3;,以下語句中執(zhí)行效果與其它三個(gè)不同的是A)if(ab) c=a,a=b,b=c;B)if(ab) c=a,a=b,b=c;C)if(ab) c=a;a=b;b=c;D)if(ab) c=a;a=b;b=c;(56)有以下程序#include main() int c=0,k; for (k=1;kb?(bc?1:0):0;功能相同的是A)if(ab)&(bc) k=1;else k=0;B)if(ab)|(bc) k=1;else k=0;C)if(a=b) k=0;else if(bb) k=1;else if(bc) k=1; else k=0;58)有以下程序#include main() char s=“012xy”;int i,n=0; for(i=0;si!=0;i+)if(si=a&si2); printf(“%d %dn”,k,n);程序運(yùn)行后的輸出結(jié)果是A)0 2B)1 3C)5 7D)1 2(60)有以下程序#include void fun(int p) int d=2; p=d+; printf(“%d”,p); main() int a=1; fun(a); printf(“%dn”,a);程序運(yùn)行后的輸出結(jié)果是A)32B)12C)21D)22(61)有以下程序#include main() int a =2,3,5,4,i; for(i=0;i4;i+) switch(i%2) case 0:switch(ai%2) case 0:ai+;break; case 1:ai-; break; case 1:ai=0;for(i=0;i4;i+) printf(“%d”,ai); printf(“n”);A)3 3 4 4B)2 0 5 0C)3 0 4 0D)0 3 0 4(62)有以下程序#include #includemain() char a10=”abcd”; printf(“%d,%dn”,strlen(a),sizeof(a);程序運(yùn)行后的輸出結(jié)果是A)7,4B)4,10C)8,8D)10,10(63)下面是有關(guān)C語言字符數(shù)組的描述,其中錯(cuò)誤的是A)不可以用賦值語句給字符數(shù)組名賦字符串B)可以用輸入語句把字符串整體輸入給字符數(shù)組C)字符數(shù)組中的內(nèi)容不一定是字符串D)字符數(shù)組只能存放字符串(64)有以下程序#include #define f(x) x*x*xmain() int a=3,s,t; s=f(a+1);t=f(a+1); printf(“%d,%dn,s,t);程序運(yùn)行后的輸出結(jié)果是A)10,64B)10,10C)64,10D)64,64二 填空題9、有以下程序段s=1.0;for(k=1,k=n;k+) s=s+1.0(k*(k+1);printf(“%fn”,s);請?zhí)羁?,使以下程序段的功能與上面的程序段完全相同。s=1.0; k=1;while( k=n ) s=s+1.0(k*(k+1); k=k+1;printf(“%fn”,s);10、以下程序段的輸出結(jié)果是( 074 )#include mian() char a,b; for(a=0;a20;a+=7) b=a%10; putchar(b+0); 12、有以下程序#include mian()int arr=1,3,5,7,2,4,6,8, i, start;scanf(“%d”, &start);for(i=0,i3,i+)printf(“%d”,arr(start+i)%8);若在程序運(yùn)行時(shí)輸入整數(shù)10 ,則輸出結(jié)果為( 572 )。(13)以下程序運(yùn)行后的輸出結(jié)果是 34 。#includemain()int i,j;for(i=6;i3;i-)j=i;printf(”ddn”,i,j);(14)以下程序運(yùn)行后的輸出結(jié)果是 14 。#includemain()int i,n=0,0,0,0,0;for(i=1;i=2;i+)ni=ni-1*3+1;printf(d,ni);printf(n);(15)以下程序運(yùn)行后的輸出結(jié)果是 AFK 。 #include main() chara; for(a=0;a15;a+=5) putchar(a+A);) printf(n);(16)以下程序運(yùn)行后的輸出結(jié)果是 211 。 #include void fun(int x) if(x/50)fun(x/5); prinff(t,x); ) main() fun(11);printf(n);(17)有以下程序 #include main() int c3=0,k,i; while(k=getchar()!=n) ck-A+; for(i=0;i3;i+)printf(”d”,ci);printf(n); 若程序運(yùn)行時(shí)從鍵盤輸入ABcAcC,則輸出結(jié)果為 213 。(18)以下程序運(yùn)行后的輸出結(jié)果是 3 。 #include main() int n2,i,j; for(i=0;i2;i+)ni=0; for(i=0;i2;i+) for(j=0;j2;j+)nj=ni+1; printf(%dn,n1); (19)有以下函數(shù) void prt(char ch,int n) int i;for(i=1;i=n;i+)printf(i%6!=0?%c:%cn,ch);執(zhí)行調(diào)用語句prt(*,24);后,函數(shù)共輸出了 4 行*號(hào)。(20)以下程序運(yùn)行后的輸出結(jié)果是 20 0 。#include main() int x=10,y=20,t=0;if(x=y)t=x;x=y;y=t;printf(%d %dn,x,y);(21)以下程序運(yùn)行后的輸出結(jié)果是 13715 。#include main() int i,n5=0;for(i=1;i=4;i+) ni=ni-1*2+1; printf(%d,ni); printf(n);(22)有以下程序#include main( )char c1,c2;scanf(“&c”,&c1);while(c190)scanf(“&c”,&c1);c2=c1+32;printf(“&c, &cn”,c1,c2);程序運(yùn)行輸入65回車后,能否輸出結(jié)果、結(jié)束運(yùn)行(請回答能或不能) 能 (23)有以下程序#includemain()int a=1,b=2,c=3,d=0;if(a=1) if(b!=2) if(c=3) d=1; else d=2; else if(c!=3) d=3;else d=4;else d=5;printf(“%dn”,d);程序遠(yuǎn)行后的輸出結(jié)果是 4 。(24)有以下程序#includemain()int m,n;scanf(“%d%d”,&m,&n);while(m!=n)while(mn) m=m-n; while(mn) n=n-m;printf(“%dn”,m);程序運(yùn)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論