二級(jí)C語(yǔ)言上機(jī)填空題技巧總結(jié)_第1頁(yè)
二級(jí)C語(yǔ)言上機(jī)填空題技巧總結(jié)_第2頁(yè)
二級(jí)C語(yǔ)言上機(jī)填空題技巧總結(jié)_第3頁(yè)
二級(jí)C語(yǔ)言上機(jī)填空題技巧總結(jié)_第4頁(yè)
二級(jí)C語(yǔ)言上機(jī)填空題技巧總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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)介

電腦填空技巧總結(jié)如何填空電腦填空題占30分。一般需要填3個(gè)空格,每個(gè)空格10分;填空題前,一定要弄清題意,把握關(guān)鍵詞。比如要求數(shù)組從小到大排序,就會(huì)出現(xiàn)大于號(hào),如果是從大到小排序,就會(huì)出現(xiàn)小于號(hào);最常出現(xiàn)的填空題是與函數(shù)調(diào)用、函數(shù)頭和函數(shù)返回值相關(guān)的函數(shù)。因此,要牢牢把握功能的基本特征;填空題中的一些“空白”比較難??忌苏莆毡匾腃語(yǔ)言知識(shí)外,還需要良好的邏輯思維。如果一個(gè)空白會(huì)花費(fèi)很多時(shí)間來(lái)解決,建議使用“死記硬背”的方法??s短學(xué)習(xí)時(shí)間;基于計(jì)算機(jī)的題庫(kù)中的100個(gè)問(wèn)題中,有一些是重復(fù)的或有許多類似的問(wèn)題。學(xué)生應(yīng)該盡可能地用比較的方法來(lái)理解它們;多練習(xí),多思考,多總結(jié)填空題與結(jié)構(gòu)有關(guān)結(jié)構(gòu)成員參考:P18的第9題(同第92題),P27的第23題(同第51題)讀清楚要求:需要將形參a指向的結(jié)構(gòu)體變量的數(shù)據(jù)賦值給函數(shù)中的結(jié)構(gòu)體變量b從例子中可以看出:結(jié)構(gòu)中的學(xué)號(hào)之和變成了1002和“LiSi”,但是3門課程的成績(jī)沒(méi)有變化。#include<stdio.h>#include<stdio.h>#include<string.h>structstudent{longsno;charname[10];floatscore[3];};voidfun(structstudenta){structstudentb;inti;/**********found**********/b=__1__;題目要求將形參a的值賦值給結(jié)構(gòu)體變量b,因此填:ab.sno=10002;學(xué)號(hào)變?yōu)榱?0002/**********found**********/strcpy(__2__,"LiSi");姓名要變?yōu)椤盠iSi”,則要引用b中的name成員printf("\nThedataaftermodified:\n");/*講解是一句帶過(guò)不用多講*/printf("\nNo:%ldName:%s\nScores:",b.sno,);/*講解是一句帶過(guò)不用多講*//**********found**********/for(i=0;i<3;i++)printf("%6.2f",b.__3__);分析:這個(gè)是一個(gè)循環(huán)語(yǔ)句,執(zhí)行3次循環(huán),printf("%6.2f",b.__3__)要求輸出是一個(gè)實(shí)型數(shù)據(jù)的成員,因此可以得知是score成員,因?yàn)閟core是一個(gè)數(shù)組,因此填:b.score[i],當(dāng)i變化就可以取出第一門、第二門、第三門課的成績(jī)printf("\n");}main(){structstudents={10001,"ZhangSan",95,80,88};inti;printf("\n\nTheoriginaldata:\n");printf("\nNo:%ldName:%s\nScores:",s.sno,);for(i=0;i<3;i++)printf("%6.2f",s.score[i]);printf("\n");fun(s);}23個(gè)問(wèn)題:從例子中可以看出變化的是學(xué)號(hào)和學(xué)號(hào)#include<stdio.h>#include<stdio.h>#include<string.h>structstudent{longsno;charname[10];floatscore[3];};voidfun(structstudent*b){inti;/**********found**********/b__1__=10004;題目中t的學(xué)號(hào)變化為了10004,因此填寫(xiě):b->sno,不能填寫(xiě)b.sno,因?yàn)閎是一個(gè)指針/**********found**********/strcpy(b__2__,"LiJie");t的姓名變?yōu)榱恕盠iJie”,因此填寫(xiě):b->name}main(){structstudentt={10002,"ZhangQi",93,85,87};inti;printf("\n\nTheoriginaldata:\n");printf("\nNo:%ldName:%s\nScores:",t.sno,);for(i=0;i<3;i++)printf("%6.2f",t.score[i]);printf("\n");/**********found**********/fun(__3__);此處為函數(shù)調(diào)用,根據(jù)形參的類型來(lái)判定實(shí)參,形參structstudent*b為結(jié)構(gòu)體指針,聯(lián)系main函數(shù)定義部分只有structstudentt和b的類型相同,因此可知需要填的是:&tprintf("\nThedataaftermodified:\n");printf("\nNo:%ldName:%s\nScores:",t.sno,);for(i=0;i<3;i++)printf("%6.2f",t.score[i])printf("\n");}函數(shù)調(diào)用和結(jié)構(gòu):計(jì)算機(jī)題庫(kù)P22的第16題(同第78和82題)重要的提示:(1)以a中的地址作為函數(shù)返回值的函數(shù)返回(2)從觀察可以看出,a中的學(xué)號(hào),10002和“zhangSan”的邊緣,每門課程的分?jǐn)?shù)增加1分#include<stdio.h>#include<stdio.h>#include<string.h>structstudent{longsno;charname[10];floatscore[3];};/**********found**********/__1__fun(structstudent*a)根據(jù)函數(shù)調(diào)用t=fun(&s);可知函數(shù)返回類型和t的類型相同,structstudents={10001,"ZhangSan",95,80,88},*t;可知t的類型為structstudent*{inti;a->sno=10002;strcpy(a->name,"LiSi");/**********found**********/for(i=0;i<3;i++)__2__+=1;題目要求將每門課成績(jī)?cè)黾?分,因此填為:a->score[i],不能為a.score[i]或是a.score/**********found**********/return__3__;題目要求返回a的地址,a本身就是一個(gè)指針,因此填入a即可}main(){structstudents={10001,"ZhangSan",95,80,88},*t;inti;printf("\n\nTheoriginaldata:\n");printf("\nNo:%ldName:%s\nScores:",s.sno,);for(i=0;i<3;i++)printf("%6.2f",s.score[i]);printf("\n");t=fun(&s);printf("\nThedataaftermodified:\n");printf("\nNo:%ldName:%s\nScores:",t->sno,t->name);for(i=0;i<3;i++)printf("%6.2f",t->score[i]);printf("\n");}結(jié)構(gòu)與排序:機(jī)考P14題2 重要的提示: (1)排序格式:紅色部分是測(cè)試中的重點(diǎn),一定要記住從小到大排序:for(i=0;從小到大排序:for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]>a[j]) {t=a[i];a[i]=a[j];a[j]=t;}從大到小排序:for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;}voidfun(structstudenta[],intn)voidfun(structstudenta[],intn){/**********found**********/__1__t;此處要求填入t的類型,可以從t=a[i];中得知t和a數(shù)組的類型必須一致,voidfun(structstudenta[],intn)中得知a為結(jié)構(gòu)體類型,因此填寫(xiě):structstudentinti,j;/**********found**********/for(i=0;i<__2__;i++)根據(jù)排序的格式填空,因此記住是關(guān)鍵for(j=i+1;j<n;j++)/**********found**********/if(strcmp(__3__)>0)按照姓名字典順序從小到大排序,因此:strcmp(a[i].name,a[j].name),此處需要特別注意{t=a[i];a[i]=a[j];a[j]=t;}}main(){structstudents[4]={{10001,"ZhangSan",95,80,88},{10002,"LiSi",85,70,78}, {10003,"CaoKai",75,60,88},{10004,"FangFang",90,82,87}};inti,j;printf("\n\nTheoriginaldata:\n\n");for(j=0;j<4;j++){printf("\nNo:%ldName:%-8sScores:",s[j].sno,s[j].name);for(i=0;i<3;i++)printf("%6.2f",s[j].score[i]);printf("\n");}fun(s,4);printf("\n\nThedataaftersorting:\n\n");for(j=0;j<4;j++){printf("\nNo:%ldName:%-8sScores:",s[j].sno,s[j].name);for(i=0;i<3;i++)printf("%6.2f",s[j].score[i]);printf("\n");}}與鏈表相關(guān)的填空題帶頭節(jié)點(diǎn)的鏈表:p=h->next,計(jì)算機(jī)題庫(kù)P21第15題測(cè)試點(diǎn)分析:(1)前導(dǎo)節(jié)點(diǎn)鏈表的表示:headabcheadabcABCNULL(2)鏈表數(shù)據(jù)的排序 對(duì)數(shù)組元素對(duì)數(shù)組元素從小到大排序:for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]>a[j]) {t=a[i];a[i]=a[j];a[j]=t;}對(duì)鏈表元素進(jìn)行從小到大排序:while(p)/*相當(dāng)于數(shù)組排序中的for(i=0;i<n-1;)*/{q=p->next;/*相當(dāng)于j=i+1*/while(q)/*相當(dāng)于for(;j<n;){if(p->data>q->data)/*相當(dāng)于if(a[i]>a[j])*/{t=p->data;p->data=q->data;q->data=t;} /*如果a[i]>a[j]成立,則交換數(shù)據(jù)元素,讓數(shù)據(jù)變成從小到大排序*/q=q->next;/*相當(dāng)于q++*/}p=p->next;/*相當(dāng)于p++*/}15個(gè)問(wèn)題:#i#include<stdio.h>#include<stdlib.h>#defineN6typedefstructnode{intdata;structnode*next;}NODE;voidfun(NODE*h){NODE*p,*q;intt;/**********found**********/p=__1__;鏈表為帶頭結(jié)點(diǎn),因此填寫(xiě):p=h->nextwhile(p){/**********found**********/q=__2__;比較兩個(gè)鏈表中元素的大小,因此q=p->next,這樣q指向了p的下一位while(q){/**********found**********/if(p->data__3__q->data)—>從小到大排序,因此使用大于符號(hào),填寫(xiě):>{t=p->data;p->data=q->data;q->data=t;}q=q->next;}p=p->next;}}main(){NODE*head;inta[N]={0,10,4,2,8,6};head=creatlist(a);printf("\nTheoriginallist:\n");outlist(head);fun(head);printf("\nThelistaftersorting:\n");outlist(head);}沒(méi)有頭節(jié)點(diǎn)的鏈表:p=h沒(méi)有頭節(jié)點(diǎn)的鏈表表示:aabcABCNULL 不帶頭結(jié)點(diǎn)的鏈表沒(méi)有頭結(jié)點(diǎn),鏈表的第一個(gè)結(jié)點(diǎn)存儲(chǔ)的就是數(shù)據(jù),因此考試中如果出現(xiàn)p=__1__;則填入p=h解釋P38第42題(同第15題)voidfun(NODE*h)voidfun(NODE*h){NODE*p,*q;intt;p=h;不帶頭結(jié)點(diǎn)的鏈表while(p){/**********found**********/q=__1__;q指向p的下一位,因此填入:q=p->next/**********found**********/while(__2__)判斷q有沒(méi)有到末尾,因此填入p或是p!=NULL{if(p->data>q->data){t=p->data;p->data=q->data;q->data=t;}q=q->next;}/**********found**********/p=__3__;while(p)為循環(huán)條件,要構(gòu)成循環(huán)p就得自加或是自減,從循環(huán)體中得知沒(méi)有進(jìn)行p++之類的操作,因此此處填入:p=p->next或是p++}}main(){NODE*head;inta[N]={0,10,4,2,8,6};head=creatlist(a);printf("\nTheoriginallist:\n");outlist(head);fun(head);}鏈表返回值:P43第50題(類似第43題) /**********found**********//**********found**********/__1__fun(NODE*h)根據(jù)函數(shù)調(diào)用head=fun(head);和NODE*head;知道函數(shù)的返回值為NODE*{NODE*p,*q,*r;p=h;if(p==NULL)—>如果p數(shù)據(jù)位空,則表示p中沒(méi)有任何的數(shù)據(jù),因此就無(wú)需再進(jìn)行逆置,故returnNULL;returnNULL;q=p->next;p->next=NULL;/**********found**********/while(__2__)此空判斷q有沒(méi)有為空,講解時(shí)候不容易理解,考生記住即可,填入:while(q)或是while(q!=NULL){r=q->next;q->next=p;p=q;/**********found**********/q=__3__;填入:q=r;次空理解起來(lái)較難,因此考生必須認(rèn)真記憶,老師無(wú)需多講}returnp;}main(){NODE*head;inta[N]={2,4,6,8,10};head=creatlist(a);printf("\nTheoriginallist:\n");outlist(head);head=fun(head);printf("\nThelistafterinverting:\n");outlist(head);}填寫(xiě)與文件相關(guān)的空白問(wèn)題文件指針定義文件定義形式:FILE*fp;(教科書(shū)P115)例:電腦上P30題庫(kù)的第28題是第一個(gè)空位/************成立**********/__1__fp;分析:fp指的是電腦問(wèn)題涉及文件類型時(shí)的文件指針,所以前面填寫(xiě)類型的時(shí)候直接寫(xiě):FILE*fp;類似題:P32第32題,第一題,P67第88題,第二題文件打開(kāi)文件打開(kāi)格式:fopen("文件名","打開(kāi)方式");(教科書(shū)P115)例:P31第30題第一個(gè)空格無(wú)效樂(lè)趣(字符*文件名,STUn){文件*fp;/************成立**********/fp=fopen(__1__,"rb+");分析:文件名丟失。形參filename是實(shí)參傳遞的文件名,所以這里直接填寫(xiě):fp=fopen(filename,"rb+");表示以“讀寫(xiě)”模式打開(kāi)二進(jìn)制文件文件名類似題:P41No.47No.1空白,P71No.94No.1空白,P72No.96No.3空白文件關(guān)閉文件關(guān)閉格式:fclose(文件指針);(教科書(shū)P117)例如:電腦上題庫(kù)P30的第28題為空f(shuō)p=fopen("file1.txt","w");/*第一次打開(kāi)文件file1.txt進(jìn)行寫(xiě)入*/fprintf(fp,"%s%d%f\n",s,a,f);/************成立**********/__2__;fp=fopen("file1.txt","r");/*打開(kāi)文件file1.txt進(jìn)行第二次讀取*/分析:打開(kāi)文件后必須關(guān)閉,所以要填空:fclose(fp);類似問(wèn)題:P72No.96No.2empty測(cè)試文件結(jié)束feof函數(shù)判斷文件結(jié)束的形式:feof(fp)(教科書(shū)P118)它經(jīng)常出現(xiàn)在while()的表達(dá)式中,常見(jiàn)的形式是:while(!feof(fp))測(cè)試指針fp是否已經(jīng)結(jié)束示例:第22題第1題,關(guān)于計(jì)算機(jī)題P26文件*fp;STUn;詮釋我;fp=fopen(文件名,"rb+");/************成立**********/而(!__1__)分析:填寫(xiě)feof(fp)測(cè)試fp指針并沒(méi)有結(jié)束類似題:P32第32題第二個(gè)空白,P61第80題第一個(gè)空白,P71第94題第二個(gè)空白設(shè)置文件位置功能fseek設(shè)置文件位置:fseek(文件指針,位移,移動(dòng)起點(diǎn))(教科書(shū)P118)測(cè)試一般檢查移動(dòng)的起點(diǎn):SEEK_SET表示文件的開(kāi)始,SEEK_CUR表示文件的當(dāng)前位置,SEEK_END表示文件的結(jié)束例如:機(jī)考P31第30題第二個(gè)空白/************成立**********/fseek(fp,-1L*sizeof(STU),__2__);分析:題目要求:重寫(xiě)形參filename指向的文件中最后一個(gè)學(xué)生的數(shù)據(jù),所以文件指針fp應(yīng)該指向最后一個(gè)位置,然后填寫(xiě):fseek(fp,-1L*sizeof(STU),SEEK_END);類似問(wèn)題:P26No.22No.3,P61No.80No.3,讀取二進(jìn)制文件fwrite(存儲(chǔ)數(shù)據(jù)的指針,每個(gè)數(shù)據(jù)占用的字節(jié)數(shù),輸入數(shù)據(jù)的個(gè)數(shù),文件指針);(教科書(shū)P120)示例:P31問(wèn)題30,空白3無(wú)效樂(lè)趣(字符*文件名,STUn){文件*fp;/************成立**********/fp=fopen(文件名,"rb+");/*打開(kāi)文件文件名*//************成立**********/fseek(fp,-1L*sizeof(STU),SEEK_END);/*定位最后一個(gè)學(xué)生的位置*//************成立**********/fwrite(__3__,sizeof(STU),1,fp);/*用形參n的新學(xué)生的數(shù)據(jù)覆蓋最后一個(gè)學(xué)生的數(shù)據(jù),因?yàn)閒p已經(jīng)定位到了最后一個(gè)學(xué)生的位置*/fclose(fp);}分析:題目要求用新數(shù)據(jù)覆蓋上一個(gè)學(xué)生的數(shù)據(jù),所以填寫(xiě):fwrite(&n,sizeof(STU),1,fp);填寫(xiě)地址,不要:fwrite(n,sizeof(STU),1,fp);類似題:P41,第47題,第3題,P67,第88題,第3題,編寫(xiě)二進(jìn)制函數(shù)fread(讀取數(shù)據(jù)的指針,每個(gè)數(shù)據(jù)占用的字節(jié)數(shù),輸出數(shù)據(jù)個(gè)數(shù),文件指針);機(jī)考填空題沒(méi)有需要填空的地方,考生大致了解fcanf函數(shù)號(hào)和fprintf函數(shù)fscanf(文件指針,格式控制字符串,輸入列表項(xiàng));fprintf(文件指針,格式控制字符串,輸出列表項(xiàng));fscanf函數(shù)和fprintf函數(shù)在計(jì)算機(jī)編程問(wèn)題中有詳細(xì)介紹。我們這里不重點(diǎn)解釋,理解就好。與功能有關(guān)的填空題函數(shù)調(diào)用:P13問(wèn)題1#include<stdio.h>doublef1(doublex)#include<stdio.h>doublef1(doublex) 定義了f1函數(shù),有一個(gè)形參{returnx*x;}doublef2(doublex,doubley)定義了f2函數(shù),有兩個(gè)形參{returnx*y;}/**********found**********/__1__fun(inti,doublex,doubley)根據(jù)函數(shù)調(diào)用r=fun(1,x1,x2);可知函數(shù)返回值和r類型一致,doublex1=5,x2=3,r;r為doule類型,則函數(shù)返回double{if(i==1)/**********found**********/return__2__(x);此處為函數(shù)調(diào)用,實(shí)參數(shù)為1,根據(jù)實(shí)參和形成個(gè)數(shù)一致可知,調(diào)用的為f1函數(shù)else/**********found**********/return__3__(x,y);此處的實(shí)參數(shù)為2,則調(diào)用f2函數(shù)}main(){doublex1=5,x2=3,r;r=fun(1,x1,x2);r+=fun(2,x1,x2);printf("\nx1=%f,x2=%f,x1*x1+x1*x2=%f\n\n",x1,x2,r);}與數(shù)組有關(guān)的填空題類似問(wèn)題:3、4、7、20、24、26、39、40、41、54、57、64、68、70、71、76、89、90、99一維數(shù)組中有這樣的類型:查找數(shù)字?jǐn)?shù)組中所有值的平均值,并將大于或小于平均值的數(shù)字排除在數(shù)組中。在計(jì)算計(jì)算機(jī)的平均值時(shí),首先定義一個(gè)變量來(lái)存儲(chǔ)平均分?jǐn)?shù)。平均分一般用av變量代替。如果定義了av但沒(méi)有賦初值,這個(gè)空填充的內(nèi)容為:av=0;有兩種計(jì)算平均值的方法。首先是計(jì)算總分,最后除以總數(shù)。例如,要計(jì)算1到6之間的數(shù)字的平均值,首先計(jì)算1到6之間的數(shù)字。第二個(gè)是將每個(gè)數(shù)字除以6,然后將所有和相加。即1/6+2/6+3/6+4/6+5/6+6/6;所以在計(jì)算執(zhí)行的一維數(shù)組中的平均值時(shí)也存在一種情況。如果av=av/N后面有for語(yǔ)句;然后第二個(gè)空白填充av+=s[i];如果沒(méi)有av=av/N;然后填寫(xiě):av+=s[i]/N;填寫(xiě)下一個(gè)空的時(shí)候,注意變量的用法。如果變量使用j和i,那么這個(gè)空填充的內(nèi)容是:j++;如果一維數(shù)組是將大于或小于平均值的數(shù)移動(dòng)到數(shù)組的頭部,這道題的答案是這樣的,第一個(gè)空格一般填:j++;第二個(gè)空白填寫(xiě)的內(nèi)容是-1;對(duì)數(shù)組進(jìn)行排序時(shí):如果是從大到小排序,則使用小于號(hào),如果是從小到大排序,則使用大于號(hào)。二維數(shù)組中的問(wèn)題類型和解決問(wèn)題的技術(shù):對(duì)于二維數(shù)組的標(biāo)題,填空時(shí),一般是在函數(shù)調(diào)用中填寫(xiě)。調(diào)用函數(shù)時(shí),應(yīng)改為寫(xiě)入數(shù)組的名稱。定義函數(shù)時(shí),使用函數(shù)的類型和指向由m的每個(gè)元素組成的行的指針。變量,假設(shè)二維數(shù)組的名稱為ss,那么要填寫(xiě)的內(nèi)容為:(*ss)[M];如果調(diào)用普通變量,則要填寫(xiě)的內(nèi)容為:intn;遍歷二維數(shù)組時(shí),使用了兩個(gè)循環(huán),使用了循環(huán)的嵌套使用。使用第二個(gè)循環(huán)時(shí),填寫(xiě)的內(nèi)容為:j=0;(特殊特殊處理)用于交換兩個(gè)變量值的格式是:t=a;a=b;b=t;記住交換變量的格式和順序。如果二維數(shù)組是字符串的主題,記住字符串中函數(shù)的格式;即strlen、strcmp、strcpy、sizeof、strcat的格式。注意,和指針都用在格式里面。特殊特殊處理。記得填寫(xiě)第7題的空格。與數(shù)學(xué)公式相關(guān)的填空題問(wèn)題解決方法:如果在函數(shù)中定義了變量,但沒(méi)有定義為靜態(tài)存儲(chǔ)變量,即變量前面沒(méi)有static,則應(yīng)該給變量賦一個(gè)初值。如果后面用到加減運(yùn)算,初始值為0或0.0;使用乘除運(yùn)算,初始值為1或1.0;填入循環(huán)條件的空白處,分析表達(dá)式的規(guī)律,看表達(dá)式中最后一項(xiàng)的值是否到達(dá)第m或第n項(xiàng),如果到達(dá)第m或第n項(xiàng),則第二個(gè)表達(dá)式中的loop使用的公式是i<=m或i<=n;如果在循環(huán)條件中使用了while語(yǔ)句,則應(yīng)在while之外定義循環(huán)變量的初值并賦初值,并且該變量必須在循環(huán)語(yǔ)句中自加或自減。如果沒(méi)有,一般填i++;查看表達(dá)式中每一項(xiàng)的運(yùn)算規(guī)則,根據(jù)運(yùn)算規(guī)則將每一項(xiàng)中的n值替換為i,特殊情況除外。如果表達(dá)式中使用區(qū)間加減運(yùn)算,注意給中間變量賦初值1或1.0;在后續(xù)操作中,將變量乘以-1以改變中間變量的符號(hào)。問(wèn)題解決分析:看清楚題中所提問(wèn)題的意思,只需要考慮題中要求做什么即可。找到問(wèn)題中的表達(dá)式:當(dāng)n=1時(shí),表達(dá)式變?yōu)?,?dāng)n=2時(shí),表達(dá)式為,n不斷變化,得到的表達(dá)式值不一樣,題要求n=1,n=2……n=n的值s被累加,最后得到一個(gè)結(jié)果并賦值給變量s。通過(guò)以上分析,我們可以得到以下信息:需要一個(gè)變量來(lái)存儲(chǔ)結(jié)果值。對(duì)應(yīng)程序,我們用s來(lái)表示,因?yàn)橛?jì)算的結(jié)果可能是小數(shù),所以定義s為實(shí)型。一個(gè)變量需要從1遞增到n,對(duì)應(yīng)程序中的i。需要循環(huán)知識(shí)。該函數(shù)最終將返回s的值。雙重樂(lè)趣(intn){詮釋我;雙s,t;/************成立**********/s=__1__;需要給s賦初值,一般為0或1。這里有規(guī)則,填空題一定要填0。/************成立**********/for(i=1;i<=__2__;i++)需要填寫(xiě)i變量的初值和終值。結(jié)束值一般是通過(guò)實(shí)參傳遞給形參的,所以很多情況下可以填寫(xiě)形參名。{t=2.0*i;將2*i的值賦給變量t,因此只需使用t*t代替。/************成立**********/s=s+(2.0*i-1)*(2.0*i+1)/__3__;需要在(2.0*i-1)*(2.0*i+1)/__3__中填入合適的值;為了完成表達(dá),通過(guò)比較可知,(2.0*i-1)*(2.0*i+1)/__3__;缺的是上面分析的可以用t*t代替的部分,所以第三個(gè)填t*t就行了!}返回s;}類似問(wèn)題:6、13、25、29、36、46、52、60、66、69、73、83、95與字符串有關(guān)的填空題刪除字符串主要考察二維字符數(shù)組和字符串的操作例1:P18第8題(同第65題)#定義N5#定義M10intfun(char(*ss)[M],intk)/*char(*ss)[M]行指針,下標(biāo)與二維數(shù)組x的列下標(biāo)相同,k后為7通過(guò)實(shí)際參數(shù)*/{inti,j=0,len;/************成立**********/for(i=0;i<__1__;i++)/*根據(jù)len=strlen(ss[i]);可以看出i代表一行,所以填寫(xiě)for(i=0;i<N;i++)*/{len=strlen(ss[i]);/************成立**********/if(len<=__2__);/*標(biāo)題要求刪除字符串長(zhǎng)度超過(guò)k的字符串。也就是說(shuō),字符串長(zhǎng)度小于等于k的字符串應(yīng)該留下,所以填寫(xiě)if(len<=k)*//************成立**********/strcpy(ss[j++],__3__);/*將ss[i]行的值賦值給s[j],這個(gè)null經(jīng)常出現(xiàn),所以要牢記。strcpy(ss[j++],ss[i])*/}返回j;}主要的(){charx[N][M]={"Beijing","Shanghai","天井","Nanjing","Wuhan/*定義一個(gè)5行10列的二維字符數(shù)組x*/詮釋我,f;printf("\n原始字符串\n\n");for(i=0;i<N;i++)puts(x[i]);printf("\n");f=樂(lè)趣(x,7);/*將二維數(shù)組x傳給fun函數(shù)的第一個(gè)參數(shù),將7傳給fun函數(shù)的第二個(gè)參數(shù)*/printf("字符串女巫長(zhǎng)度小于等于7:\n");for(i=0;i<f;i++)puts(x[i]);printf("\n");}例2:P19第10題(同第93題)#定義N5#定義M10/************成立**********/voidfun(char(*ss)__1__,intk)/*根據(jù)函數(shù)調(diào)用,char(*ss)__1__對(duì)應(yīng)的是實(shí)參的二維數(shù)組x,所以必須對(duì)應(yīng)列下標(biāo),所以填入字符(*ss)[M]*/{inti=0;/************成立**********/while(i<__2__){/*ss[i][k]知道i在行的位置,所以i小于最大行長(zhǎng),所以填寫(xiě):while(i<N)*//************成立**********/ss[i][k]=__3__;我++;/*刪除字符串長(zhǎng)度超過(guò)k的字符串右側(cè)的所有字符,請(qǐng)看分析,如果在k位置加'\,0’ss[i][k]='\0’;AABC\0\0\0\01234\0\0\0abcdef\0AB\0\0\0\0\012\04\0\0\0a

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論