C語言程序設(shè)計課本習題解答_第1頁
C語言程序設(shè)計課本習題解答_第2頁
C語言程序設(shè)計課本習題解答_第3頁
C語言程序設(shè)計課本習題解答_第4頁
C語言程序設(shè)計課本習題解答_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、習題1一.選擇題(1)以下敘述正確得就是()A、 計算機不僅能執(zhí)行機器語言程序,也可以直接執(zhí)行其它高級語言編寫得程序B、 匯編語言就是一種面向機器得低級語言,所以計算機可以直接執(zhí)行用匯編語言編寫得源程序C、 高級語言就是與自然語言或數(shù)學(xué)語言相近得計算機語言,用高級語言編寫得源程序計算機都不能直接執(zhí)行D、 用高級語言編寫得源程序只能經(jīng)過解釋程序邊解釋邊執(zhí)行(2)以下不正確得概念就是()A、 一個C程序必須包含一個main函數(shù)B、 一個C程序可以只有一個語句C一個C程序可以由一個或多個函數(shù)組成D一個C語言函數(shù)可以沒有任何可執(zhí)行語句(3)C語言程序中()。A、main函數(shù)必須放在程序最前頭B、mai

2、n函數(shù)必須放在程序最后C、 main函數(shù)必須放在所有函數(shù)之前Dkmain函數(shù)可以放在程序任何允許放置函數(shù)得位置(4)科下C語言源程序得書寫格式不正確得就是()A、 正確得函數(shù)首部,其后必須加上分號B、 分號就是語句得一部分C、 一行上可以書寫多條語句D、 一個語句可以寫在多行之上(5) 以下不正確得敘述就是()A、 一個#include命令只能指定一個被包含文件B、 一個#include命令可以指定多個被包含文件C、在#include命令中,文件名可以用尖括號或雙引號括起來Dk一個C程序中,可以使用多個#include文件包含命令二.填空題(1 )計算機程序設(shè)計語言分為語言、語言與語言。(2)

3、正確得算法應(yīng)具有五個重要得特征就是(3)算法得表示方法主要有、 自然語言與語言等。4)程序設(shè)計方法主要分為程序設(shè)計方法與程序設(shè)計方法.(5)C語言得函數(shù)一般由兩部分組成。6)注釋部分從開始,以結(jié)束。7) ?任何C 程序得執(zhí)行都就是從函數(shù)開始。(8 )幅數(shù)體一般包括部分與部分 .(9) ”個C語言程序由若干個函數(shù)組成, 其中必須有一個函數(shù)。三。編程題(1)?機機運行本章例題,熟悉所用C語言系統(tǒng)(如:TurboC/C+與VisualC+6、0等)得上機方法與步驟。(2)參照本章例題編寫一個C語言程序,并上機運行,要求輸出一下信息:*Hello,World!*【參考答案】一。選擇題 (1 ) C(2

4、) B( 3 ) D二。填空題 (1 ) 機器語言、匯編語言、高級語言( 3) 傳統(tǒng)流程圖、 N S 圖、偽代碼、計算機程序 (4)( 5) 函數(shù)首部、函數(shù)體 ( 6) * 、 /三。編程題(1)例1、3輸出一彳f信息,內(nèi)容為:This is my/* exal 3、c */#in c lud e <stdio 、h>voi d main()printf( " This i s my first C p ro g ram、例 1 、 4 鍵盤輸入兩個整數(shù),求兩個整數(shù)中得較大者。( 4) A( 5) B(2)有窮性、確定性、有效性、輸入、輸出面向過程、面向?qū)ο髆ain (8

