無機化學(xué)實驗教案_第1頁
無機化學(xué)實驗教案_第2頁
無機化學(xué)實驗教案_第3頁
無機化學(xué)實驗教案_第4頁
無機化學(xué)實驗教案_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章C語言程序設(shè)計概述習(xí)題答案1算法的描述有哪些基本方法?答1、自然語言2、專用工具2C語言程序的基本結(jié)構(gòu)是怎樣的?舉一個例子說明。答1、C語言程序由函數(shù)構(gòu)成;2、“/*”與“*/”之間的內(nèi)容構(gòu)成C語言程序的注釋部分;3、用預(yù)處理命令#include、#define可以包含有關(guān)文件或預(yù)定義信息;4、大小寫字母在C語言中是有區(qū)別的;5、除main()函數(shù)和標(biāo)準(zhǔn)庫函數(shù)外,用戶也可以自己編寫函數(shù),應(yīng)用程序一般由多個函數(shù)組成,這些函數(shù)指定實際所需要做的工作。3C語言有什么特點?答1、具有結(jié)構(gòu)語言的特點,程序之間很容易實現(xiàn)段的共享;2、主要結(jié)構(gòu)成分為函數(shù),函數(shù)可以在程序中被定義完成獨立的任務(wù),獨立地編

2、譯代碼,以實現(xiàn)程序的模塊化;3、運算符豐富,包含的范圍很廣;4、數(shù)據(jù)類型豐富;5、允許直接訪問物理地址,即可直接對硬件進(jìn)行損傷,實現(xiàn)匯編語言的大部分功能;6、限制不太嚴(yán)格,程序設(shè)計自由度大,這樣使C語言能夠減少對程序員的束縛;7、生成的目標(biāo)代碼質(zhì)量,程序執(zhí)行效率高,同時C語言編寫的程序的可移植性好。4指出合法與不合法的標(biāo)識符命名。答AB12- leed_3- a*b2- 8stu- D.K.Jon- EF3_3- PAS- if- XYZ43K2- AVE#XY- _762- #_DT5- C.D-5說明下列Turbo C熱鍵的功能。答F2:源文件存盤 F10:調(diào)用主菜單 F4:程序運行到光標(biāo)

3、所在行(用于調(diào)試程序) Ctrl+F9:編譯并鏈接成可執(zhí)行文件 Alt+F5:將窗口切換到 DOS 下,查看程序運行結(jié)果。6說明下列Turbo C方式下輸入并運行下列程序,記錄下運行結(jié)果。main()printf(*n); printf( welcome you n); printf( very good n); printf(*n); main() int a,b,c,t; printf(please input three numbers;); scanf(%d,%d,%d,&a,&b,&c); /*教材S是錯誤的*/ t=max(max(a,b),c); printf(max numbe

4、r is:%dn,t); int max(int x, int y) int z; if(xy)z=x; else z=y; return(z); 答運行結(jié)果:* welcome you very good*運行結(jié)果:please input three numbers;3,1,4 /*左側(cè)下劃線內(nèi)容為鍵盤輸入*/max number is:47一個C程序是由若干個函數(shù)構(gòu)成的,其中有且只能有一個函數(shù)。答main()8在Turbo C環(huán)境下進(jìn)行程序調(diào)試時,可以使用Run下拉菜單的命令或按鍵轉(zhuǎn)到用戶屏幕查看程序運行結(jié)果。答1、User screen2、Alt+F59C語言對標(biāo)識符與關(guān)鍵字有些什么規(guī)

5、定?答1、標(biāo)識符用來表示函數(shù)、類型及變量的名稱,它是由字母、下劃線和數(shù)字組成,但必須用字母或下劃線開頭。2、關(guān)鍵字是一種語言中規(guī)定具有特定含義的標(biāo)識符,其不能作為變量或函數(shù)名來使用,用戶只能根據(jù)系統(tǒng)的規(guī)定使用它們。10C源程序輸入后是如何進(jìn)行保存的?答是以C為擴展名保存的純文本文件。 第二章C語言程序的基本數(shù)據(jù)類型與表達(dá)式習(xí)題答案1指出下列常數(shù)中哪些是符合C語法規(guī)定的。答- 101- - e3- 019- 0x1e- abn- 1.e5- (2+3)e(4-2)- 5.2e2.5-2請找出下列程序中的錯誤,改正后寫出程序運行結(jié)果。void main()int x,y=z=5,aver; x=7

