C語(yǔ)言各章節(jié)復(fù)習(xí)試題_第1頁(yè)
C語(yǔ)言各章節(jié)復(fù)習(xí)試題_第2頁(yè)
C語(yǔ)言各章節(jié)復(fù)習(xí)試題_第3頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、、C語(yǔ)言概述練習(xí)題選擇1. 一個(gè)C程序的執(zhí)行是從 。A) 本程序的ma in函數(shù)開始,到 mai n函數(shù)結(jié)束B) 本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C) 本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束D) 本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束2. 以下敘述不正確的是 。A) 一個(gè)C源程序必須包含一個(gè)main函數(shù) B) 一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成C) C程序的基本組成單位是函數(shù)D)在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面3. 以下敘述正確的是。A) 在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤B) 在C程序中,main函數(shù)必須

2、位于程序的最前面C) C語(yǔ)言本身沒有輸入輸出語(yǔ)句D) C程序的每行中只能寫一條語(yǔ)句4. 一個(gè) C語(yǔ)言程序是由 。A) 一個(gè)主程序和若干個(gè)子程B)函數(shù)組成 C)若干過(guò)程組成D)若干子程序組成5. 計(jì)算機(jī)高級(jí)語(yǔ)言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是 A) C語(yǔ)言程序僅可以編譯執(zhí)行B) C語(yǔ)言程序僅可以解釋執(zhí)行D)以上說(shuō)法都不對(duì)B)用C語(yǔ)言編寫的源程序不能直接在計(jì)C源程序生成的.exe文件C) C語(yǔ)言程序既可以編譯執(zhí)行又可以解釋執(zhí)行6. 以下敘述中錯(cuò)誤的是。A) C語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的 算機(jī)上運(yùn)行C) 通過(guò)編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行D) 在沒

3、有安裝C語(yǔ)言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行7. 以下敘述正確的是。A) C語(yǔ)言程序是由過(guò)程和函數(shù)組成的B) C語(yǔ)言函數(shù)可以嵌套調(diào)用,例如: fun(fun(x)C) C語(yǔ)言函數(shù)不可以單獨(dú)編譯D) C語(yǔ)言中除了 main函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在二、數(shù)據(jù)類型、運(yùn)算符與表達(dá)式選擇.1. 若x、i、j、k都是int型變量,則計(jì)算下面表達(dá)式后,x的值為x=(i=4,j=16,k=32)A) 4B) 16C) 32D) 522. 下列四組選項(xiàng)中,均不是C語(yǔ)言關(guān)鍵字的選項(xiàng)是 。A)defi ne IF type B)getc char printf C)i nclude case sca nf