5、)聲明、執(zhí)行(9) mainf irs t C pr o g r amn" )/* exa14、c */# in c lude " s tdio、h"void m ain()/ 頭文件 /* 主函數(shù) /? n t max( i nt x , inty);?i nt a , b ,c;/ * 對被調(diào)用函數(shù)m ax得聲明*/定義三個整型變量 a, b,c */?)r i n tf ("Please inp u t two integersa, b : * 提示輸入*/?s c an f ("%d , % d”c= max(a , b);/*鍵盤輸入

6、變量a與b得值 */* 調(diào)用ma x函數(shù),將函數(shù)返回值賦值給變量c */prin t f m max=%dn", c);/ 輸出 c 得值 /int m a x( i nt x , i n t y ')/* 定義整型函數(shù)max,其兩個形式參數(shù)x, y也為整型*/?nt z ;if(x >y) z=x;els e z=y ;r e t u rn (z);/ * 函數(shù)max得聲明部分 * /* 如果 x y, 將 x 賦值給 z */ 否則 , 將 y 賦值給 z / 將 z 得值返回給調(diào)用函數(shù)得位置 */(2)解答:/* e xel3 2、c * /#i n clude

7、stdio 、h>v o i d m ain ()zpr i ntf ("* * * *n" );rintf("He1lo,Wor1dn");pr i nt f (" * * * * n ” );一 . 選擇題習題 2(1) 以下哪一個可以作為正確得變量名(A.forZB.$abc?C.3*xZ)。_file(2)以下哪一個不就是正確得C語言常量()。A.0x2ac?B,3、25e8C.800D,0486(3)以下哪一個就是合法得C語言實型常量().Ao3E2、5BE6C。2A8D.218(4)以下哪一個整型常數(shù)值最大()。A.35?B.

8、03500x35?D.50(5)以下不就是字符型常量得就是()。A.'m'?B."n',zCo''115'D.'x8c'(6)以下哪一個字符與其她3個字符不相等()。A。'a'B.'A''X41'?D.'101'(7)以下哪一個就是C語言合法得字符串常量()。A.Iamastudent、B。"中國"?C.'hello'?D.$abc$(8)C語言中short型整數(shù)占2個字節(jié),則unsignedshort型數(shù)據(jù)得其值范圍就是

9、:()。A.0-65535?B,065536C32768-32767?D.-65535-65535(9)在C語言中,數(shù)字018就是一個()。Ao十進制數(shù)B.八進制數(shù)匕十六進制數(shù)Do非法數(shù)(10)在C語言中,不同數(shù)據(jù)類型占用內(nèi)存得字節(jié)長度就是().A.相同得?B?.與編譯環(huán)境有關(guān)得C.任意得?D.由用戶自己定義得(11)以下哪一個不就是C語言中得數(shù)據(jù)類型()。A.實型?3.浮點型”空類型D.關(guān)系型(12)以下哪一個就是C語言中得數(shù)據(jù)類型()。A.集合型?B.雙精度型C.復(fù)數(shù)型?!邏輯型二、填空題(1) C語言得常量分為:常量、常量、常量、常量與常量。(2) C語言中得整型數(shù)據(jù)有三種表示方法,分別

10、就是:進制、進制與進制.(3) C語言規(guī)定,變量必須定義使用。(4) C語言中,sizeof()就是分別就是測定某種類型數(shù)據(jù)所占存儲空間長度得.(5) C語言中,運算符得結(jié)合性有兩種:左結(jié)合與右結(jié)合,左結(jié)合就是計算,右名合就是計算。(6) C語言中,+i就是先,后;i就是先,后。(7)賦值運算符比逗號運算符得優(yōu)先級別_常。 8) 運算符得優(yōu)先級別最低,級別為15。 9) 9)C語言得類型轉(zhuǎn)換有三種方式:_常常類型轉(zhuǎn)換、常類型轉(zhuǎn)換與常常類型轉(zhuǎn)換。三、計算與編程題 10) )給出下列公式得C語言表達式。y=ax2+bx+c?2)y=ax+b/cx+d3、25X108+,(b24ac)x2y3y=1

11、/2+2/3+(x2+y2)/(a2+b2)求表達式3*2+4、0/5-15%-4+(5*8/9+4)%51/2+1、0/2得值。 11) 2)上機運行本章例題,熟悉所用C語言編譯系統(tǒng)得使用. 12) 運算符sizeof()測試以下數(shù)據(jù)類型在內(nèi)存中所占空間得大?。篶har、unsignedchar、int、short、long、unsigned、unsignedshort、unsignedlong、float、double、1ongdoub1e,輸出時一行輸出一種數(shù)據(jù)類型得內(nèi)存字節(jié)大小,并給出清晰得提示信息。【參考答案】一。選擇題(1)D(2)D(3)D(4)C(5)B(6)A(7)B(8)B