6、 AVER=(x+y+z)/3 printf(AVER=%dn,aver); void main() char c1=a;c2=b;c3=c; int a=3.5,b=A printf(a=%db=endn,a,b); printf(a%cb%cbc%ctabcn,c1,c2,c3); 答 main()int x,y=5,z=5,aver; x=7; aver=(x+y+z)/3; printf(AVER=%dn,aver); 運行結(jié)果:AVER=5main() char c1=a, c2=b, c3=c; int a=3,b=A; printf(a=%d,b=%cendn,a,b); pri

7、ntf(a%cb%cbc%ctabcn,c1,c2,c3); 運行結(jié)果:a=3,b=Aendaabcc abc3寫出下列賦值的結(jié)果,表格中寫了數(shù)值的是要將它賦給其他類型的變量,將所有的空格填上賦值后的數(shù)據(jù)(實數(shù)保留到小數(shù)點后兩位)。int99-1charhunsigned int66float55.78long int68答int99104665568-1charchB7Dunsigned int9910466556865535float99.00104.0066.0055.7868.00-1.00long int99104665568-14寫出程序運行結(jié)果。void main()int i,

8、j; i=8,j=10; printf(%d,%d,%d,%dn,i,j,+i,j+); main() int a=1,b=2,c=30; printf(%d,%d,%d,%dn,a=b=c,a=b=c,a=(b=c),a=(b=c); 注意:a=b=c,a=b=c之間應(yīng)為逗號,教材有誤答運行結(jié)果:9,11,9,10運行結(jié)果:30,1,0,0void main()int a=10,b=20,c=30,d; d=+a=20|c+; printf(%d,%d,%d,%dn,a,b,c,d); 答運行結(jié)果:11,19,30,15寫出下面表達(dá)式的值(設(shè)a=10,b=4,c=5,d=1,x=2.5,y=

9、3.5)。a%=(b%=3)n+,a+=a-=a*=a(float)(a+c)/2+(int)x%(int)ya*=b+c+a-c+b+a-c+bab?x:Ab+=ca+b,18+(b=4)*3,(a/b,a%b)x+a%3*(int)(x+y)%2/4+sizeof(int)ab?a:c0?x:-x的功能是什么?答如果x的值是一正數(shù),則表達(dá)式的值為x值;如果x的值是一非正數(shù),則表達(dá)式的值為-x。其實該表達(dá)式的值即為x的絕對值,C語言中提供了一個函數(shù)fabs(x)即可完成此功能,該函數(shù)包含在math.h頭文件中。8用一個條件表達(dá)式描述從a、b、c中找出最大都賦給max.答max=a(bc?b:

10、c)?a:(bc?b:c);9若x為int型變量,則執(zhí)行以下語句后x的值為()。x=6;x+=x-=x*x;A. 36 B. -60 C. 60 D. -24答B(yǎng).10若有以下類型說明語句:char w; int x; float y; double z;則表達(dá)式w*x+z-y的結(jié)果為()類型。A. float B. char C. int D. double答D.第三章順序結(jié)構(gòu)程序設(shè)計習(xí)題答案1變量k為float類型,調(diào)用函數(shù)scanf(%d,&k),不能使變量k得到正確數(shù)值的原因是。答格式修飾符與變量類型不一致。因為%d輸入的數(shù)據(jù)類型應(yīng)該為十進(jìn)制整數(shù),而&k為占用4個字節(jié)的float類型變

11、量的地址。2a=1234,b=12,c=34,則執(zhí)行“printf(|%3d%3d%-3d|n,a,b,c);”后的輸出是。答|1234 1234 |分析如下:%3d為右對齊輸出變量,且指定輸出變量的值寬度為3個字符位,如果變量實際位數(shù)小于3,則左端補空格,如果變量實際位數(shù)大于3,則按實際長度輸出,不受限制。%-3d為左對齊輸出變量,在輸出變量時,如是變量實際位數(shù)小于3,則在右端補空格,否則按實際輸出。3設(shè)有“int a=255,b=8;”,則“printf(%x,%on,a,b);”輸出是。 答ff,10如果“printf(%X,%on,a,b);”則輸出為FF,10。說明在輸出十六進(jìn)制字母

12、時,其大小寫受格式修飾符的限制,如果是“%x”則輸出小寫,如果是“%X”則輸出大寫。如果希望在輸出十六進(jìn)制時輸出前導(dǎo)符0x或0X,則以上輸出語句應(yīng)改“printf(%#x,%on,a,b);”為或“printf(%#X,%on,a,b);”。本條解釋不必須掌握。4以下程序輸出的結(jié)果是。main() int a1=1,a2=0,a3=2; printf(%d,%d,%dn,a1,a1+a2+a3,a3-a1);答1,3,15printf函數(shù)中用到格式符%5s,其中5表示輸出字符占用5列。如果字符串長度大于5,則按輸出;如果字符串長度小于5,則按輸出。答實際左端補空格 6已定義變量如下:int a

13、1,a2;char c1,c2;若要求輸入a1、a2、c1和c2的值,正確的輸入函數(shù)調(diào)用語句是。答scanf(%d,%d,%c,%c,&a1,&a2,&c1,&c2);7輸入兩個整型變量a、b的值,輸出下列算式以及運算結(jié)果。a+b、a-b、a*b、a/b、(float)a/b、a%b每個算式占一行。如a=10,b=5,a+b輸出為:10+5=15答設(shè)int a=10,b=5;以下為輸出語句及結(jié)果:printf(%d+%d=%dn,a,b,a+b); 10+5=15printf(%d-%d=%dn,a,b,a-b); 10-5=5printf(%d*%d=%dn,a,b,a*b); 10*5=5

14、0printf(%d/%d=%dn,a,b,a/b); 10/5=2printf(%(float)d/%d=%fn,a,b,(float)a/b); (float)10/5=2.printf(%d%d=%dn,a,b,a%b); 10%5=08輸入一個非負(fù)數(shù),計算以這個數(shù)為半徑的圓周長和面積。 答#define PI 3.main() float r,l,area; printf(Input a positive:); scanf(%f,&r); l=2*PI*r; area=PI*r*r; printf(l=%ftarea=%fn,l,area);9輸入任意一個3位數(shù),將其各位數(shù)字反序輸出(

15、例如輸入123,輸出321)。答main() int x,y; printf(Input a number(100-999):); scanf(%d,&x); y=100*(x%10)+10*(x/10%10)+x/100; /*注意分析此處算法*/ printf(%d-%dn,x,y);10輸入任意大小的3個整數(shù),判斷其中是否有兩個奇數(shù)一個偶數(shù)。若是則輸出YES,不是則輸 出NOT(要求用條件表達(dá)式進(jìn)行判斷,不使用if語句)。答main() int x,y,z,oddcount=0;/*奇數(shù)數(shù)計數(shù)變量*/ printf(Input x,y,z:); scanf(%d,%d,%d,&x,&y,

16、&z); x%2=1?oddcount+:0; y%2=1?oddcount+:0; z%2=1?oddcount+:0; oddcount=2?printf(YES):printf(NOT);11求前驅(qū)字符和后繼字符。輸入一個字符,找出它的前驅(qū)字符和后繼字符,并按ASCII碼值,按從大到小的順序輸出這3個字符及其對應(yīng)的ASCII碼值。答本題考查同學(xué)們對字符類型數(shù)據(jù)的認(rèn)識,如果在ASCII范圍內(nèi)則即可以顯示為字符,又可以顯示為整數(shù)值;無論是否能夠顯示為字符,字符類型數(shù)據(jù)是可能參與數(shù)值運算的,切記。main() char c; printf(Input character:); scanf(%c

17、,&c); printf(%c-%dn,c-1,c-1); printf(%c-%dn,c,c); printf(%c-%dn,c +1,c+1); getch(); /*為便于調(diào)試程序,運行至此程序停頓,此時可以看到運行結(jié)果,按任意鍵程序真難得結(jié)束并返回到編輯環(huán)境*/12輸入三角形的邊長,求三角形面積(面積sqrt(s(s-a)(s-b)(s-c),s=(a+b+c)/2)。答#includemath.h /*由于程序中使用了開平方函數(shù)sqrt(),所以需要包含數(shù)學(xué)頭文件*/main() float a,b,c,s,area; int ok=0; printf(Input a,b,c:);

18、scanf(%f,%f,%f,&a,&b,&c); a+bc?ok+:0; /*以下3條語句為判斷是否輸入的數(shù)據(jù)是否構(gòu)成封閉三角形*/ a+cb?ok+:0; b+ca?ok+:0; ok=3?(s=(a+b+c)/2,area=sqrt(s*(s-a)*(s-b)*(s-c),printf(area=%f,area):printf(error); getch();第四章選擇結(jié)構(gòu)程序設(shè)計習(xí)題答案1設(shè)x、t均為int型變量,則執(zhí)行語句“x=10;t=x&x10;”后,t的值為。答02假定所有變量均已正確定義,則程序段:int a=0, y=10;if(a=0)y- -; else if(a0)y

19、+;else y+=y;運行后 y 的值是;答203能表述 20x30 或 x20&x30|+x-1004若有定義語句“int a=25,b=14,c=19;”,則以下語句執(zhí)行結(jié)果是。if(a=25 & b=2 & c) printf(*a+b=%d, a-b=%d*n, a+b, a-b);else printf(*a=%d, b=%d, c=%d*n,a, b, c);答*a=25, b=14, c=19*5假定 i 和 j 為 int 型變量,則執(zhí)行以下語句后 i 的值是。int i=1;switch(i) case 1: for(j=0; j9; j+) i+=j; break; ca

20、se 2: for(j=1; j10; j+) i+=j; break; case 3: i+;答37分析:執(zhí)行了case 1: 和case 3: 中的代碼。同時case 1:語句中的是可以取消的。6以下兩條 if 語句可合并成一條 if 語句,即。if(ab)printf(*y=%dn, y);else printf(*x=%dn,x);答if(a1)printf(outside); else if(d0)。if(a30) m=1;else if(a40) m=2;else if(a50) m=3;else if(a60) m=4;else m=5答switch(a/10) case 1:

21、case 2: case 3:m=1;break; case 4:m=2;break; case 5:m=3;break; case 6:m=4;break; default:m=5;12有一函數(shù) x-1 -5x0y= x x=0 x+1 0x-5&x0&x-5&x8) if(x0)y=x-1; else if(x=0)y=0: else y=x+1; printf(y=%fn,y);main() float x,y; scanf(%f,&x); if(x0)y=x+1; else if(x=0)y=0; else if(x-5)y=x-1; printf(y=%fn,y);使用多分支語句程序

22、如下:main() float x,y; int m; printf(Input x:); scanf(%f,&x); if(x-5&x8) if(x0)m=-1; else if(x=0)m=0: else m=1; switch(m) case -1:y=x-1;break; case 0:y=0;break; case 1:y=x+1;break; printf(y=%fn,y);以下為假設(shè)對int類型的變量進(jìn)行處理,但畢竟不算完美m(xù)ain() int x,y; printf(Input x:); scanf(%d,&x); switch(x) case -4: case -3: cas

23、e -2: case -1: y=x-1; break; case 0: y=0; break; case 1: case 2: case 3: case 4: case 5: case 6: case 7: y=x+1; break; printf(y=%dn,y);第五章循環(huán)結(jié)構(gòu)程序設(shè)計習(xí)題答案1輸入 n 個整數(shù),求這 n 個數(shù)之中的偶數(shù)平均值,并輸出。答main() int n,i,x,sum=0,count=0; printf(Input n:); scanf(%d,&n); for(i=0;i=a&ch=A&ch=0&ch=a&ch=A&ch=Z)printf(%c,ch+32);

24、getch();5設(shè)某縣2000年工業(yè)總產(chǎn)值為200億元,如果該縣預(yù)計平均年工業(yè)總產(chǎn)值增長率為4.5%,那么多少年后該縣年工業(yè)總產(chǎn)值將超500億元。答main() float x=200; int n=0; do x*=(1+0.045); n+; while(x500); printf(n=%d,n); getch();6輸出1999中能被3整除,而且至少有一位數(shù)字是5的所有數(shù)字。答main() int x,y,flag; for(x=1;x1000;x+) flag=0; y=x; if(y%3=0)/*余數(shù)為0說明該數(shù)能夠被3整除*/ while(y%10!=0) if(y%10=5)f

25、lag=1;/*依個位、十位、百位順序判斷是否余數(shù)為5*/ y/=10; if(flag=1)printf(%dt,x); getch();7求愛因斯坦數(shù)學(xué)題。有一條長階,若每步跨2階,則最后剩1階,若每步跨3階,則最后剩2階,若每步跨5階,則最后剩4階每步跨6階,則最后剩5階每步跨7階,最后正好1階。答main() int x=0,flag=0; while(1) x+; if(x%2=1) if(x%3=2) if(x%5=4) if(x%6=5) if(x%7=0) printf(%d,x); break; getch();8輸入一個3位數(shù),判斷是否是一個“水仙花數(shù)”。水仙花數(shù)是指3位數(shù)

26、的各位數(shù)字的立方和等于這個3位數(shù)本身。例如,1531*1*1+5*5*5+3*3*3答main() int x,a,b,c; printf(Input number:); scanf(%d,&x); a=x/100;/*變量a中記錄x的百位數(shù)字*/ b=x/10%10;/*變量b中記錄x的十位數(shù)字*/ c=x%10; /*變量c中記錄x的個位數(shù)字*/ if(a*a*a+b*b*b+c*c*c=x) printf(%d=%d*%d*%d+%d*%d*%d+%d*%d*%dn,x,a,a,a,b,b,b,c,c,c); printf(YES); else printf(NOT); getch();

27、9計算斐波那契分?jǐn)?shù)序列前n項之和(n是某個常數(shù),波那契分?jǐn)?shù)序列為2/1,3/2,5/3,8/5,.)。答main() int i,n=10; float f1=1,f2=2,f,sum=0; for(i=0;in;i+) sum+=f2/f1; f=f1+f2; f1=f2; f2=f; printf(total=%dnsum=%f,n,sum); getch();10輸入一個正整數(shù),各輸出n行的正(倒)三角形寶塔圖案。答main() int n,i,j; printf(Input n:); scanf(%d,&n); for(i=0;in;i+) for(j=i+1;jn;j+)printf

