c語(yǔ)言習(xí)題冊(cè)及答案_第1頁(yè)
c語(yǔ)言習(xí)題冊(cè)及答案_第2頁(yè)
c語(yǔ)言習(xí)題冊(cè)及答案_第3頁(yè)
c語(yǔ)言習(xí)題冊(cè)及答案_第4頁(yè)
c語(yǔ)言習(xí)題冊(cè)及答案_第5頁(yè)
已閱讀5頁(yè),還剩97頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第3章 課后練習(xí)及作業(yè)習(xí)題指導(dǎo)(參考答案)作業(yè)01 C語(yǔ)言基礎(chǔ)知識(shí)一、選擇題1. C語(yǔ)言程序的基本單位是()。A)函數(shù) B )過(guò)程 C )子程序 D )子例程2. 下列個(gè)選項(xiàng)中,合法的C語(yǔ)言關(guān)鍵字是()。A ) integer B ) sin C ) stringD) void3. 下列選項(xiàng)中,不是C語(yǔ)言提供的合法關(guān)鍵字的是()。A ) switchB) cher C ) default D ) case4. 以下選項(xiàng)中合法的用戶(hù)標(biāo)識(shí)符是()。A) int B ) a# C ) 5mem D) _2435. C語(yǔ)言程序一行寫(xiě)不下時(shí),應(yīng)該()。A )用回車(chē)換行B)在任意空格處換行C )用分號(hào)換行

2、D )用逗號(hào)換行6. 在C程序中,可以作為用戶(hù)標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。A ) void define WORDB) as_b3 _224 ElseC ) switch wer caseD ) 4b DO SIG7. 在C語(yǔ)言中,下列合法的字符常量是()。A ) ' 039B) ' x76 ' C ) ' ab' D ) ' o '8. 以下說(shuō)法正確的是()。A ) C語(yǔ)言程序是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行B )在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在ma in ()函數(shù)中定義C) C語(yǔ)言程序是從 main()函數(shù)開(kāi)始執(zhí)行的D ) C語(yǔ)言程序中的

3、 main()函數(shù)必須放在程序的開(kāi)始部分9. ()是構(gòu)成C語(yǔ)言程序的基本單位)語(yǔ)句)主程序A)函數(shù)B )變量 C )子程序10. 一個(gè)C語(yǔ)言程序總是從()開(kāi)始執(zhí)行的A)主過(guò)程B)主函數(shù) C )子程序11. 以下敘述不正確的是()A ) 一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B ) 一個(gè)C源程序必須包含一個(gè)main ()函數(shù)C ) C程序的基本組成單位是函數(shù)D)在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面12. C語(yǔ)言規(guī)定:在一個(gè)源程序中,main ()函數(shù)的位置()A )必須在最開(kāi)始B )必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面13. 以下敘述正確的是()A )在C程序中,main ()函數(shù)必須位于程序的最前面

4、B ) C程序中的每行中只能寫(xiě)一條語(yǔ)句C)C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句D)在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫(xiě)錯(cuò)誤14. C語(yǔ)言中標(biāo)識(shí)符只能由字母、數(shù)字和下劃線(xiàn)3種字符組成,且第一個(gè)字符()A)必須為字母B)必須為下劃線(xiàn)C)必須為字母或下劃線(xiàn)D )可以是字母、數(shù)字和下劃線(xiàn)中任意一種字符二、填空題1. 一個(gè)C語(yǔ)言編寫(xiě)的程序是從 _main函數(shù)_開(kāi)始執(zhí)行的。2. 結(jié)構(gòu)化程序所規(guī)定的3種基本控制結(jié)構(gòu)是_順序結(jié)構(gòu)_、_選擇結(jié)構(gòu)_和_循環(huán)結(jié)構(gòu)_3. C語(yǔ)言的標(biāo)識(shí)符可分為_(kāi)保留字_、_用戶(hù)定義標(biāo)識(shí)符 _ 和預(yù)定義標(biāo)識(shí)符3類(lèi)。4. 在C語(yǔ)言中,整數(shù)可用 _十_ 進(jìn)制、八_ 進(jìn)制和十六_ 進(jìn)制三種