12、(9)D(10)B(11)D(12)B二。填空題(1)字符、整型、實型、字符串、符號(2)十、八、十六(3)先、后(4)運算符(5)從左到右、從右到左(6)加1、引用、引用、減1(7) 7)高(8) 逗號(9) 自動、賦值、強制三、計算與編程題(1')y=a*x*x+b*x+c y=(a*x+b)/(c*x+d) 3、25e8+sqrt(b*b4*a*c)x*xy*y*y y=1、0/2+2/3、0+x*x/(a*a)+y*y/(b*b) 7、3( 2) 略( 3)/*exe23-3、c*/#include<stdio、h>intmain(')printf(&quo

13、t;char:%dbytesn",sizeof(char);printf("unsignedchar:%dbytesn",sizeof(unsignedchar);printf("int:%dbytesn",sizeof(int);printf("short:%dbn”,sizeof(short);printfClong:%dbytesn",sizeof(long);printf("unsigned:%dbytesn",sizeof(unsigned);printf("unsignedshort

14、:%dbytesn",sizeof(unsignedshort);printf("unsignedlong:%dbytn”,sizeof(unsignedlong);printf("float:%dbytes'n",sizeof(float);printf("double:%dbytesn",sizeof(double);printf("longdoub1e:%dbytes'n",sizeof(longdouble);習題3一選擇題(1)若有定義:doublea=22;inti=0,k=18;,則不

15、符合C語言規(guī)定得賦值語句就是()A、 a=a+,i+;B、i=(a+k)<=(i+k);Ci=a%11D、i=!a;(2)若有定義:intx,y;chara,b,c;并有以下輸入數(shù)據(jù)(此處,<cr>代表換行符)1 2<c r >ABC<cr>則能給x賦整數(shù)1,給y賦整數(shù)2,給a賦字符A,給b賦字符B,給c賦字符C得正確程序段就是()Ascanf("x=%dy=%d',&x,&y);a=getchar();b=getchar();c=getchar();B、 scanf("%dy%d",&x,

16、&y);a=getchar();b=getchar();c=getchar();Cscanf("%d%d%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);D、scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);(3)若有定義:inta,b;,通過語句scanf("%d;%d",&a,&b);,能把整數(shù)3賦給變量a,5付給變量b得輸入數(shù)據(jù)就是()A、35B、3C、3;5

17、D、35(4)若有定義語句:intk1=10k2=20;,執(zhí)行表達式(k1=k1>k2)&&(k2=k2>k1)后,k1與k2得值分別為()A、0與1與20C、10與1D、10與20(5 )以下不能輸出字符 A得語句就是()(注:字符A得ASCII碼值為65,字符a得ASCII碼值為97)A、printf("%(cn",'A32)B、printfdn”,'A);Cprintf("%cn",6D、printf(%cn”,B-1);二.填空題(1)有以下程序(說明:字符0得ASCII碼值為48)#include&l

18、t;stdio、h>main()charc1,c2;scanf("%d”,&c1);c2=c1+9;printf("%c%cn”,c1,c2);若程序運行時從鍵盤輸入48回車),則輸出結(jié)果為_。(2)以下程序得輸出結(jié)果為:。main()floata=3、14,b=$14159;printf("%f,%5、3fn",a,b);(3)編制程序?qū)崝?shù)a與b進行加,減,乘,除計算,要求顯示如下結(jié)果.jia=70、000000jian=30、000000cheng=1000、000000chu=2、5000000程序:# includestdio、h

19、>voidmain(void)(1)a=50、0;b=20、0;printf("jia=%f'n",(2);【參考答案】一選擇題printf("jian=%fn",(3));printf("cheng=%fn",(4));prinf("chu=fn,(5));將缺少得部分填在空白處。(4)下列程序得輸出結(jié)果就是# includestdio、h>main()chara;a=A;printf("%d%c",a,a);(5)分析下面程序main()?intx=2,y,z;x*=x*=X=3+

20、2;printf("n",x);y=z=4;printf("%d'n",x);y=1;z=X+1;printf("%d,%dn",x,z);z+=x+(+y);printf("%d,d",x,z);程序得輸出結(jié)果就是。三編程題 1) 從鍵盤上輸入一個大寫字母,要求改用小寫字母輸出。 2) 2)請編寫一個程序,能顯示出以下兩行文字。Iamastudent、IloveChina、1)C(2)C(3)A(4)B(5)B二填空題(1)09(2)3、140000,3、142doub1ea,ba+ba-ba*ba/b(

21、4)65A(5)10402、03、0三、編程題 1)#include<stdio、h>voidmain()charc;?Scanf("%c",&c);?f(c>=/A')&&(c<='Z)printf("%cn",c+,a,-'A/);?e1seprintf(”輸入得不就是大寫字母n"); 2) 2)#includestdio、h>voidmain()printf("Iamastudent、nIloveChina、n");習題4一.選擇題(3)能正