28、( ); for(j=0;j2*i+1;j+)printf(*); printf(n); for(i=0;in-1;i+) for(j=0;ji+1;j+)printf( ); for(j=2*i-1;jn+1;j+)printf(*); printf(n); getch();11輸出九九乘法表。答main() int i,j; for(i=1;i=9;i+) for(j=1;j=0&ch=9) x=10*x+ch-0; y=10*y; if(x!=0&10*xy)f=0; continue; else if(x!=0) if(f=1) x=-x; nsum+=x; ncnt+; else p

29、sum+=x; pcnt+; printf(%dn,x); f=0;x=0;y=1; continue; if(x!=0) if(f=1) x=-x; nsum+=x; ncnt+; else psum+=x; pcnt+; printf(%dn,x); printf(n-n); printf(Plus:n); printf(Count=%dn,pcnt); printf(Average=%fn,psum/pcnt); printf(-n); printf(Negative:n); printf(Count=%dn,pcnt); printf(Average=%fn,nsum/ncnt); getch();13一個整數(shù)等于該數(shù)所有因子之和,則稱該數(shù)是一個完數(shù)。例如,6和28都是完數(shù)。因為61+2+3,281+2+4+7+14。輸出3位數(shù)中所有的完數(shù)。答main() int k1, k2, k3, k4, k5, k6, k7, k8, k9, k10; int i,a,n,s; for (a = 100; a = 999; a+) n = 0; /* n累計因子的個數(shù) */ s = a; /* s存放未求出的因子之和,初值為被測數(shù)本身 */ for (i = 1; i 1) printf(%d,%d, k1, k2); /* n1表示a至少有2

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論