5、。5. 一個(gè)C語(yǔ)言程序的開(kāi)發(fā)過(guò)程包括:編輯、編譯_、連接和運(yùn)行4步。6. 一個(gè)C源程序中至少應(yīng)包括一個(gè) _main函數(shù)。7. 在一個(gè)C源程序中,注釋部分兩側(cè)分界符分別為_(kāi)/* _ 和_*/。8. C語(yǔ)言中的標(biāo)識(shí)符只能由 3種字符組成,它們是 字母_、_數(shù)字_和_下劃線(xiàn) _。9. C程序執(zhí)行過(guò)程生成的3種文件及擴(kuò)展名為 _.c、.obj 和_.exe。作業(yè)02數(shù)據(jù)類(lèi)型及運(yùn)算一、選擇題1. c語(yǔ)言中簡(jiǎn)單數(shù)據(jù)類(lèi)型有(A )整型、實(shí)型、邏輯型BC)整型、實(shí)型、字符型D2. 以下選項(xiàng)中正確的整型常量是(A) -37 B ) 32,758 C)。)整型、字符型、邏輯型)整型、實(shí)型、字符型、邏輯型)。)3

6、2 6 D ) 6.3. 以下選項(xiàng)中合法的 C語(yǔ)言字符常量是()。A)' t ' B?!?A”C ) 67 D ) A4 以下選項(xiàng)中不正確的實(shí)型常量是()。A) 123 B ) 1e45 不合法的十六進(jìn)制數(shù)是(C ) 3.640E-1 D ) 0.35)。A) 0xff B ) 0X11C) 0x1g6 以下選項(xiàng)中合法的C語(yǔ)言賦值語(yǔ)句是(D ) 0Xabc)。A) a=b=34 B ) a=34,b=34 C ) -i7. 在C語(yǔ)言中,char 型數(shù)據(jù)在內(nèi)存中是以(A)原碼 B ) 補(bǔ)碼C) ASCII碼8. 以下(。是不正確的轉(zhuǎn)義字符D) m=(int)(x+y)。形式儲(chǔ)存的

7、。D 。反碼A)B 。'”C)' 020' D )' 0 '9. 若有代數(shù)式3ae/be,則不正確的 C語(yǔ)言表達(dá)式是()。A ) a/b/c*e*3 B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*310. 在C語(yǔ)言中,要求參加運(yùn)算的數(shù)必須是整數(shù)的運(yùn)算符是(A)%B)/C)!D)*11. 若已定義x和y為double類(lèi)型,則表達(dá)式"x=1,y=x+3/2A) 1B) 2C) 2.012. 若變量已正確定義并賦值,符合B)a=7+b+c,a+則下列語(yǔ)句(“的值是(A) a=a+113. 若a為整型變量,a=-2L;printf(

8、“ dn”A)賦值不合法14. 對(duì)于條件表達(dá)式(,a);B)輸出值為D ) 2.5C語(yǔ)言語(yǔ)法的表達(dá)式是(C)i nt(12.3/4)D)a=a+7=c+b。-2 C) 輸出值不為確定值M) ? ( a+): (a-),其中表達(dá)式 M等價(jià)于(C) M!=0 D ) M!=1則下面表達(dá)式的值為(D) 輸出值為2。A) M= =0 B ) M= =-115. 若有定義:int x=3,y=2;float a=2.5,b=3.5; (x+y)%2+(i nt)a/(i nt)bA)1.0B)1C)2.0D)216. 若x和n均是int型變量,且x初值為12,n初值為5,則執(zhí)行下面表達(dá)式后x值為(x%=

9、( n%=2)A)0B)1C)2D)317. 假設(shè)所有變量均為整型,則表達(dá)式A) 7 B ) 8C) 918. 設(shè) int x=1,y=1; 表達(dá)式(!x|y-)A)0B) 1C)2D)-119. 若已定義x和y為double類(lèi)型,A)1B)2C)2.0(a=2,b=5,a+,b+,a+b) 的值為(D ) 10的值是(則表達(dá)式x=1,y=x+3/2的值是(D)2.520. 若變量a,i已正確定義,且i已正確賦值,則合法的語(yǔ)句是(A)i=i nt(a)B)+i;21. 若執(zhí)行以下程序段后,int c1=1,c2=2,c3;c3=1.0/c2*c1;A)0B)0.5C)122. 能正確表示邏輯關(guān)

10、系”C)a=a+=5c3的值是(D)2a> 10 或 a< 0”D)a=i nt(i)。的C語(yǔ)言表達(dá)式是()。A)a>=10 or a<=0 B)a>=0|a<=10 C)a>=10&&a<=0D)a>=10|a<=023.若變量x、y、z均為double類(lèi)型且已經(jīng)正確賦值,不能正確表示x/(y x z)的C語(yǔ)言表達(dá)式是()。A) x/y*z B)x*(1/(y*z)C)x/y*1/z D)x/y/z24. 設(shè)x、y、t均為int型變量,則執(zhí)行語(yǔ)句:x=y=3;t=+x|+y;后,y的值為()。A) 不定值B ) 4C