4、D)while go pow3. 下列四組選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是 。A) W P_0 doB) b-a goto i ntC) float la0 _A D) -123 abc TEMP4.下列四組選項(xiàng)中,均是合法轉(zhuǎn)義字符的選項(xiàng)是。A)”,n'B) ' ''017C)'018 '' f '' xab'D) ' 0 ''101''xlf '5.下面不正確的字符常量是。A)“c”B)'''C)''D) K'6

5、.以下敘述不正確的是。A)在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低B)在C程序中,MAX和max是兩個(gè)不同的變量C)若a和b類型相冋,在計(jì)算了賦值表達(dá)式a=b后,b中的值將放入a中,而b中的值不變D)當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值 7. 以下敘述正確的是。A) 在C程序中,每行只能寫一條語(yǔ)句B) 若a是實(shí)型變量,C程序中允許賦值 a=10,因此實(shí)型變量中允許存放整型數(shù)C) 在C程序中,是只能用于整數(shù)運(yùn)算的運(yùn)算符(字符型也可以)D) 在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無(wú)誤地表示8 已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語(yǔ)句

6、c2=' A + 6' - 3'后,c2中的值為。A) DB) 68C)不確定的值D) C9. sizeof(float) 是。A) 一個(gè)雙精度型表達(dá)式B) 一個(gè)整型表達(dá)式C)一種函數(shù)表達(dá)式D)一個(gè)不合法的表達(dá)式10. 設(shè)C語(yǔ)言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsigned int型數(shù)據(jù)的取值范圍為。A) 0 255 B) 032767C) 0 65535 D) 0214748364711. 設(shè)有說(shuō)明:char w; int x; float y; double乙則表達(dá)式 w*x+z-y值的數(shù)據(jù)類型為 。A) float B) char C) intD) d

7、ouble12 .設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是 。A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y)D) (y=6,y+1,x=y,x+1)13. 下列變量定義中合法的是 。A) short _a=015; B) double b=e2.5; C) long do=0xfdaL;D) float 2_an d=1e-3;14. 有以下程序#i nclude <stdio.h>main () int x=011;prin tf("%dn",+x);程序運(yùn)行后的輸出結(jié)果是 。A)12

8、B)11C)10D)9填空1. 若有以下定義,int m=5,y=2;則計(jì)算表達(dá)式y(tǒng)+=y-=m*=y后的y值是【1】。-162. 在C語(yǔ)言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占 2個(gè)字節(jié),則int型數(shù)據(jù)的取值范圍為 【2】。-32768327673. 若s是int型變量,且s= 6,則下面表達(dá)式s%2+(s+1)%2的值為【3】。14. 若a是int型變量,則下面表達(dá)式(a=4*5,a*2),a+6 的值為【4】。265. 若x和a均是int型變量,則計(jì)算表達(dá)式(1)后的x值為【5】,計(jì)算表達(dá)式(2)后的x值為【6】。412(1) x=(a=4,6*2)(2) x=a=4,6*26. 若a是int型

9、變量,則計(jì)算下面表達(dá)式a=25/3%3后a的值為【7】。27. 若x和n均是int型變量,且x和n的初值均為5,則計(jì)算表達(dá)式后 x的值為【8】,n的值為【9】。10 6x+=n+ / 若改為x+=+n 則計(jì)算后 X為, n為 11 68. 若有定義:char c= 010則變量c中包含的字符個(gè)數(shù)為【10】。19. 若有定義:int x=3,y=2;float a=2.5,b=3.5;則下面表達(dá)式(x+y)%2+(int)a/(int)b 的值為【11】。 110. 已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch= a' + 8' - 3'的值

10、為【12】。f三、簡(jiǎn)單的C程序設(shè)計(jì)選擇1. putchar 函數(shù)可以向終端輸出一個(gè) 。A)整型變量表達(dá)式B)實(shí)型變量值C) 字符串 D)字符或字符型變量值2. printf 函數(shù)中用到格式符 %5s其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度大于5,則輸出按方式 B_;如果字符串長(zhǎng)度小于5,則輸出按方式 _C。A)從左起輸出該字符串,右補(bǔ)空格B)按原字符長(zhǎng)從左向右全部輸出C)右對(duì)齊輸出該字符串,左補(bǔ)空格D)輸出錯(cuò)誤信息3. 閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為:25, 13, 10<CR>( 注: <CR:表示回車),則正確的輸出結(jié)果為。main () int x,y,z;

11、scanf(“ d%d%d, &x,& y, &z);printf(“x+y+z=%dn ”,x+y+z); A) x+y+z=48 B) x+y+z=35 C) x+z=35D) 不確定值4. 根據(jù)下面的程序及數(shù)據(jù)的輸入和輸出形式,程序中輸入語(yǔ)句的正確形式應(yīng)該為。main () char ch1,ch2,ch3;輸入語(yǔ)句printf(“%c % %C ,ch1,ch2,ch3);輸出形式:A B C輸入形式:A B CA) scanf(“%c%c%c ,&ch1,&ch2,&ch3);B) scanf(“c,%c,%c”,&chi,&a

12、mp;ch2,&ch3);C) scanf(“%c %c %c” ,&chi,&ch2,&ch3); D) scanf( “%c%c ,&ch1,&ch2,&ch3);5. 已知ch是字符型變量,下面不正確的賦值語(yǔ)句是 。A) ch= ' a' +' b' ; B) ch= '0 ' ; C) ch= ' 7' + ' 9' ; D) ch=5+9;6. 以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是 。A) 一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成B)

13、結(jié)構(gòu)化程序使用goto語(yǔ)句會(huì)很便捷C) 在C語(yǔ)言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的D) 由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問(wèn)題7. 有以下程序#in clude <stdio.h>main ()int a1,a2; char c1,c2;scanf( “ d%c%d%c,&a1,&c1,&a2, &c2);printf(“ d,%c,%d,%C ,a1,c1,a2,c2);若想通過(guò)鍵盤輸入,使得al的值為12, a2的值為34, ci的值為字符a, c2的值為字符b,程序輸出結(jié)果是:12, a, 34, b則正確的輸入格式是(以下代表空格,<

14、;CR>P表回車)A)12a34b<CR> B)12_a_34_b<CR> C)12,a,34,b<CR>D)12_a34_b<CR>填空1. 以下的輸出結(jié)果是【1】。c:dec=120,oct=170,hex=78,ASCII=xmain () char c=x'printf(“ c:dec=%d,oct=%o,hex=%x,ASCII=%cn ”,c,c,c,c);2 以下的輸出結(jié)果是【2】。main () int x=1,y=2;printf(“ x=%d y=%d * sum * =%dn ” ,x,y,x+y);print

15、f( “10 Squared is : %dn” ,10*10); x=1 y=2 * sum * =310 Squared is : 1003. 假設(shè)變量a和b均為整型,以下語(yǔ)句可以不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請(qǐng)?zhí)羁?。a+=【3 】;b=a-【4 】;a-=【5 】;b b b4. 若x為int型變量,則執(zhí)行以下語(yǔ)句x=7; x+=x-=x+x;后的x值為【6】。-145. 有一輸入語(yǔ)句scanf( “ %d ,k);則不能使float類型變量k得到正確數(shù)值的原因是【7】和【8】。格式控制符應(yīng)為f;變量k前缺少&四、邏輯運(yùn)算與判斷選取控制選擇1 邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)

16、類型 。A)只能是0和1 B) 只能是0或非0正數(shù)C)只能是整型或字符型數(shù)據(jù)D)可以是任何類型的數(shù)據(jù)2. 判斷char型變量ch是否為大寫字母的正確表達(dá)式是 。A) 'A' <=ch<= 'Z'B)(ch>= 'A' )&(ch<= ' Z')C)(ch>= 'A' )&&(ch<= ' Z' )D) (' A' <= ch)AND( ' Z' >= ch)3. 若希望當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值

17、為“真”,A的值為偶數(shù)時(shí),表達(dá)式的值為“假”。則以下不能滿足要求的表達(dá)式是 。B) !(A%2=0) int a=1,b=2,c=3,d=4,m=2, n=2;B)2 C)3A) A%2=14. 設(shè)有:A) 15. 以下程序的運(yùn)行結(jié)果是 main () int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf( “ %d,%d ,a,b);A) 6,1C) !(A%2)D) A%2執(zhí)行(m=a>b)&&(n=c>d)后n的值為D) 4B) 2,16. 已知int x=10,y=20,z=30;以下語(yǔ)句執(zhí)行后x,y,zif

18、(x>y) z=x; x=y; y=z;A) x=10, y=20, z=30B) x=20, y=30, z=30 C)7.C) 6,0的值是D) 2,0x=20, y=30, z=10 D) x=20,y=30, z=208.以下程序的運(yùn)行結(jié)果是main () int m=5;if(m+>5)printf(else;printf(若運(yùn)行時(shí)給變量main () int x,y;scanf( “ %d,&x);y=x>12 ? x+10 : x-12;printf(“ dn” ,y);A) 4 B) 3 C) 2D) 0if語(yǔ)句的基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)

19、于“表達(dá)式”值的敘述中正確的"%dn” ,m);“%dn” ,m-);A) 4 B) 5x輸入12,則以下程序的運(yùn)行結(jié)果是C) 6D) 79.是。A)必須是邏輯值B)必須是整數(shù)值 C)必須是正數(shù)D)可以是任意合法的數(shù)值10. 有以下程序#i nclude <stdio.h>main ()int a=1,b=0;if(!a) b+;else if(a=0) if(a) b+=2;else b+=3;printf( “ n” ,b);程序運(yùn)行后的輸出結(jié)果是 。A)0B)1 C) 2D)311. 有以下程序#in elude <stdio.h>main ()int

20、c=O,k; for(k=1;k<3;k+) switch(k) default:c+=k;case 2:c+;break; case 4:c+=2;break;printf( “ %dn” ,c);程序運(yùn)行后的輸出結(jié)果是A)3B)5C)7D)9五、循環(huán)控制選擇 1 .設(shè)有程序段 int k=10; while(k=0)k=k-1;a)while循環(huán)執(zhí)行10次 b)循環(huán)是無(wú)限循環(huán)c)循環(huán)體語(yǔ)句一次也不執(zhí)行d)循環(huán)體語(yǔ)句執(zhí)行一次這下面描述中正確的是2. 語(yǔ)句while(!E);中的表達(dá)式!E等價(jià)于. a)E=0b)E!=13. 下面程序段的運(yùn)行結(jié)果是c _.循環(huán)次數(shù)為_ b .int n=

21、0; while( n+<=2);pri ntf("%d", n);a)2 b)3 c)4 d)/ 若改為 while(+n<=2);printf("%d",n);結(jié)果又如何?4 .下面程序的運(yùn)行結(jié)果是_.#in clude<stdio.h>c)E!=0d)E=1有語(yǔ)法錯(cuò)main () int num=O;while( num <=2) nu m+;prin tf("%dn", nu m);a)1b)1c)1d)12 2 23345.以下程序段.x=-1; dox=x*x; while(!x);a)是死循

22、環(huán)b)循環(huán)執(zhí)行二次6.若有如下語(yǔ)句c)循環(huán)執(zhí)行一次d) 有語(yǔ)法錯(cuò)誤int x=3;dopri ntf("%dn",x-=2);while(!(-x);則上面程序段環(huán)a)輸出的是1b)輸出的是1和-2 c)輸出的是3和0 d)是死循7.下面程序的運(yùn)行結(jié)果是 #in clude<stdio.h> main () int y=10;doy-; while(-y);prin tf("%dn",y-);a)-1b)1c)8d)0&若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是 .for(i=2;i=0;)printf("%d",i-)

23、;a) 無(wú)限次 b)0次 c)1 次d)2 次9. 執(zhí)行語(yǔ)句for(i=1;i+<4;); 后變量i的值是.a)3 b)4c)5 d)不定10. 以下正確的描述是 .a) co nti nue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行b) 只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用 break語(yǔ)句c) 在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用相同d) 從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句11有以下程序main () char b,c; int i;b='a' c='A: for(i=0;i<6;i+)if(i%2) putchar(i+b);els

24、e putchar(i+c); prin tf("n ”);程序運(yùn)行后的輸出結(jié)果是 .A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(二)、填空題1. 下面程序段是從鍵盤輸入的字符中統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù),用換行符結(jié)束循環(huán)。請(qǐng)?zhí)羁铡?int n=0,c;c=getchar();while(c!= ' n ') if(_ c>=' 0' &&c<= 9' _)n+;c=getchar();2下面程序的功能是用”輾轉(zhuǎn)相除法”求兩個(gè)正整數(shù)的最大公約數(shù)。請(qǐng)?zhí)羁铡?i nclude <stdio.h&

25、gt;mai n()int r,m,n;scan f("%d%d",&m,&n);if(m< n)_r=m;m=n;n=r;r=m% n;while(r)m=n;n=r;r=_m%n ;prin tf("%dn", n);3 .下面程序的運(yùn)行結(jié)果是_s=254.#i nclude <stdio.h>mai n()int a,s ,n ,co unt;a=2;s=0;n=1;co un t=1;while(co un t<=7) n=n *a;s=s+n;+co un t;prin tf("s=%d&quo

26、t;,s);4 下面程序段的運(yùn)行結(jié)果是a=-5_.i=1;a=0;s=1;doa=a+s*i;s=-s;i+;while(i<=10);prin tf("a=%d",a);5 下面程序段的運(yùn)行結(jié)果是_ _8_.i=1;s=3;dos+=i+;if(s%7=0)c ontinue;else +i;while(s<15);prin tf("%d",i);六、數(shù)組1. 以下為一維整型數(shù)組 a的正確說(shuō)明是.a)i nt a(10);b)i nt n=10,a n;c)int n;d)#def ine SIZE 10scan f("%d&qu

27、ot;,&n);int aSIZE;int an;2以下對(duì)二維數(shù)組 a的正確說(shuō)明是 .a)i nt a3; b)float a(3,4);c)double a14 d)float a(3)(4);3. 若二維數(shù)組a有m列,則計(jì)算任一元素aij在數(shù)組中位置的公式為_.(假設(shè)a00位于數(shù)組的第一個(gè)位置上。) a)i*m+j b)j*m+i c)i*m+j-1d)i*m+j+14. 若二維數(shù)組a有m列,則在aij前的元素個(gè)數(shù)為 .a)j*m+ib)i*m+j c)i*m+j-1 d)i*m+j+15. 若有以下程序段:int a=4,0,2,3,1,i,j,t;for(i=1;i<5;

28、i+)t=ai;j=i-1;while(j>=0&&t>aj) aj+1=aj;j-;aj+1=t;則該程序段的功能是.a)對(duì)數(shù)組a進(jìn)行插入排序(升序)b)對(duì)數(shù)組a進(jìn)行插入排序(降序)c)對(duì)數(shù)組a進(jìn)行選擇排序(升序) d) 對(duì)數(shù)組a進(jìn)行選擇排序(降序)6. 有兩個(gè)字符數(shù)組a、b,則以下正確的輸入語(yǔ)句是 .a)gets(a,b);b)scanf("%s%s",a,b);c)scanf("%s%s",&a,&b); d)gets("a"),gets("b");7 .下面程序段

29、的運(yùn)行結(jié)果是 .char a7="abcdef"char b4="ABC"strcpy(a,b);prin tf("%c",a5);a)空格 b)0 c)ed)f&判斷字符串s1是否大于字符串s2,應(yīng)當(dāng)使用 .a)if(s1>s2) b)if(strcmp(s1,s2) c)if(strcmp(s2,s1)>0)d)if(strcmp(s1,s2)>0)9.下面程序的功能是從鍵盤輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔,請(qǐng)選擇 填空。#i nclude <stdio.h>main (

30、)char s80,c1,c2=''int i=0,num=0;gets(s);while(si!='0')c1=si;if(i=0)c2=''else c2=si-1;if()nu m+;i+;prin tf("There are %d words.' n", nu m);a)c1=' '&&c2=' 'b)c1!=' '&&c2=' 'c)c1=' '&&c2!=' 'd)

31、c1!=' '&&c2!=''10 下面程序的運(yùn)行結(jié)果是 .#i nclude <stdio.h>mai n()char str="SSSWLIA",c;int k;for(k=2;(c=strk)!='0'k+)switch(c)case T:+k;break;case 'L':c ontinue;default:putchar(c);c ontinue;putchar('*');a)SSW*b)SW*c)SW*A d)SW填空1.若有定義:double x35;

32、則x數(shù)組中行下標(biāo)的下限為 _0,列下標(biāo)的上限為_ _4.2. 下面程序以每行4個(gè)數(shù)據(jù)的形式輸出a數(shù)組,請(qǐng)?zhí)羁铡?defi ne N 20mai n()int aN,i;for(i=0;i<N;i+)scan f("%d",_&ai);for(i=0;i<N;i+)if ( i%4=0_) _printf(“n ”); prin tf("%3d",ai);prin tf("n");3. 下面程序可求出矩陣a的主對(duì)角線上的元素之和,請(qǐng)?zhí)羁铡ai n()int a33=1,3,5,7,9,11,13,15,17,sum

33、=0,i,j;for(i=0;i<3;i+)for(j=0;j<3;j+)if(_i=j _)sum=sum+_aii_;prin tf("sum=%dn",sum);4. 當(dāng)從鍵盤輸入18并回車后,下面程序的運(yùn)行結(jié)果是_10010.mai n()int x,y,i,a8,j,u,v;scan f("%d", &x);y=x;i=0;dou=y/2;ai=y%2;i+;y=u;while(y>=1);for(j=i-1;j>=0;j-)prin tf("%d",aj);5. 下面程序用插入法對(duì)數(shù)組a進(jìn)行

34、降序排序。請(qǐng)?zhí)羁铡ai n()int a5=4,7,2,5,1;int i,j,m;for(i=1;i<5;i+)m=ai;j=_i-1_ _;while(j>=0&&m>aj)_aj+1=aj_;j-;_aj+1_ _=m;for(i=0;i<5;i+)prin tf("%d ",ai);prin tf("n");6. 下面程序的功能是在三個(gè)字符串中找出最小的,請(qǐng)?zhí)羁铡?in clude<stdio.h>#in clude<stri ng.h>mai n()char s20,str320

35、;int i;for(i=0;i<3;i+)gets(stri);strcpy(s,_ str0 );if(strcmp(s,str1)<0)strcpy(s,str1); if(strcmp(str2,s)<0)strcpy(s,str2); prin tf("%sn",_s );7. 下面程序的運(yùn)行結(jié)果是#&*&% .#in clude<stdio.h>mai n()char s="ABCCDA"int k;char c;for(k=1;(c=sk)!='0'k+)switch(c)cas

36、e 'A':putchar('%');c ontinue;case 'B':+k;break;default:putchar('*');case C:putchar('&');c on ti nue;putchar('#');七、函數(shù)選擇1.以下正確的說(shuō)法是 .建立函數(shù)的目的之-a)提高程序的執(zhí)行效率b)提高程序的可讀性 c)2以下正確的函數(shù)定義形式是 .a)double fun (i nt x,i nt y) b)double fun (i nt x; fun (i nt x,y);3.

37、C語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式為A)地址傳遞B)單向值傳遞C )由實(shí)參傳給形參,再由形參傳回給實(shí)參式4. C語(yǔ)言允許函數(shù)值類型缺省定義,此時(shí)該函數(shù)值隱含的類型是 a)floatb)i nt5. 已有以下數(shù)組定義和為.int a34; f(a);a)f(i nt array6)6. 以下程序的正確運(yùn)行結(jié)果是 .#i nclude <stdio.h>void num()extern int x,y;int a=15,b=10;x=a-b;y=a+b;int x,y;mai n() int a=7,b=5;x=a+b;y=a-b;num();prin tf(

38、"%d,%dn",x,y);a)12,2 b) 不確定 c)5,25d)1,12有以下程序:#i nclude <stdio.h>int f() static int x=1;x+=1; retur n x; main () int i,s=1;for(i=1;i<=5;i+) s+=fu n(); printf( “ dn” ,s); 程序運(yùn)行后的輸出結(jié)果是 填空1 .以下程序的運(yùn)行結(jié)果是 #in clude<stdio.h>int max(i nt,i nt);c)l ongd)doublef函數(shù)調(diào)用語(yǔ)句,則在b)f(i nt array3

39、)旦曰是減少程序的篇幅int y) c)doubled)減少程序文件所占內(nèi)存fun(intx, int y); d)doubleD)由用戶指定傳遞方f函數(shù)的說(shuō)明中,對(duì)形參數(shù)組array的錯(cuò)誤定義方式c)f(i nt array4) d)f(i nt array25)A)11max is 2B)21C)6D)120mai n()int a=1,b=2,c;c=max(a,b);prin tf("max is %dn",c);int max(i nt x,i nt y)int 乙z=(x>y)?x:y;return(z);2. 函數(shù)gongyu的作用是求整數(shù)num1和nu

40、m2的最大公約數(shù),并返回該值。請(qǐng)?zhí)羁?。gon gyu(i nt nu m1,i nt nu m2)int temp,a,b;if(num1 ( _ < _) num2)temp=nu m1; nu m仁 nu m2; nu m2=temp;a=nu m1;b=nu m2;while(!b )temp=a%b;a=b;b=temp;return(a);3. 以下程序的運(yùn)行結(jié)果是_ A+B=9.#i nclude <stdio.h>int a=5;i nt b=7;int plus(i nt ,i nt );void mai n() int a=4,b=5,c;c=plus(a,

41、b);prin tf("A+B=%dn",c);int plus(i nt x,i nt y)int 乙z=x+y;return(z);4. 以下程序的運(yùn)行結(jié)果是 .x=1y=1x=1 y=2 x=1 y=3mai n()incx(); incy(); incx(); incy(); incx(); in cy();in cx() int x=0;prin tf("x=%dt",+x);in cy()static int y=0;prin tf("ny=%dn",+y);八、編譯預(yù)處理 選擇1. 以下敘述中正確的是 .a)在程序的一行

42、上可以出現(xiàn)多個(gè)有效的預(yù)處理命令行b)使用帶參的宏時(shí),參數(shù)的類型應(yīng)與宏定義時(shí)的一致c)宏替換不占用運(yùn)行時(shí)間,只占用編譯時(shí)間d)在以下定義中C R是稱為“宏名”的標(biāo)識(shí)符#defi ne C R 0452 以下程序的運(yùn)行結(jié)果是 #define MIN(x,y) (x)<(y)?(x):(y)mai n()int i=10,j=15,k; k=10*MIN(i,j); prin tf("%dn",k); a)10 b)153 若有宏定義如下:#defi ne X 5c)100d)150#defi ne Y X+1#defi ne Z Y*X/2則執(zhí)行以下printf 語(yǔ)句后,

43、輸出結(jié)果是 int a;a=Y;prin tf("%dn",Z);prin tf("%dn",-a);a)7b)12c)12d)766554.請(qǐng)讀程序:#i nclude <stdio.h>#defi ne MUL(x,y) (x)*ymai n()int a=3,b=4,c;c=MUL(a+,b+);prin tf("%dn",c);上面程序的輸出結(jié)果是.a)12b)15c)20 d) 165 有以下程序#i nclude <stdio.h>#defi ne f(x) x*x*xmain ()int a=3,

44、s,t;s=f(a+1);t=f(a+1);printf( “n” ,s,t);程序運(yùn)行后的輸出結(jié)果是 .A)10,64B)10,10C)64,10D)64,64九、指針一、選擇題1 .變量的指針,其含義是指該變量的 . a)值 b)地址 c)2. 若有語(yǔ)句int *point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是a)a,poi nt,*&ab) &*a,&a,*poi ntc)*&poi nt,*poi nt,&ad)&a, &*poi nt ,poi nt3. 若有說(shuō)明;int *p,m=5,n;以下正確的程

45、序段的是 .a)p=&n;b)p=&n;c)sca nf("%d", &n);名 d) 一個(gè)標(biāo)志d)p=&n;scan f("%d",& p);scan f("%d",*p);*p=n;4 下面程序段的運(yùn)行結(jié)果是 .char *s="abcde" s+=2;printf("%s",s);a)cde b) 字符'c' c) 字符'c'的地址5. 設(shè)p1和p2是指向同一個(gè)字符串的指針變量,*p=m;d) 無(wú)確定的輸出結(jié)果c為字符

46、變量,則以下不能正確執(zhí)行的賦值語(yǔ)句是a)c=*p1+*p2; b)p2=c c)p1=p2d)c=*p1*(*p2);6以下正確的程序段是 .a)char str20;b)char *p; c)charstr20; d)charstr20,*p=str;scanf("%s",&str); scanf("%s",p); scanf("%s",&str2); scanf("%s",p2);7. 若有說(shuō)明語(yǔ)句 char a="lt is mi ne" char *p="It

47、is min e"則以下不正確的敘述是a)a+1表示的是字符t的地址b)p指向另外的字符串時(shí),字符串的長(zhǎng)度不受限制c)p變量中存放的地址值可以改變d)a中只能存放10個(gè)字符&下面程序的運(yùn)行結(jié)果是 .#i nclude <stdio.h>#in clude <stri ng.h>mai n()char *s1= "AbDeG"char *s2="AbdEg"s1+=2;s2+=2;prin tf("%dn",strcmp(s1,s2);a)正數(shù) b)負(fù)數(shù)c)零d)不確定的值9. 下面程序的運(yùn)行結(jié)

48、果是 .#i nclude <stdio.h>#in clude <stri ng.h>fun( char *w,i nt n)char t,*s1,*s2;s1=w;s2=w+n-1;while(s1<s2)t=*s1+;*s *s2-;*s2=t;mai n()char *p;p="1234567"fun (p,strle n( p);puts(p);a)7654321b)1714171 c)1711717 d)717717110. 若有以下定義,則對(duì)a數(shù)組元素的正確引用是 .int a5,*p=a;a)*&a5 b)a+2 c)*

49、(p+5)d)*(a+2)11. 若有定義:int a23, 則對(duì)a數(shù)組的第i行j列元素地址的正確引用為 .a)*(ai+j) b)(a+i) c)*(a+j)d)ai+j12 .若有以下定義,則p+5表示.int a10,*p=a;a)元素a5的地址 b)元素a5的值 c) 元素a6的地址 d)元素a6的值二、填空題1. 以下程序的功能是:通過(guò)指針操作,找出三個(gè)整數(shù)中的最小值并輸出。請(qǐng)?zhí)羁铡?i nclude "stdio.h"mai n()int *a,*b,*c, nu m,x,y,z;a=&x;b=&y;c=&z;printf("輸

50、入3個(gè)整數(shù):");scan f("%d%d%d",a,b,c);prin tf("%d,%d,%dn",*a,*b,*c);num=*a;if(*a>*b)_num=*b;if(num>*c) num=*c _ ;printf(”輸出最小整數(shù):dn",num);2. 下面程序段的運(yùn)行結(jié)果是_ hELLO_.char s80,*sp="HELLO!"sp=strcpy(s,sp);s0='h'puts(sp);3 下面程序段的運(yùn)行結(jié)果是_.char str="abcOdefOghi",*p=str;prin tf("%s",p+5);4. 下面程序的功能是將兩個(gè)字符串s1和s2連接起來(lái)。請(qǐng)?zhí)羁铡?i nclude<stdio.h>mai n()char s180,s280;gets(s1); gets(s2);conj(s1,s2);puts(s1);conj(

溫馨提示

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

評(píng)論

0/150

提交評(píng)論