

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、上機(jī)填空題技巧總結(jié)填空題之方法1.上機(jī)填空題占 30 分,一般有 3 個(gè)空需要填寫,每個(gè)空為 10 分;2.填空題做題之前必須弄清題目含義,抓住關(guān)鍵字,例如:要求對數(shù)組進(jìn)行從小到大排序, 則將會(huì)出現(xiàn)大于符號,如果是從大到小排序則出現(xiàn)小于符號;3.填空題中出現(xiàn)頻率最高的就是函數(shù)的調(diào)用、函數(shù)的首部、函數(shù)的返回值等和函數(shù)相關(guān)的問 題,因此必須牢牢掌握祝函數(shù)的基本特征;4.填空題中有的“空”比較難,考生除了掌握必須的 C 語言知識之外,還需要很好的邏輯思 路,如果一個(gè)空將花很多時(shí)間來解決,那么建議使用“死記硬背”的方法來縮短復(fù)習(xí)時(shí)間;5.上機(jī)題庫中 100 題有部分題目是重復(fù)的或是相似的題目很多,同學(xué)
2、們要使用比對的方法盡量去理解;6.多練習(xí),多思考,多總結(jié)填空題與結(jié)構(gòu)體相關(guān)1.結(jié)構(gòu)體成員引用:上機(jī)題庫 P18 第 9 題(和 92 題一致),P27 第 23 題(和 51 題一樣)程序通過定義學(xué)生構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3門課的成績。函 數(shù)fun的功能是將形參兩指色詐體變量中的數(shù)據(jù)賦給函數(shù)中的結(jié)構(gòu)體變量b并修 改b中的學(xué)號和姓宮 最后輸出修衣啟的數(shù)據(jù)。例如;兩扌旨變量中的學(xué)號、蛀名* 和三門課的成績依次懸1000k ZhangSan 95. 80. 88.貝U修改后輸出b中的 數(shù)據(jù)應(yīng)九10002.*LiSi 95、80. 88.讀清楚題目要求:(1) 要求將形參 a 所指結(jié)構(gòu)體變
3、量的數(shù)據(jù)賦值給函數(shù)中的結(jié)構(gòu)體變量b(2) 從例如可以看出來:結(jié)構(gòu)體中的學(xué)號和姓名變?yōu)榱?002和“LiSi ”, 但是3門課成 績沒有變化#i nclude #include struct stude nt long sno;char n ame10; float score3;;void fun (struct stude nt a) struct stude nt b; int i;strcpy(_2_, LiSi);姓名要變?yōu)椤?LiSi ” ,則要引用 b 中的 name 成員printf(nThe data after modified :n);/*講解是一句帶過不用多講 */pri
4、n tf(nNo: %ld Name: %snScores: ,b.s no, b. name); /*講解是一句帶過不用多講*/for (i=0;i3; i+) prin tf(%6.2f, b._3_;分析:這個(gè)是一個(gè)循環(huán)語句,執(zhí)行 3 次循環(huán),printf(%6.2f , b._3_)要求輸出是一個(gè)實(shí)型數(shù)據(jù)的成員,因此可以得知是 score 成員,因?yàn)?score 是一個(gè)數(shù)組,因此填:b.scorei,當(dāng) i 變 化就可以取出第一門、第二門、第三門課的成績prin tf(n);mai n() struct student s=10001,ZhangSan, 95, 80, 88;int
5、i;printf(nnThe original data :n);prin tf(nNo: %ld Name: %sn Scores: ,s.s no, s.n ame); for (i=0; i修改后輸出七中的數(shù)據(jù)應(yīng)為:10004 “ Lijie 93.8樂97.(1)從例如中可以看出:變化的是結(jié)構(gòu)體中的學(xué)號和姓名foundb = _1 _;題目要求將形參b.s no = 10002;學(xué)號變?yōu)榱薬 的值賦值給結(jié)構(gòu)體變量10002b,因此填:foundfound#i nclude #include struct stude nt long sno;char n ame10;float scor
6、e3;;void fun( struct stude nt *b) int i;t 的姓名變?yōu)榱恕?LiJie ” ,因此填寫:b-namemai n() struct student t=10002,ZhangQi, 93, 85, 87; int i;printf(nnThe original data :n);printf(nNo: %ld Name: %snScores: ,t.sno, );for (i=0; i3; i+) prin tf(%6.2f, t.scorei); prin tf(n);fun_3_;此處為函數(shù)調(diào)用,根據(jù)形參的類型來判定實(shí)參,形參structs
7、tudent *b為結(jié)構(gòu)體指針,聯(lián)系 main 函數(shù)定義部分只有 struct student t 和 b的類型相同,因此可知需要填的是:&tprin tf(nThe data after modified :n ”);printf(nNo: %ld Name: %snScores: ,t.sno, );for (i=0; i修改后輸出t中的數(shù)據(jù)應(yīng)為:10002. *LiSi 96. 3R 89.4 aaa.a a亠 m 亠 m 亠 x a .s a. a.aa.a. a.aA厶亠sAaA厶厶!a *厶厶GEaa. a &A(1)把 a 中地址作為函數(shù)返回值返回函數(shù)
8、觀察可知 a 中的學(xué)號、姓名邊為了 10002 和“zhangSan”,每門課的成績增加了 1 分foundb_1_ = 10004; 題目中 t 的學(xué)號變化為了 10004,因此填寫: 寫b.sno,因?yàn)?b 是一個(gè)指針b-sno,不能填foundstrcpy(b_2_,LiJie); found#in elude #i nclude struct stude nt long sno;char n ame10; float score3;_1_ fun (struct stude nt *a)根據(jù)函數(shù)調(diào)用 t = fun(&s);可知函數(shù)返回類型和 t 的類型相同,struct st
9、udent s=10001,ZhangSan, 95, 80, 88, *t;可知 t 的類型為 struct student * int i;a-s no = 10002;strcpy(a-n ame, LiSi);for (i=0; iscorei ,不能為 a.scorei 或是 a.scorereturn _3_ ;題目要求返回 a 的地址,a 本身就是一個(gè)指針,因此填入a 即可mai n() struct student s=10001,ZhangSan, 95, 80, 88, *t;int i;printf(nnThe original data :n);prin tf(nNo:
10、 %ld Name: %sn Scores: ,s.s no, s.n ame); for (i=0; is no, t-n ame); for (i=0; iscorei);prin tf(n);*found*found*found;3.3. 結(jié)構(gòu)體和排序:上機(jī)題庫 P14P14 第 2 2 題程序通過定義學(xué)生結(jié)構(gòu)體數(shù)組,存儲了若干名學(xué)生的學(xué)鈦姓名和3門課的成 贏函數(shù)曲功能是將存放學(xué)生數(shù)據(jù)的結(jié)構(gòu)勵(lì)組,桃姓名的字典序(從水到大)排序.(1)排序的格式:紅色部分為考試中的重點(diǎn),必須記住 t = ai; ai = aj; aj = t; mai n() struct student s4=1000
11、1,ZhangSan, 95, 80, 88, 10002,LiSi, 85, 70, 78,10003,CaoKai, 75, 60, 88, 10004,FangFang, 90, 82,87;int i, j;printf(nnThe original data :nn);for (j=0; j4; j+) printf(nNo: %ld Name: %-8s Scores: ,sj.sno, ); for (i=0; i3; i+) printf(%6.2f, sj.scorei);prin tf(n);fun(s, 4);printf(nnThe data after
12、sorting :nn);for (j=0; j4; j+) printf(nNo: %ld Name: %-8s Scores: ,sj.sno, ); for (i=0; i3; i+) printf(%6.2f , sj.scorei);prin tf(n);從小到大排序:for(i=0;in-1 ;從大到小排序:for(i=0; in-1 ;i+)for( j=i+1;jn ;j+) if(aiaj)t=ai;ai=aj;aj =t;void fun( struct stude nt a, int n)/*fo un d*/_1_ t; 此處要求填入 須一致, void
13、fun (struct 寫: structstudentint i, j;/*fo un d*/for (i=0; i_2_; i+) for(j=i+1; j 0)strcmp(ai. name,aj.t 的類型,可以從 t = ai; 中得知 t 和 a 數(shù)組的類型必 studenta, int n)中得知 a 為結(jié)構(gòu)體類型,因此填根據(jù)排序的格式填空,因此記住是關(guān)鍵按照姓名字典順序從小到大排序,因此: ,此處需要特別注意三、填空題與鏈表相關(guān)1.1.帶頭結(jié)點(diǎn)的鏈表:p=h-next,p=h-next,上機(jī)題庫 P21P21 第 1515 題考點(diǎn)分析:(1 1)帶頭結(jié)點(diǎn)鏈表的表現(xiàn)形式:head
14、abcf ABNULL帶頭結(jié)點(diǎn)的鏈表,頭結(jié)點(diǎn) headhead 不存放任何的數(shù)據(jù),從頭結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)開始存放數(shù)據(jù),因此考試中如果出現(xiàn)p = _1_;則填入 p=h-nextp=h-next(2(2)鏈表數(shù)據(jù)排序?qū)?shù)組元素從小到大排序:for(i=0;in-1 ;i+)for( j=i+1;jaj) t=ai;ai=aj;aj =t;對鏈表元素進(jìn)行從小到大排序:while (p) /*相當(dāng)于數(shù)組排序中的 for(i=0; inext;/*相當(dāng)于 j=i+1*/while (q) /* 相當(dāng)于 for( ;jdata q-data) /*相當(dāng)于 if(aiaj)*/ t = p-data; p-
15、data = q-data; q-data = t; /*如果 aiaj成立,則交換數(shù)據(jù)元素,讓數(shù)據(jù)變成從小到大排序*/q = q-next;/*相當(dāng)于 q+*/p = p-next;/*相當(dāng)于 p+*/1515 題:錠程序中価麹罰強(qiáng)是將帶頭節(jié)點(diǎn)的單鱷表觸瑚域中的數(shù)副 嵋大排辰即若勰表躺數(shù)融從頭至尾的數(shù)勵(lì):成久2. &釘排序 懿表觸數(shù)據(jù)域從頭至尾的數(shù)勵(lì):2. 4. 6. 8s 10o aita. a. a. J, a a a. a. *a a Ji a a aBa.Xa,丄,.LXA-a a a x x#i nclude #include #defi ne N 6typedef str
16、uct node int data;struct node *n ext; NODE;void fun(N ODE *h) NODE *p, *q; int t;while (p) while (q) if (p-data _3_ q-data) 填寫: t = p-data; p-data = q-data; q-data = t; q = q-n ext;p = p-n ext;mai n() NODE *head;int aN= 0, 10, 4, 2, 8, 6 ;head=creatlist(a);prin tf(nThe origi nal list:n);outlist(head
17、);fun( head);prin tf(nThe list after sort ing :n ”);outlist(head);2.2.不帶頭結(jié)點(diǎn)的鏈表: :p=hp=h(1(1)不帶頭結(jié)點(diǎn)鏈表的表示形式:*found*/p = _1_ ;鏈表為帶頭結(jié)點(diǎn),因此填寫:p=h-next*found*/q = _2_ ;了 p 的下一位比較兩個(gè)鏈表中元素的大小,因此q=p-next,這樣 q 指向*found*/ 從小到大排序,因此使用大于符號abcA-Bf CNULL不帶頭結(jié)點(diǎn)的鏈表沒有頭結(jié)點(diǎn), 鏈表的第一個(gè)結(jié)點(diǎn)存儲的就是數(shù)據(jù), 因此考 試中如果出現(xiàn) p =_1_ ;則填入 p=h(2 2)講
18、解 P38P38 第 4242 題(和 1515 題類似)void fun(N ODE *h) NODE *p, *q; int t;p = h;不帶頭結(jié)點(diǎn)的鏈表while (p) /*fo un d*/*fo un d*/while (_2_)判斷 q 有沒有到末尾,因此填入 p 或是 p!=NULL if (p-data q-data) t = p-data; p-data = q-data; q-data = t; q = q-n ext;p=_3_ ; while (p) 減,從循環(huán)體中得知沒有進(jìn)行 或是 p+mai n() NODE *head;int aN= 0, 10, 4, 2
19、, 8, 6 ; head=creatlist(a);prin tf(nThe origi nal list:n); outlist(head);fun( head);3.3.鏈表的返回值:P43P43 第 5050 題(和 4343 題類似)*found*/序序占”程排結(jié)宀疋大表q = _1q 指向 p 的下一位,因此填入:q=p-next為循環(huán)條件,要構(gòu)成循環(huán) p 就得自加或是自P+之類的操作,因此此處填入:p=p- next至oo霽辭矗驟為:10.8. 6s 4s 2.while (_2_) 此空判斷 q 有沒有為空,講解時(shí)候不容易理解,考生記住 即可,填入:while(q)或是 whi
20、le(q!=NULL) r = q-n ext;q-n ext = p;p = q; return p; mai n() NODE *head;int aN=2,4,6,8,10;head=creatlist(a);prin tf(nThe origi nal list:n); outlist(head);head=fu n( head);prin tf(nThe list after in vert ing :n); outlist(head);*found_1_ fun(NODE *h) 根據(jù)函數(shù)調(diào)用 head=fun(head);和 NODE *head;知 道函數(shù)的返回值為 NODE
21、* NODE *p,*q, *r;p =h;if (p=NULL)如果 p數(shù) 據(jù)位空,則 表示 無需 再進(jìn) 行逆置,故returnNULL;p 中沒有任何的數(shù)據(jù),因此就q = p-n ext;p- next =NULL;*found*foundq = 一 3;老師無需多講填入: q=r;次空理解起來較難,因此考生必須認(rèn)真記憶,四、填空題與文件相關(guān)1.1.文件指針定義(1) 文件定義的形式:FILE *fp;(課本 P115)(2) 舉例:上機(jī)題庫 P30 第 28 題第一空/*found*/_1_ fp;分析:在涉及文件類型的上機(jī)題目時(shí) fp 指的就是文件指針,因此在前面填寫類型時(shí)候直接寫入:
22、FILE *fp;(3) 類似題目:P32 第 32 題第 1 個(gè)空、P67 第 88 題第 2 個(gè)空2.2. 文件打開1 1)文件打開的格式: fopen( “文件名”,“打開方式” ) ;(課本 P115)(2) 舉例:P31 第 30 題第 1 個(gè)空void fun(char *filename, STU n) FILE *fp;fp = fopen(_1_, rb+);分析:缺少了文件名,形參 filename 是實(shí)參傳過來的文件名,因此這里直接填入: fp =fopen(filename, rb+); 表示以“讀和寫” 的方式打開一個(gè)二進(jìn)制文件 filename(3) 類似的題目:P
23、41 第 47 題第 1 個(gè)空、P71 第 94 題第 1 個(gè)空、P72 第 96 題第 3 空3.3. 文件關(guān)閉fprintf(fp, %s %d %fn, s, a, f);/*found*/4.4. 測試文件結(jié)束1)判斷文件結(jié)束的 feof 函數(shù)形式: feof(fp) (課本 P118)2) 經(jīng)常出現(xiàn)在 while() 的表達(dá)式里面,常見形式為: while(!feof(fp) 測試指針 fp 有沒 有結(jié)束*found1)文件關(guān)閉的格式: fclose (文件指針);(課本 P117)2)舉例:上機(jī)題庫 P30 第 28 題第 2 空fp = fopen(file1.txt, w);/
24、*第一次以寫的形式打開文件file1.txt*/3)fp = fopen(file1.txt, r);/*分析:打開文件以后必須將它關(guān)閉,類似題目:P72 第 96 題第 2 空第二次以讀的形式打開文件因此該空要填: fclose(fp);file1.txt*/(3) 舉例:上機(jī)題目 P26 第 22 題第 1 空FILE *fp;STU n; int i;fp = fopen(filename,rb+);while (!_1_) 分析:填寫 feof(fp) 測試 fp 指針又沒有結(jié)束(4) 類似題目:P32 第 32 題第 2 個(gè)空、P61 第 80 題第 1 個(gè)空、P71 第 94 題第
25、 2 個(gè)空5.5. 設(shè)置文件位置函數(shù)1 ) fseek 設(shè)置文件位置: fseek( 文件指針 , 位移量 , 移動(dòng)起始點(diǎn) ) (課本 P118)(2) 考試一般考查的是移動(dòng)的起始點(diǎn):SEEK_SE 表示文件開始,SEEK_CU 表示文件當(dāng)前位置,SEEK_EN 表示文件末尾(3) 舉例:上機(jī)題庫 P31 第 30 題第 2 個(gè)空fseek(fp, -1L*sizeof(STU), _2_);分析:題目要求:重寫形參 filename 所指文件中最后一個(gè)學(xué)生的數(shù)據(jù),因此文件指 針 fp 要指向最后的位置,則填入: fseek(fp, -1L*sizeof(STU), SEEK_END);(4)
26、類似題目:P26 第 22 題第 3 空、P61 第 80 第 3 空、6.6. 讀二進(jìn)制文件1 1)fwrite( 存入數(shù)據(jù)的指針,每一個(gè)數(shù)據(jù)占有的字節(jié),輸入數(shù)據(jù)的個(gè)數(shù),文件指針 ) ;(課本 P120)2)舉例: P31 第 30 題第 3 空void fun(char *filename, STU n) FILE *fp;fseek(fp, -1L*sizeof(STU), SEEK_END); /* 定位到最后一個(gè)學(xué)生的位置 */fwrite(_3_, sizeof(STU), 1, fp);/* 將形參 n 新學(xué)生的數(shù)據(jù)覆蓋最后一個(gè)學(xué)生*found*/*found*/*found*/
27、fp = fopen(filename, rb+);/* 打開文件 filename*/*found*/*found*/的數(shù)據(jù),因?yàn)?fp 已經(jīng)定位到了最后一個(gè)學(xué)生的位置 */fclose(fp);分析:題目要求用新數(shù)據(jù)覆蓋最后一個(gè)學(xué)生的數(shù)據(jù),因此填入:fwrite(&n, sizeof(STU), 1, fp);填入的是地址,不能是:fwrite(n, sizeof(STU), 1, fp);(3) 類似題目:P41 第 47 題第 3 空,P67 第 88 題第 3 空、7.7. 寫二進(jìn)制文件函數(shù)(1 1)fread(讀出數(shù)據(jù)的指針,每一個(gè)數(shù)據(jù)占有的字節(jié),輸出數(shù)據(jù)的個(gè)數(shù),文件指針)
28、;(2 2)上機(jī)考試填空題沒有出現(xiàn)需要填寫的空,考生作一般的了解8.8. fcanffcanf 函數(shù)數(shù)和 fprintffprintf 函數(shù)(1 1)fscanf (文件指針,格式控制字符串,輸入列表項(xiàng));(2 2)fprintf(文件指針,格式控制字符串,輸出列表項(xiàng));(3 3)fscanf 函數(shù)和 fprintf函數(shù)在上機(jī)編程題中詳細(xì)介紹,這里不作重點(diǎn)講解,了解即可五、填空題與函數(shù)相關(guān)1.1.函數(shù)調(diào)用:P13P13 第 1 1 題錠程序中屆數(shù)屈助勰根翻參i的髓回某個(gè)函數(shù)的氤當(dāng)調(diào)用正xl=5.000000. x2=3.000000. xl*xl+xl*x2=40.000000E1#i ncl
29、ude _1_ fun(int i, double x, double y)根據(jù)函數(shù)調(diào)用 r = fun(1, x1, x2);可知函數(shù)返回值和 r 類型一致,double x 仁 5,x2=3, r;r 為 doule 類型,則函數(shù)返回 double if (i=1)return _3_(x, y);此處的實(shí)參數(shù)為 2,則調(diào)用 f2 函數(shù)mai n() double x 仁 5, x2=3, r;r = fun(1, x1, x2);r += fun(2, x1, x2);printf(nx1=%f, x2=%f, x1*x1+x1*x2=%fnn,x1, x2, r);六、填空題與數(shù)組相關(guān)
30、1.類似題目:3、4、7、20、24、26、39、40、41、54、57、64、68、70、71、76、89、90、992.一維數(shù)組中存在這樣一些類型:(1) 求一個(gè)數(shù)值數(shù)組中的所有值的平均值和把大于或者小于平均值的數(shù)輔導(dǎo)例外一個(gè)數(shù)組中。在計(jì)算機(jī)平均值時(shí),首先定義一個(gè)變量來存放平均分,平均分一般用av 變量來代替,如果 av 已經(jīng)定義但是沒有賦初值,那么這個(gè)空填寫的內(nèi)容的為:av=0;(2) 求算平均值值時(shí)有兩種方法,第一種是算出總的分?jǐn)?shù),最后再除以總的個(gè)數(shù)即可,如算1 到 6 之間的數(shù)的平均值,首先算出 1 到 6 的和,其次用綜合除以總的個(gè)數(shù) 6,即可以 得到平均值;第二種方法是用每一個(gè)數(shù)
31、除以 6 再把所有的和加起來。即 1/6+2/6+3/6+4/6+5/6+6/6;所以在執(zhí)行的一維數(shù)組中算平均值時(shí)也是存在來中情況,如果在 for 語句的后面有 av=av/N;則第二個(gè)空一般的填寫時(shí)av+=si;如果說沒有av=av/N;則填寫的是:av+=si/N;(3) 在后面的一個(gè)空的填寫的時(shí)候要注意變量的使用情況,如果變量使用了 j 和 i,那么這一個(gè)空的填寫的內(nèi)容為:j+;(4)如果一維數(shù)組中求的是把大于或者是小于平均值的數(shù)移動(dòng)到數(shù)組的首部的時(shí)候,這種 題目的double f1(double x) return x*x; double f2(double x, double y)
32、retur n x*y; 定義了 fl 函數(shù),有一個(gè)形參定義了 f2 函數(shù),有兩個(gè)形參foundfoundreturn_2_(x); 此處為函數(shù)調(diào)用,實(shí)參數(shù)為可知,調(diào)用的為 f1 函數(shù)1,根據(jù)實(shí)參和形成個(gè)數(shù)一致elsefound解答時(shí)這樣的,第一個(gè)空一般填寫的內(nèi)容為:j+;第二個(gè)空填寫的內(nèi)容是-1 ;(5) 對數(shù)組進(jìn)行排序時(shí):如果是從大到小的排序的時(shí)候,用的是小于符號,如果是從小到大排序時(shí)使用的是大于符號。3.二維數(shù)組中的題目類型以及解決的技巧:(1) 二維數(shù)組的題目,填空的時(shí)候一般是填在函數(shù)調(diào)用,函數(shù)在調(diào)用時(shí)候?qū)懙膽?yīng)該是而為數(shù)組的名字;在定義函數(shù)的時(shí)候使用的是函數(shù)的類型和由m 各元素組成一行
33、的指針變量,假設(shè)二維數(shù)組的名字是ss,那么填寫的內(nèi)容是:(*ss)M;如果調(diào)用的是普通變量則填寫的內(nèi)容為:int n;(2)二維數(shù)組遍歷時(shí),使用的是兩個(gè)循環(huán),使用的是循環(huán)的嵌套使用,第二個(gè)循環(huán)的使用 的時(shí)候填寫的內(nèi)容為:j=0;(特殊的特殊處理)(3) 交換兩個(gè)變量的值的使用的格式為:t=a;a=b;b=t;記住交換變量的格式和順序。(4)如果二維數(shù)組是字符串的題目的時(shí)候, 要記住字符串中函數(shù)的使用的格式; 即: strlen、strcmp、strcpy、sizeof、strcat 的使用格式。注意里面的格式中使用的都是和指針。(5) 特殊的特殊處理。第 7 題的填空的內(nèi)容記住。七、填空題與數(shù)
34、學(xué)公式相關(guān)1.解題方法:(1) 如果在函數(shù)中定義變量,但是沒有定義成靜態(tài)存儲變量,即變量前面沒有static,應(yīng)給變量賦初值,如果以后用到的是加減運(yùn)算,貝 U 賦初值為 0 或者是 0.0 ;如果以后用到的是乘除運(yùn)算,則賦初值為 1 或者是 1.0 ;(2) 循環(huán)條件的填空,分析表達(dá)式的規(guī)律,看表達(dá)式中的最后一項(xiàng)的值是否到了第 m 項(xiàng)或者 是第 n 項(xiàng),如果到了第 m 或者第 n 項(xiàng),則在循環(huán)中的第二個(gè)表達(dá)式中用到的是i=m 或者是 i=n;(3) 循環(huán)條件中如果用的是 while 語句,則循環(huán)變量的初值應(yīng)該在 while 的外面定義和賦初 值,在循環(huán)語句中必須給變量自加或者是自減。如果沒有則
35、一般填的是i+;(4) 看表達(dá)式中的每一項(xiàng)的運(yùn)算規(guī)則,按照運(yùn)算的規(guī)則把每一項(xiàng)中的n 值替換為 i,特殊情況例外。如果是表達(dá)式中用到的是間隔相加減的運(yùn)算時(shí),注意給中間變量賦初值為1或者是 1.0 ;在后面的運(yùn)算中給變量乘以一個(gè)-1,以改變中間變量的符號。2.解題分析:(1) 看清題目中要求的題意,題目要求做什么就只需考慮什么。給定程序中,函數(shù)fun的功能是;計(jì)算下式前n項(xiàng)的和作為函數(shù)值返回。,舉62(2如(2) 找出題目中的表達(dá)式:(2X22-1) X(2X22 +1)1X_33x5(疔當(dāng) n=1 時(shí),表達(dá)式變?yōu)?,?dāng) n=2 時(shí),表達(dá)式為牟,n 不斷的變化,得到的表達(dá)式值也不相同,題目中要求將
36、n=1,n=2n=n 的值進(jìn)行一個(gè)累加,最 后得到一個(gè)結(jié)果賦值給變量 s。(3) 通過以上的分析我們可以得到如下的信息:1)需要一個(gè)變量來存儲結(jié)果值。對應(yīng)到程序中,我們使用 s 來表示,因?yàn)?) 需要一個(gè)變量從 1 開始遞增到 n,對應(yīng)到程序中用 i 表示。3) 需要用到循環(huán)的知識。4) 函數(shù)最后會(huì)將 s 的值進(jìn)行返回。double fun (i nt n) int i; double s, t;for(i=1; i=_2_; i+)需要填入的是 i 變量的初始值和結(jié)束值,結(jié)束值一般是 通過實(shí)參傳遞給形參的,因此很多時(shí)候填入形參名即可。 t=2.0*i; 將 2*i 的值賦值給變量 t,因此遇
37、到直接用 t*t 代替就行(2計(jì)算的結(jié)果可能為小數(shù),因此將 s 定義為實(shí)型founds=_1_;需要給 s 賦初始值,1 定填入的是 00般賦值為 0 或是 1,這里面有規(guī)律,在填空題中foundfounds=s+(2.0*i-1)*(2.0*i+1)/_3.需要在(2.0*i-1)*(2.0*i+1)/_3.中填(2x總一l)x(2x越+1)入適當(dāng)?shù)闹祦硌a(bǔ)充完整表達(dá)式,比較得知,3八、1 1(2.0*i-1)*(2.0*i+1)/_3_; 缺少的是(21),部分,上面分析過 “疔 可以用 t*t 來代替,因此,第三個(gè)填入 t*t 就行!return s;類似題目:6、13、25、29、36、
38、46、52、60、66、69、73、83、95填空題與字符串相關(guān)刪除字符串(1)主要考查二維字符數(shù)組與字符串的操作(2) 舉例 1: P18 第 8 題(和 65 題一樣)I紿定程序中,函數(shù)fun的功能昱:在形歩轉(zhuǎn)所指字符串?dāng)?shù)組中刪除所有串長超過咖字符串函數(shù)返回所剩字符串的個(gè)數(shù)口騎所指字符串?dāng)?shù)組中共百即T字符 串*且串也小于九#defi ne N 5#defi ne M 10int fun(char (*ss)M, int k)/*char (*ss)M 下標(biāo)相同,k 通過實(shí)參傳遞過來后為 7*/ inti,j=0,le n;行指針,下標(biāo)與二維數(shù)組 x 的列*found*/for(i=0; i
39、 _1_ ; i+)/*入 for(i=0; i N ; i+)*/ len=strle n(ssi);/*fo un d*/if(len= _2_);/*題目要求將串長超過 k 的字符串刪除,換個(gè)說法就是將串小于等于 k 的字符串留下,因此該空填寫 if(len= k)*/*fo un d*/strcpy(ssj+,_3_);/*將 ssi行的值賦值到 sj中,該空出現(xiàn)頻率很高,因此要牢記。strcpy(ssj+,ssi)*/return j;mai n() char xNM=Beijing,Shanghai,Tianjing,Nanjing,Wuhan;/*定義了一個(gè) 5 行 10 列的二
40、維字符數(shù)組 x*/int i,f;prin tf(nThe orig inal stri ngnn ”);for(i=0;iN;i+)puts(xi); printf(n);f=fun(x,7);/*將二維數(shù)組 x 傳給 fun 函數(shù)的第一個(gè)形參,將 7 傳遞給 fun 函數(shù)的第二個(gè)形參*/prin tf(The stri ng witch len gth is less tha n or equal to 7 :n ”);for(i=0; if; i+) puts(xi);printf(n);(3) 舉例 2: P19 第 10 題(和 93 題一樣)紿定程序中,函數(shù)詞功能是莊形如所指字符趣中將所有串長超 過圖宇符串中右謹(jǐn)?shù)淖址i只腮左過的介字鼠硼指字符串?dāng)?shù)組中共有H個(gè)字符串,且串長小于能#defi ne
溫馨提示
- 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)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小區(qū)門前硬化施工方案
- 工地項(xiàng)目草坪施工方案
- 架空線施工方案
- 杭州灣大橋 施工方案
- 板房墻面翻新施工方案
- 爬架專項(xiàng)施工方案
- 筒易 施工方案
- 民國風(fēng)建筑施工方案
- 2025年度車貸抵押貸款合同保密條款
- 二零二五年度股份協(xié)議書:股權(quán)分紅與收益分配
- 高中通用技術(shù)人教高二下冊目錄新型抽紙盒-
- 畜牧場經(jīng)營管理
- 【課件】算法及其特征 課件教科版(2019)高中信息技術(shù)必修1
- ALeader 阿立得 ALD515使用手冊
- 【課題】《中學(xué)道德與法治法治意識培養(yǎng)策略的研究》中期檢查表
- 統(tǒng)編人教版高中政治(必修3)第2課第一框《始終堅(jiān)持以人民為中心》說課稿
- 第七章-創(chuàng)意服裝的立體裁剪課件
- 檔案管理技能大賽(理論知識)考試題庫(含答案)
- 2022年鄭州衛(wèi)生健康職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試筆試試題及答案解析
- 民間非營利組織業(yè)務(wù)活動(dòng)表
- 《燃?xì)鈮毫艿篮附印氛n件
評論
0/150
提交評論