11、) 3 D ) 125. 設(shè) a、b、c、d、m n 均為 int 型變量,且 a=5,b=6,c=7,d=8,m=2,n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n 的值為()。A)0B)1C)2D)326.假定w、x、y、z、m均為int型變量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)? w:x; m=(m<y)? m:y; m=(m<z)? m:z;則該程序運(yùn)行后,m的值是()。A)4 B )3 C )2D) 127. 已知int i;float f;正確的語(yǔ)句是()。A) (int f)%i; B)int

12、(f)%i; C)int(f%i);D)(int)f%i;28. 已知int j,i=1;, 執(zhí)行語(yǔ)句j=-i+;后,j的值是()。A)1B)2C)-1D)-229. 已知int a=4,b=5;, 則執(zhí)行表達(dá)式 a=a>b后,變量a的值為()。A) 0 B ) 1 C ) 4 D ) 5 30.判斷char類(lèi)型數(shù)據(jù)c1是否為大寫(xiě)字母的最簡(jiǎn)單且正確的表達(dá)式為(A)' A' <=c1<=' Z'B)(c1>=' A' )&(c1<= ' Z')C)( 'A' <=c1)AN

13、D( ' Z' >=c1)D)(c1>= ' A' )&&(c1<= ' Z')、填空題1. 若a是int型變量,則執(zhí)行表達(dá)式a=25/3%3后a的值是_2。2. 若x和n均是int型變量,且x和n的初值均為5,則執(zhí)行表達(dá)式 x+=n+后x的值為10的值為_(kāi)6。3. 若x和y都是double型變量,且x初值為3.0 ,y初值為2.0,則表達(dá)式pow(y,fabs(x)的值為 8.0。4. 表達(dá)式 pow(2.8,sqrt(double(x)值的數(shù)據(jù)類(lèi)型為 _double _。5. 若a是int型變量,則表達(dá)式(a

14、=4*5,a*2),a+6的值為_(kāi)26。6. 若有定義int m=5,y=2;則執(zhí)行表達(dá)式 y+=y-=m*=y后y的值為_(kāi)-16。7. 已知int a=15,b=240; 則表達(dá)式(a&b)&b|b的結(jié)果為1。8. 表達(dá)式8.0*(1/2) 的值為 _0.0。9. 字符串“ ab034x79 ”的長(zhǎng)度為5。10. 若s是int型變量,且 s=6,則s%2+(s+1)%2表達(dá)式的值為 _ 1。11. 若a、b和c均是int型變量,則計(jì)算表達(dá)式a=(b=4)+(c=2)后,a值為6,b值為_(kāi)4,c值為_(kāi)2。12. 若有定義:char c=' 010 '則變量c中包

15、含的字符個(gè)數(shù)為 _1。13. 若i為int整形變量且賦值為6,則運(yùn)算i+后表達(dá)式的值為 6_變量i的值是 14.若二進(jìn)制a是00101101,若想通過(guò)異或運(yùn)算 aAb使a的高4位取反,低4位不變,則二進(jìn)制 b是11110000o15.表達(dá)式3&4的值為 _0,表達(dá)式3|4的值為 _7,表達(dá)式3&&4的值為_(kāi) 1三、讀程序?qū)懡Y(jié)果1. 如下程序的運(yùn)行結(jié)果是(33#in clude<stdio.h>void mai n() int y=3,x=3,z=1;printf( “ %d%dn ,(+x,y+),z+2); 2. 以下程序的輸出結(jié)果是(6)。#in clu

16、de<stdio.h>void mai n()“ %dn” ,d=a>b?(a>c? a:c):(b); int類(lèi)型, int a=5,b=4,c=6,d;printf(則輸出的結(jié)果是(7 )。3. 在C語(yǔ)言中,如果下面的變量都是sum=pad=5;pad=sum+,pad+,+pad;printf(“ %dn” ,pad);4. 以下程序的輸出結(jié)果是(9,10#in clude<stdio.h>void mai n()“d,%dn”,+i,j-); int i=010,j=10;printf(作業(yè)03基本語(yǔ)句一、選擇題1.若有說(shuō)明:A) scanfC) s

17、canfdouble a;則正確輸入語(yǔ)句是 (“ %if ”,a)(“ %if ”,&a)2.合法的C語(yǔ)言賦值語(yǔ)句是(A) a=b=58 B ) k=i nt(a+b)B)D)。C)scanfscanf)。(“ f”,&a)(“ lo”,&a)a=58,b=583. 若變量已確定定義,以下程序段輸出結(jié)果是(x=5.16894;printf( “ %fn ” ,(int)(x*1000+0.5)/(float)A)輸出格式說(shuō)明與輸出項(xiàng)不匹配,輸出無(wú)定值C) 5.1680004. 若有以下程序其輸出結(jié)果是(int a=0 ,b=0,c=0;c=(a_=a_5),(a=b,b

18、+3);D) -i;(1000) ”);B) 5.170000D) 5.169000printf( “ %d,%d,%dn” ,a,b,c);A) 3,0,-10 B) 0,0,55. 以下程序其輸出結(jié)果是(#in clude <stdio.h>void mai n() int a=2 , b=5;printf( “a=%d,b=%dn ,a,b); A) a=%2,d=%5 B) a=2,b=5 C) a=%d,b=%56. 以下程序段輸出結(jié)果是(float a=3.1415;printf ("|%6.0f|n ”A) |3.1415| B) | 3.0|7. 以下程序

19、段輸出結(jié)果是(float a=57.666;printf(“ *%010.2f*n ” ,a);A)*0000057.66 B) *57.66*8. 若變量c定義為float的輸入語(yǔ)句是()。A)scanf(“ f” ,c);C)scanf(“ %d ,&c),a,b);C) -10,3-10D) 3,0,3D) a=%d,b=%dC) I 3|D ) |3. |C) *00000 . 57.67* D) *57.57*型,當(dāng)從終端輸入 283.1900后按回車(chē),能給變量 c賦以283.19B)sca nf(D)sca nf(“8.4f”,&c); “8f”,&c);9