22、確表示x得取值范圍在0,100與-10,-(1)?以下程序段:5內(nèi)得表達式就是。inti,a=3,b=2;A)(x<=-10)|(x>=-5)&&(x<=0)|(x>=1i=(-a=b+)?-a:+b;00)printf("i=%da=%db=%d",i,a,b);B)(x)=10)&&(x<=5)|(x)=0)&&(x<=100)輸出結(jié)果就是.C)(x>=-10)&&(x<=5)&&(x>=0)&&(x=1A)i=1a=1b

23、=3?B)i=3a=2b=300)C)i=4a=1b=4D)i=4a=2b=4D)(x<=-10)|(x)=-5)&&(x<=0)|(x)=10O)若a就是數(shù)值類型,則邏輯表達式(a=1)|(a!=1)(4)以下程序得運行結(jié)果就是。得值就是。main()A)1B)0C)2D)不知道a得值,不能確定intc,x,y;x=1;y=1;c=0;Z=x+y+;printf("'n%d%d%d'n”,x,y,c);A)110B)211C)011D)001(5)兩次運行下面得程序,如果從鍵盤上分別輸入6與4,則輸出結(jié)果就是。main()intx;sca

24、nf("%d",&x);if(x+>5)printf("%d”,x);eIseprintf("%d'n",x);A)7與5B)6與3C)7與4D)6與4(6)寫出下面程序得執(zhí)行結(jié)果.main()intx,y=1;if(y!=0)x=5;?rintf("%dt",x);?if=0)x=3;e1sex=5;prinf(“tn",x);A)13B)15C)53D)55(7)寫出下面程序得執(zhí)行結(jié)果main()intx=1,y=1,z=0;if(z0)if(y0)x=3;elsex=5;printf(&

25、quot;%dt",x);if(z=y<0)x=3;elseif(y=0)x=5;elsex=7;printf("%d't",x);Printf("%t",z);A)170B)370C)550D)151(8)假定所有變量均已正確說明,下列程序段運行后x得值就是a=b=c=0;x=35;if(!a)elseifif(c)elsex=4;A)34D)3x=1;b);x=3;B)4C)35以下選項中與if(a=l)a=b;elsea+;語句功能不同得switch語句就是。A)switch(a)?ase1:a=b;break;defaul

26、t:a+;B) switch(a=1)case0:a=b;break;case1:a+;C) switch(a)?default:a+;break;case1:a=b;D) switch(a=1)case1:a=b;break;case0:a+;(10)有如下嵌套得if語句if(ab)if(a<c)k=a;elsek=c;if(b<c)k=b;elsek=c;以下選項中與上述if語句等價得語句就是A)k=(a<b)?a:b;k=(b<c)?b:c;B)k=(a<b)?(b<c)?a:b)(b>c)?b:c);C)k=(a<b)?(a<c)?

27、a:c)(b<c)?b:c);D)k=(a<b)?a:b;k=(a<c)?a:c;(11)有以下程序#includestdio、h>main()inta=1,b=0;if(a)b+;elseif(a=0)b+=2;elseb+=3;printf("%dn",b);程序運行后得輸出結(jié)果就是A)0B)1C)2D)3(12)下列條件語句中輸出結(jié)果與其她語句不同得就A)if(a)printf("%dn",x);elseprintf(“dn”,y;B) if(a=0)printf("%n",y);elseprintf(&