20、. 若有以下定義語(yǔ)句,則輸出結(jié)果是(int u=010, v=0x10,w=10;printf( “ %d,%d,%dn” ,u,v,w);A)8,16,10B)10,10,10C)810. 下面程序的輸出是()o#in clude <stdio.h>,8, 10D)8,10, 10void mai n() int k=11; printf( “d,%o,%xn”,k,k,k);A)12,11,11B)11,13,13C)11,013,0xb11. 下面程序的輸出結(jié)果是()。#in clude <stdio.h>main () int x=5,y=3; printf(“

21、%dn”,y=x/y); A)0B)1C)3 D) 不確定的值12. 若變量已正確定義,下面程序段的輸出結(jié)果是(x=5.238794;D)11,13,b)o /與3類(lèi)似printf( “ %fn ” ,(int)(x*1000+0.5)/(float)1000);A)5.239000B)輸出格式說(shuō)明與輸出項(xiàng)不匹配,輸出無(wú)定值C)5.238000D)5.2413. 下面語(yǔ)句的輸出結(jié)果是(prin t("|%8.5f|n",3461.45);A)|61.45000|B)|3461.450|14. 執(zhí)行下面程序中的輸出語(yǔ)句后,#in elude <stdio.h>vo

22、id mai n() int a;prin tf("%dn",(a=3*5,a*4,a+5); )。C) |3461.45000|D)|3461.4500|a的值是()。A)65B)20C)15D)1015. 以下程序不用第三個(gè)變量,實(shí)現(xiàn)將兩個(gè)數(shù)進(jìn)行對(duì)調(diào)的操作,請(qǐng)?zhí)羁?)。#in elude<stdio.h>main () int a,b;scan f("%d%d", &a,&b);prin tf("a=%d b=%d",a,b); a=a+b;b=a-b;a=;prin tf("a=%d b=%

23、dn",a,b); A)a=b B)a-b C)b*a D)a/b16. 以下程序的輸出結(jié)果是()。#in elude<stdio.h>void mai n() int m=7,n=4;float a=38.4,b=6.4, x;x=m/2+n*a/b+1/2;prin tf("%fn",x); A)27.000000B)27.500000C)28.000000D)28.50000017. 若變量都已正確說(shuō)明,則以下程序段輸出結(jié)果是()。a=2;b=3;printf("a>b?*a=%d;#b=%d ”,a,b);?A)沒(méi)有正確的輸出格

24、式控制B)輸出為:*a=2C)輸出為:#b=2D)輸出為:*a=2#b=218.若已定義int a=256;,執(zhí)行語(yǔ)句prin tf("%x",a);的結(jié)果是()A)100B)256 C)ffe D)ff19. 執(zhí)行下列程序時(shí)輸入1234567,程序的運(yùn)行結(jié)果為(#in clude<stdio.h>void mai n() int x,y;scan f("%2d%2d", &x,&y);prin tf("%dn",x+y);A)17B)46C)15D)920.已知inta,;i ntb;floatc;dou

25、ble d;,則表達(dá)式 a*b=c-d結(jié)果為()型。??A)DoubleB)i ntC)float D)char21.已知int a,b;, 用語(yǔ)句scanf("%d%d",&a,&b);輸入a,b的值時(shí),不能作為輸入數(shù)據(jù)分隔符的是()。A), B)空格 C) 回車(chē) D) Tab鍵22. 語(yǔ)句 printf("%d",(a=2)&&(b=-2);的輸出結(jié)果是()。A)無(wú)輸出 B)結(jié)果不確定C)-1D)123. 下述程序的輸出結(jié)果是()。#in clude<stdio.h>void mai n() printf(

26、"%f',2.5+1*7%2/4); A)2.50000B)2.750000C)3.375000D)3.000000二、填空題1. 變量i、j、k已定義為int類(lèi)型并有初值0,用以下語(yǔ)句進(jìn)行輸入:scanf (" %d ,&j ) ;scanf(“ d' ,&k);當(dāng)執(zhí)行以上輸入語(yǔ)句,從鍵盤(pán)輸入(<CR>表回車(chē)鍵):12.3 <CR>貝U變量i、j、k的值分別是_0,12,0 。2. 復(fù)合語(yǔ)句在語(yǔ)法上被認(rèn)為是_一條語(yǔ)句 _,空語(yǔ)句的形式是 _;。3. C語(yǔ)句句尾用_;結(jié)束。4. 運(yùn)行如下程序:#in clude <

27、;stdio.h>void mai n() int a,b,c;scanf(“d,%d,%c” ,&a,&b,&c);printf( “%d,%d,%d ,a,b,c); 運(yùn)行時(shí),輸入3、4、5,輸出的值為_(kāi)3,4,5 。5. 字符常量使用一對(duì)二界定單個(gè)字符,而字符串常量使用一對(duì)"來(lái)界定若干個(gè)字符的序列。6. 設(shè) x=2.5,a=7,y=4.7, 貝U x+a%3*(int)(x+y)%2/4為2.5 。7. 自增運(yùn)算符 什+)或自減運(yùn)算符(-)只能用于 變量,不能用于_常量或表達(dá)式_8. 表達(dá)式5%(-3)的值是2,表達(dá)式-5%(-3)的值是 _-2。

28、三、讀程序?qū)懡Y(jié)果-200,25i=-200,j=25 i=-200j=251. 下列程序的輸出結(jié)果是(#in clude<stdio.h> void mai n() int i=-200,j=25;prin tf("%d,%d",i,j);prin tf("i=%d,j=%dn",i,j);prin tf("i=%dn j=%dn",i,j); 2. 使用強(qiáng)制轉(zhuǎn)換方法將正整數(shù)轉(zhuǎn)換成字符。本程序的執(zhí)行結(jié)果是(#in clude<stdio.h>e:r *C : Documents and S 嶽入-個(gè);b的腮口

29、i碼為対void mai n() char c;i nt i;printf(”輸入一個(gè)正整數(shù)(小于 255):");sca nf("%d",&i);c=(char)i;20分鐘printf("%c的 ASCII 碼為 %dn",c,i); 3. 下列程序的輸出結(jié)果是(560分鐘<=>9小時(shí)#in clude<stdio.h>void mai n() int i=560,h,m;h=i/60;m=i-60*h;printf("%d分鐘 <=>%d小時(shí) d分鐘 n",i,h,m); 4

30、. 下列程序的輸出結(jié)果是(*3.140000,3.142*#in clude<stdio.h>void mai n() printf("*%f,%4.3f*n",3.14,3.1415); 5. 已有定義int d=-2;執(zhí)行以下語(yǔ)句后的輸出結(jié)果旦*d(1)=-2*d(2)= -2*d(3)=-2 *d(4)=fffffffe*d(5)=fffffffe*d(6)=fffffffeprin tf("*d(1)=%d*d(2)=%3d*d(3)=%-3d* n",d,d,d);prin tf(”*d(4)=%x*d(5)=%6x*d(6)=%-

31、6x*n",d,d,d);*%號(hào)之間加上一個(gè)星號(hào),他的作用是(跳30 40 回車(chē)(此處 代表空格),6. 在scanf ()函數(shù)調(diào)用語(yǔ)言,可以在格式字符和過(guò)對(duì)應(yīng)的輸入數(shù)據(jù));當(dāng)輸入以下數(shù)據(jù)時(shí):10 20 下面語(yǔ)句的執(zhí)行結(jié)果是(103040)。int a1,a2,a3;sca nf("%d%*d%d%d", &a1,&a2, &a3);prin tf("%d%d%d",a1,a2,a3);7. 執(zhí)行以下程序時(shí),若從第一列開(kāi)始輸入數(shù)據(jù),為使變量a=3,b=7,x=8.5,y=71.82,c仁'A ',c2=&

32、#39;a ',正確的數(shù)據(jù)輸入形式是(#in clude<stdio.h>)。void mai n() int a,b;float x,y;char c1,c2;sca nf("a=%db=%d",&a,&b);sca nf("x=%fy=%f",&a,&b);sca nf("c 1= %cc2=%c", &c1, &c2);a=3b=7 x=8.5y=71.82 c1= A,c2=aprintf("a=%d,b=%d,x=%f,y=%f,c 1= %c,c

33、2=%c",a,b,x,y,c1,c2); 四、程序填空1、給定程序的功能是:求二分之一的圓面積,函數(shù)通過(guò)形參得到圓的半徑,函數(shù)返回二分之一的圓面積(注:圓面積公式為:S =二:在程序中定義的變量名要與公式的變量相同)。例如:輸入圓的半徑值:19.527,輸出為:s=598.949991。注意:部分源程序給出如下。試題程序:#in clude <stdio.h>void mai n() double x;prin tf("E nter x:");scanf("%lf",【1 】); &xprintf("s=%lfn

34、",3.14159*【2 /2.0); x*x五、編程題1. 請(qǐng)編寫(xiě)程序其功能是:將兩個(gè)兩位的正整數(shù)a、b合并成一個(gè)整數(shù)放在c中。合并方式是: 將a數(shù)的十位和個(gè)位數(shù)依次放在 c數(shù)的十位和千位上,b數(shù)的十位和個(gè)位數(shù)依次放在 c數(shù)的個(gè) 位和百位上。例如:當(dāng)a=45,b=12,調(diào)用該函數(shù)后,c=5241。2.假設(shè)m是個(gè)三位數(shù),則輸出將 序?yàn)?21。m的個(gè)位,十位,百位反序而成的三位數(shù)(例如:123反作業(yè)04選擇結(jié)構(gòu)一、選擇題1.下面的程序() 。#in clude <stdio.h>void mai n() int x =3,y =0 , z =0;if (x =y +z )

35、printf("* * * *" );elseprintf("# # # #" ); A)有語(yǔ)法錯(cuò)誤不能通過(guò)編譯B)輸出* * * *C)可以通過(guò)編譯,但是不能通過(guò)連接,因而不能運(yùn)行D)輸出# # # #2.兩次運(yùn)行下面的程序,如果從鍵盤(pán)上分別輸入6和4,則輸出結(jié)果是()#in clude <stdio.h>void main () int x;scanf (” %d ", &x );if (x+>5)printf("%d",x );elseprintf("%dn", x-);A