28、quot;%dn",x);C) if(a!=0)printf(n”,x);elseprintf("dn",y);D) if(a=0)printf("%dn",x);elseprintf("%dn",y);(13)以下選項中與if(a=1)a=b;elsea+;語句功能不同彳wswitch語句就是。A) switch(a)case1:a=b;break;defau1t:a+;B) switch(a=1)case0:a=b;break;case1:a+;C)switch(a)defau1t:a+;break;case1:a=b;

29、D)switch(a=1)case1:a=b;break;case0:a+;(14)有以下程序#include<stdio、h>main()inta;scanf("%d",&a);if(a+(9)printf("%dn",a);elseprintf("%d'n",a);程序運行時從鍵盤輸入9回車,則輸出得結(jié)果就是。A)10B)11C)9D)8(15)已知intx=30,y=50,z=80;以下語句執(zhí)行后變量x、y、z得值分別為:。if(x>y|x<z&&y>z)z=x;x=

30、y;y=z;A)x=50,y=80,z=80B)x=50,y=30,z=30C)x=30,y=50,z=80D)x=80,y=30,z=50二。填空題以下程序運行得輸出結(jié)果就是(1)main()intp=30;printn",(p/32)0?p/10:p%3);(2)有以下程序include<stdio、h>main()inta=1,b=2,c=3,d=0;if(a=1)if(b!=2)if(c=3)d=1;elsed=2;elseif(c!=3)d=3;elsed=4;elsed=5;printf("%dn",d);程序運行后得輸出結(jié)果就是.( 3)

31、 有以下程序#include<stdio、h)main()intx;scanf("d,&x);if(x>15)printf("%d",x5);if(x>10)printf("%d",x);if(x5)printf("%dn",x+5);若程序運行時從鍵盤輸入12回車),則輸出結(jié)果為。(4)以下兩條if語句可合并成一條if語句為。、if(a=b)x=1;elsey=2;if(a>b)printf("*y=%dn"y);elseprintf("#x=%dn"

32、,x);(5)輸入一個字符,如果就是大寫字母,則把其變成小寫字母;如果就是小寫字母,則變成大寫字母;其它字符不變。請在()內(nèi)填入缺省得內(nèi)容。main()charch;scanf("%c”,&ch);if()ch=ch+32;elseif(ch>='a'&&ch<='z')(_);printf("%cn",ch);.編程題1.編寫一個程序,要求有鍵盤輸入三個數(shù),計算以這三個數(shù)為邊長得三角形得面積。2。輸入圓得得半徑r與一個整型數(shù)k,當k=l時,計算圓得面積;但k=2時,計算圓得周長,當k=3時,既要

33、求求圓得周長也要求出圓得面積。編程實現(xiàn)以上功能。3、編寫程序,判斷某一年就是否就是閏年。4、有一函數(shù),其函數(shù)關(guān)系如下,試編程求對應(yīng)于每一自變量得函數(shù)值廣x2(x<0)y=J-0、5x+10(0Vx<10)x一(x10)Q【參考答案】一.選擇題(1)A(2)A(3)B(4)B2#include<stdio、h>(5)A#definePI3、14(6)D(7)A(8)B(9)Bintmain()(10)c(11)C(12)D(13)B(14)A(1?f1oatr;5)Aintk;二.填空題printf("請輸入半徑r:n");(1)o飛canf(&quo

34、t;%f",&r);(2)4printf("請輸入處理要求n1、計算圓得面積(3)1217n2、計算圓彳#周長n3、計算圓得周長與圓得面積(4)if(a<=b)x=1;printf("#x=%n);dn",x);?scanf("%d",&k);elsey=2;printf("*y=%dswitch(k)n",y);'A'<=ch&&ch<='Z'case1:ch=ch32?printf("圓得面積為:%n",PI*

35、r*r);編程題break;1#include<stdio、h>?case2:#inc1udemath、h)?printf("圓得周長為:%n",2*PI*r);intmain()break;case3:?loata,b,c,z,n,s;?printf("圓得面積為:fn",PI*r*r);?)rintf("請輸入三角形邊長:a,b,c:");?printf("圓得周長為:%fn",2*PI*r);3canf("%f%f%f",&a,&b,&c);break;