36、) 7 和 5 B ) 6 和 3C ) 7 和 4D ) 6 和 43.以下程序的輸出結(jié)果是()#in elude <stdio.h>void main () int a =-1, b =4, k;k =(+a<0)&&! (b- -<= 0);printf (" %d%d%d n",k,a,b) ; A) 104 B ) 103 C ) 003D) 0044. 能正確表示a> 10或aw 0的關(guān)系表達(dá)式是()。A) a >=10or a < =0 B) a >=10| a < =0C) a >=

37、10& &a < =0D) a >=10|a < =05. 假定所有變量以正確說(shuō)明,下列程序段運(yùn)行后x的值是()a=b=c=0;x =35;if (! a) x-;else if(b);if(c) x=3;else x=4;A) 34B) 4C)35D)36.表示關(guān)系XW YW Z的c語(yǔ)言表達(dá)式為()。A) (X < =Y ) &&(Y< =Z)B)(X < =Y)AND(Y< =Z)C) (X < =Y< =Z)D)(X < =Y)&(Y <=Z)7.如下程序的輸出結(jié)果是() 。#in

38、clude <stdio.h>void mai n() int a,b,c =246;a=c/100%9;b=(-1)&&(-1);printf(” %d, %dn",a,b); A) 2,1 B ) 3,2C) 4,3D ) 2, -18. 當(dāng)a=1、b=2、c=5、d=5時(shí),執(zhí)行下面的程序后,x的值是()。if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;else x=3;else x=6;else x=7;A) 1B) 2 C ) 3 D ) 69. 能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式

39、是()。A) (a>=0|b>=0 ) && (a<0|b<=0) B ) (a>=0&&b>=0) && (a<0&&b<=0)C) (a+b>0) && (a+b<=0)D) a * b >010. 若a、b、c1、c2、x、y、均是整型變量,正確的switch語(yǔ)句是()。A) switch(a +b);B) switch(a +b) case 1: y =a +b;break;case 0: y =a -b;break;case 3C) swi

40、tch a case c1 : y =a -b;break;case c2 : x =a *b;break;default: x =a +b; case 3 case 1D) default case 3 case 10:y =a +b;break;:y =b - a, break; switch(a - b):y =a *b;break;:case 4 : x=a +b;break;:case 11 : y =a -b;break; 11.下列關(guān)于switch語(yǔ)句和break語(yǔ)句的結(jié)論中,正確的是 ()。A)B)C)D)break語(yǔ)句是switch 語(yǔ)句中的一部分在switch語(yǔ)句中可以根據(jù)

41、需要使用或不使用break語(yǔ)句在switch 語(yǔ)句中必須使用break語(yǔ)句break語(yǔ)句只能用于 switch語(yǔ)句中12. 設(shè)有說(shuō)明語(yǔ)句“switch(a) case 1:switch(b) case O:pri ntfcase 1:pri ntfcase 2:pri ntfA) * * 0 * *C) * * 0 * * * * 1 * * * * 2 * *13. 為了避免在嵌套的條件語(yǔ)句if與()int a =1,b=0;”則執(zhí)行以下語(yǔ)句后,輸出為()。("* * 0 * * ”("* * 1(” * * 2 * * ");break;);break; ;b

42、reak; B)* * 0 * * * * 2 * *D)有語(yǔ)法錯(cuò)誤- else中產(chǎn)生二義性,C語(yǔ)言規(guī)定:else子句總是配對(duì)。A)縮排位置相冋的ifB)其之前最近的ifC)其之后最近的ifD)同一行上的if14.有定義語(yǔ)句:int a =1,b =2,c =3, x;,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不等于3的是()。A) if(c <a) x =1;B)if(a<3) x =3;else if(b <a) x =2;else if(a <2) x =2;else x =3;else x =1;C) if(a <3) x =3;D)if(a<b) x =

43、b;if(a <2) x =2;if(b<c) x =c;if(a <1) x =1;if(c<a) x =a;15.有以下程序main () int a =5, b =4 ,c= 3,d= 2;if (a> b> c)printf (" %dn",d);else if (c-1>= d) = 1);printf(" %dn",d+ 1)elseprintf執(zhí)行后輸出結(jié)果是A) 216.有一函數(shù):y =(” %dn",d + 2) ;() 。B) 3'1 x >00 x =0 ,以下程序段

44、中不能根據(jù)-1 x <0C) 4)編譯時(shí)有錯(cuò),無(wú)結(jié)果x值正確計(jì)算出y值的是()。)if(x > =0)語(yǔ)句是()。if(x)if)Dif(x > =0)A) if(x >0) y =1;else if(x = =0) y =0;else y = -1;C) y=0;if(x > =0)if(x >0) y =1;else y =-1;17.與 y=( x >0?1:x <0? -1:0 A) if(x >0) y =1;else if(x<0) y = -1;else y =0;else y =0;C) y = -1;if(x)y =

45、0; if(x >0) y =1;else if (x <0) y = -1;Dif(x >0) y =1;else y =0;else y = -1;);的功能相同的Bif(x >0) y=1;else if(x <0) y = -1;y =0;if (x >0)y =1;if(x >0) y =1;else if(x = =0) y =0;else y = -1;else y = -1;18. 當(dāng)a=1,b=3,c=5,d=4 時(shí),執(zhí)行下面一段程序后,x的值為()。if (a<b)if(c<d)x1;else if(a < c)i