36、?f(a+b<=c|fabs(ab)>=c)/fabs為求浮點數(shù)?defau11:絕對值函數(shù)?printf("錯誤要求!n");break;?rintf("您輸入得三角形邊長有誤");else?3#include<stdio、h>z=a+b+c;voidmain()?=z/2;?s=sqrt(n*(na)*(nb)*(n-c);/sq?ntyear,result=0;art為平方根函數(shù)printf("輸入一個年份:n");?printf("三角形面積就是%n:",s);scanf("

37、;%d',&year);if(year%100=0)?if(year%40O=0)?printf("'n%d就是1司年、n",year);?floatx,y;?rintf("輸入x:");?e?lsescanf("f",&x);?printf("n%d不就是閏年n”,year);?f(x<0)?printf("y=%、2f'n",x*x);elseif(year%4=0)else?)rintf("n%d就是IMl年n",year);if(x

38、>=0&&x10)?rintf("y=%、2fn,',0、5*x+10);4#include<stdio、h>elseif(x>=10)#include<math、h>?printf("y=%、2fn”,xsqrt(x);voidmain()習題5一、選擇題voidmain()(1)當執(zhí)行以下程序段時,程序得執(zhí)行情況就是()。x=-1;intx=3;dox=x*x;while(!x);doA.循環(huán)體將執(zhí)行一次B.循環(huán)體將執(zhí)行兩次printf("%3d”,x-=2);C。循環(huán)體將執(zhí)行無限次D.系統(tǒng)將提示有語

39、法錯誤while(!(x);(2)(:語言中卬卜ile與d。一while循環(huán)得主要區(qū)別就是().(2)以下程序輸出結(jié)果就是【2】.A。do-whi1e得循環(huán)體不能就是復(fù)合語句#inc1ude<stdio、h>B.while得循環(huán)控制條件比do-while得循環(huán)控制條voidmain()件嚴格inti,sum=0;C.do-w/hile允許從外部轉(zhuǎn)到循環(huán)體內(nèi)for(i=1;i<6;i+)Dodo-whi1e得循環(huán)體至少無條件執(zhí)行一次sum+=i;(3)若i,j已定義為int類型,則以下程序段中內(nèi)循環(huán)體printf("%dn",sum);得總得執(zhí)行次數(shù)就是()

40、。for(i=5;i;i)(3)以下程序輸出得結(jié)果就是【3】。for(j=0;j4;j+)、#include<stdio、h>A.25B,20更.24D30voidmain()(4)以下程序得輸出結(jié)果就是()。intx,i;#include<stdio、h>for(i=1;i<=100;i+)voidmain()?x=i;inta,b;if(+x%2=0)for(a=1,b=1;a=100;a+)?if(+x%3=0)if(b>=10)break;?i?f(+x%7=0)if(b%5=l)b+=5;con?rintf("%d'n"

41、,x);tinue;printf("%dn",a);printf("n");Ao101B6?C.4D.3二、填空題(4)以下程序得運行結(jié)果就是【4】。?(1)以下程序段輸出得結(jié)果就是【1】o#include<stdio、h>#includestdio、h>voidmain(')7 .求F i bonacci數(shù)列前20個數(shù),這個數(shù)列得特點:第1、2兩個數(shù)為1、1,從第3個數(shù)開始,該數(shù)就是其前面兩個數(shù)之與。即 :【參考答案】a=m;b=n ;if (n m) t =m| m=n n= t;whi 1 e (m%n! =0) h= n

42、 ; n = m% n ; m =h; a=a/ n ; b = b/n ; q=a * b* n ;p r intf( "兩數(shù)最大公約數(shù)為泡,最小公倍數(shù)為 dnn, q);2 。打印輸出加法口訣表 .具體程序為:/* e xa 5 32、c * /#i n cl u d e s td i o、h >void m a in ()int i, j ;f o r(i=1;i<10;i+)inti=1,s=3;do?s+=i+;if(s%7=0)?continue;else?i;?while(s<15);printf("%d,i);(5)以下程序得運行結(jié)果就是【

43、5】。#include<stdio、h)voidmain()inti,j;for(i=4;i>=1;i-)printf("");for(j=1;j=4i;j+)printf("*);printf("n");一選擇題(1)A(2)D(3)B(4)C二.填空題(1) 1-2(2) 15(3) 4284(4) 8(5) *三。編程題1.求兩個整數(shù)mVn得最大公約數(shù)與最小公倍數(shù).具體程序:#inc1ude"stdio、h”voidmain()intm,n,t,h,a,b,q;三、編程題1.求兩個整數(shù)mVn得最大公約數(shù)與最小公倍數(shù)。

44、2。打印輸出10以內(nèi)加法口訣表。3。輸出所有得“水仙花數(shù)”,所謂得水仙花數(shù)就是指一個3位數(shù),其個位數(shù)字立方與等于該數(shù)本身.例如153就是一個水仙花數(shù),因為153=13+53+33。4。求1+3+5+7+99得與。5 .輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字與其她字符得個數(shù).6 .輸出以下圖案:*f o r (j=1;j <10;j+ +)printf("輸入m,n得值:");scanf("%d%d",&m,&n);Printf("id=%d't",i,j,i+j);printf(”n);3o輸出

45、所有得“水仙花數(shù)",所謂得水仙花數(shù)就是指一個3位數(shù),其個位數(shù)字立方與等于該數(shù)本身.例如153就是一個水仙花數(shù),因為153=13+53+33./*exa5-3-3、c*/#include<stdio、h)voidmain()inti,j,k;for(i=1;i<10;i+)for(j=0;j<10;j+)for(k=0;k(10;k+)if(i*100+j*10+k)=(i*i*i)+(j*j*j)+(k*k*k)Printf("%d%d%d",i,j,k);getch();4o求1+3+5+7+99得與。具體程序為:/*exa534、c*/#in

46、c1udestdio、h>voidmain()inti,sunsum=0;for(i=1;i<=99;i+=2)sum=sum+i;printf("sum=%d”,sum);5。輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字與其她字符得個數(shù)。具體程序為:/*exa5-3-5、c*/#include<stdio、h>voidmain()charch;intchar_num=0,kongge_num=0,int_num=0other_num=0;while(ch=getchar()!='n')if(ch='a'&&

47、ch<='z'|ch=,z&&ch>=/a')char_num+;elseif(ch=',)kongge_num+;elseif(ch)='0'&&ch<='9')int_num+;elseother_num+;printf("字母=%d,空格=%d.,數(shù)字=d,其它=%dn",char_num,kongge_num,int_num,other_num);6.輸出以下圖案:*具體程序為:/*exa53-6、c*/#inc1ude"stdio、h&quo

48、t;voidmain()intb,c,d,e;c=1;for(b=1;b<=4;b+)for(d=1;d<=4b;printf(");for(d=1;d<=c;d+)printf("*");*d+)n");#include<stdio、h>c=c4;voidmain()for(b=3;b>0;b)for(d=1;d<=4b;d+)intf1,f2,i;printf(”);f1=1;f2=1;for(d=1;d<=c;d+)for(i=1;i<=10;i)printf("*");pr

49、intf(n");printf("%5d%5d",f1,f2);c=c-2;if(i%2=0)printf("'n");f1=f1+f2;7.求Fibonacci數(shù)列前20個數(shù),這個數(shù)列得特點:第1、2f2=f2+f1;兩個數(shù)為1、1,從第3個數(shù)開始,該數(shù)就是其前面兩個數(shù)之與。即:具體程序為:習題6一、選擇題B.inta5=0,1,2,3,4,5;(1)在C語言中,引用數(shù)組元素時,其數(shù)組下標得數(shù)據(jù)類Cochara="string"型允許就是()。Dointa=0,1,2,3,4,5;A整型常量?B.整型表達式(7)以

50、下不能對二維數(shù)組a進行正確初始化得語句就是Co整型常量、變量或表達式D。任何類型得表達式()。(2)以下對一維整型數(shù)組a得正確說明就是()。A.inta2=0;A.inta(10);?B.inB°inta3=1,2,0;tn=10,an;C.inta23=1,2,3,4,5,6;C.intn;D.inta=1,2,3,4,5,6;D.inta3*5+2;(8)若有說明:inta34=0;則下面正確得scanf("%d",&n);敘述就是().intan;Ao只有元素a00可得到初值0(3)若有說明:inta10;,則對a數(shù)組元素得正確引用B.此說明語句不正

51、確就是()。C.數(shù)組a中各元素都可得到初值,但其值不一定為0A.a10理a3、5Ca(5)D.aDo數(shù)組a中每個元素均可得到初值010-10(9)若有說明:下面函數(shù)(程序代碼前數(shù)字表示行號)若有說明:inta34;則對a數(shù)組元素得非法引().用就是()。1main()A.a02*1?3°a13£.a420Do2a043?floata10=0;(5)以下能對二維數(shù)組a進行正確初始化得語句就是4inti;()。5?or(i=0;i3;i+)scanf("%f",&ai);A.inta2口=1,0,1,5,2,3);6for(i=1;i<10;i

52、+)a0=a0+ai;B。inta3=1,2,3,4,5,6);7aintf("n",a0);C.inta4=1,2,3,4,5,6;8D。inta口3=1,0,1,1,n;Ao沒有錯誤?B.第3行有錯誤(6)合法得數(shù)組說明語句就是()。C.第5行有錯誤?力.第7行有錯誤Aointa="string"(10)調(diào)用strlen("abcd0ef0g)得返回值為()。/*exa537、c*/c=c+2;(11)若有以下語句,則正確得描述就是()。charc5='a','b',z0Z,c','0'

53、;charx="12345"printf("%s",c);chary=1'2','3','4',/5');A.x數(shù)組與y數(shù)組得長度相同?B.x數(shù)組長度大于y數(shù)組長度C.x數(shù)組長度小于y數(shù)組長度?D.x數(shù)組等價于y數(shù)組(12)有兩個字符數(shù)組a,b,則以下正確得輸入語句就是().A°gets(a,b);B.scanf("%s%s",a,b);(8)下面程序得運行時,輸入F/,輸出就是。#include<stdio、h>voidmain()charstr30;sc

54、anf("%s",str);printf("%s",str);ortranLanguageC.scanf("%s%s",&a,&b);?D。gets("a"),gets("b");二、填空題(1)?C語言中,數(shù)組得各元素必須具有相同得,元素得下標下限為,下標必須就是正整數(shù)、0或者。但在程序執(zhí)行過程中,不檢查元素下標就是否。(9)斗面程序得功能就是輸出數(shù)組s請?zhí)羁铡?include<stdio、h>voidmain()intk,p;中最大元素得下標,(2)C語言中,數(shù)組

55、在內(nèi)存中占一片得存儲區(qū),由代表它得首地址。數(shù)組名就是一個常量,不能對它進行賦值運算。(3)設(shè)定義了chara10='1,2','3','4,,'5');則a5得正確初值就是。ints=1,9,7,2,一for(p=k=0;p(6;p+)?f(sk<sp);printf("%dn",k);10,3;(4)?nta10=9,4,12,8,2,10,7,5,1,3;aa9得值為;aa4+a8得值為.(5)執(zhí)行intb5,a3=1,2,3,4,5,6;后,b4=,a12=.(6)?輸下程序輸入20個數(shù),將其逆序輸出.#i

56、nc1ude<stdio、h>voidmain()inta20,i;for(i=0;i<20;i+)(10) 下面程序以每行4個數(shù)據(jù)得形式輸出# defineN20# include<stdio、h>voidmain()intaN,i;for(i=0;i(N;i+)scanf("%d,);for(i=0;i<N;i+)if();a數(shù)組。scanf("%d",);for(i=19;i)=0;i-)printf("%d",);printf("%3d",a口);A4?B.5?Co8?D.9(7)下面程序段得運行結(jié)果就是三、編程題(1)輸入n個整數(shù),用選擇法將數(shù)據(jù)由大到小輸出。(2)將一個數(shù)組中得值按逆序重新存放。(3)在有序得n個整數(shù)中,插入某整數(shù)x后,使原順序不變。(4)找出1000以內(nèi)得所有完數(shù)。一個數(shù)如果恰好等于

溫馨提示

  • 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

提交評論