46、f(b < d) x = 2;else x = 3;else x = 6;else x = 7;A) 1B) 2 C ) 3D) 619. 為了使輸出結(jié)果為:t=4,則給a和b輸入的值應(yīng)滿(mǎn)足的條件是()A) a>b B ) a <b<0C) 0 <a < b D ) 0 >a>bvoid mai n () int s,t,a,b;scanf (” d,%d ",&a,&b );s =1;t =1;if ( a>0)s=s+1;if (a>b)t=s+1;else if(a=b)t=5;elset=2*s;pr

47、intf (" %d n",t) ;20. 對(duì)下述程序,()是正確的判斷#in clude<stdio.h>void main ()int x , y;scanf (" %d %c” , &x, &y);if (x>y)x=y;y=x;elsex+;y+;printf (“ %d %cT,x,y) ;A) 語(yǔ)法錯(cuò)誤,不能通過(guò)編譯B)輸入數(shù)據(jù)3和4,則輸入4和5C)輸入數(shù)據(jù)4和3,則輸入3和4 D )輸入數(shù)據(jù)4和3,則輸出4和4二、填空題1. 表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“真”的c語(yǔ)言表達(dá)式是_x>5 | x<-5

48、2. 以下程序的輸出結(jié)果是_0_。#in elude <stdio.h>void main () int a =5, b =4, c=3, d;d= (a>b>c);printf (" %d n",d);3.20<x<30 或 x<-100 的 c 語(yǔ)言表達(dá)式是20<x && x<30 | x<-100。4. 若int i=10;,則執(zhí)行下列程序后,變量i的正確結(jié)果是 _ 13。switch(i) case 9:i+=1;case 10:i+=1;case 11:i+=1;default:i+=1;

49、 5. 以下程序的輸出結(jié)果是_2。#in clude <stdio.h>void main () int x=2, y= -1 , z =2;if(x <y)if(y <0)z =0;else z + =1;printf (" %dn",z ); 6. 若運(yùn)行時(shí)輸入12,則以下程序的結(jié)果 0。#in clude <stdio.h>void main () int x ,y;scanf(” %d ",&x);y =x >12? x +10:x -12;的表達(dá)式printf (" %d n",y)

50、;7. 設(shè)x、y、z均為int型變量,請(qǐng)寫(xiě)出描述“x或y中至少有一個(gè)小于z”x<z | y<z _。8. 已知 A =7.5,B =2,C =3.6,表達(dá)式 A > B&&C>A|A <B&& C >B 的值是三、讀程序?qū)懡Y(jié)果1.以下程序運(yùn)行結(jié)果是(yes )。void main () int a =1, b =3, c =5;0("yesn",) ("non" ) ;if(c =a +b) printf else printf2. 以下程序運(yùn)行結(jié)果是( 503)。void main (

51、) int a =4, b =3 , c =5,t =0;if (a <b)t =a;a =b;b =t;if(a <c)t =a;a =c;c =t;printf (" %d %d %d n",a, b,c ) ; 3. 以下程序運(yùn)行結(jié)果是(20,0)。void main() int x=10, y=20, t=0;if(x=y)t=x;x=y;y=t;printf (" %d ,%dn",x,y) ; 4. 以下程序運(yùn)行結(jié)果是(1 3 2)。void main () int i , m =0,n =0,k =0;for(i =9;i &l

52、t; =11;i + +)switch(i%10) case 0:m + +;n + +;break;case 10:n + +;break;default: k + +;n + +; printf(" %d %d %d n",m,n,k) ; 四、閱讀下列程序,在【】處填入適當(dāng)內(nèi)容,使程序完整。1. 輸入x、y兩個(gè)整數(shù),按先大后小的順序輸出x、y。#i nclude <stdio.h>void mai n() int x,y,【1】; tscanf(“ %d %d,&x,&y);if(x<y)【2 】t=x _jx=y_【4】y=t ;

53、printf(“x=%d,y=%dn ” ,x,y); 2. 輸入一個(gè)三位數(shù),按逆序輸出各個(gè)位數(shù)#i nclude <stdio.h>void mai n() int x,a,b,c,y;scanf( “ d',&x);a=【5 】;x%10b=【6 】;x/10%10c=【7 】;x/100y=a*100+b*10+c;printf(“ y=%dn”,y);3.輸入百分制成績(jī),要求輸出成績(jī)的等級(jí)A' , ' B' , ' C' , ' D' , ' E'。90分以上為'A',

54、8089分為'B', 7079分為'C', 6069分為'D', 60分以下為'E'。 #in clude “ stdio.h ”void mai n() float score;【11】; char gradeprintf("請(qǐng)輸入學(xué)生成績(jī):”);scanf( “ f”,&score);switch( 【12】)(in t)(score/10) case 10:case 9case 8case 7case 6case 5case 4case 3case 2case 1case 0 printf(:grade=&

55、#39;A;break;:grade='B'break;:grade='C;break;:grade='D;break;:grade='E';"成績(jī)是%5.1f,相應(yīng)的等級(jí)是%c。nscore,grade); 五、編程題1. 從鍵盤(pán)輸入一個(gè)字符,如果該字符為小寫(xiě)字母,則轉(zhuǎn)換為大寫(xiě)字母輸出;如果該字符為大寫(xiě)字母,則轉(zhuǎn)換為小寫(xiě)字母輸出;如果為其它字符,則原樣輸出。2.有一函數(shù)x(x : 1 )y =< 2 x 1 .(1 蘭 x < 10)3 x - 11.( x _ 10)寫(xiě)一程序,輸入x,輸出y值。3.征稅的辦法如下:收入在 800元以下(含800元)的不征稅;收入在800元以上,1200 元以下者,超過(guò) 800元的部分按5%的稅率征稅;收入在120

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論