C語(yǔ)言程序設(shè)計(jì) 第2版 項(xiàng)目9-10習(xí)題答案_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì) 第2版 項(xiàng)目9-10習(xí)題答案_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì) 第2版 項(xiàng)目9-10習(xí)題答案_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì) 第2版 項(xiàng)目9-10習(xí)題答案_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì) 第2版 項(xiàng)目9-10習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目9【思考與練習(xí)】一、選擇題1.變量的指針,其含義是指該變量的(B)。A值B地址C名D一個(gè)標(biāo)志2.若有語(yǔ)句int*point,a=6;和point=&a;下面均代表地址的一組選項(xiàng)是(D)。Apoint,*&aB&*a,&a,*pointC*&point,*point,&aD&a,&*point,point3.下列不正確的定義是(A)。

Aint*p=&i,i;Bint*p,i;

Cinti,*p=&i;Dinti,*p;4.若有說明;int*p,m=5,n;以下正確的程序段的是(D)。Ap=&n;Bp=&n;scanf("%d",&p);scanf("%d",*p);Cscanf("%d",&n);Dp=&n;*p=n;*p=m;5.以下程序執(zhí)行后,a的值是(B)。main(){inta,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;printf("%d\n",a);getch();}A4B1C0D運(yùn)行時(shí)出錯(cuò),無定值二、簡(jiǎn)答題1.編寫一個(gè)函數(shù),將一個(gè)3*4的二維數(shù)組矩陣轉(zhuǎn)置。用指向數(shù)組的指針實(shí)現(xiàn)。答案:#include<stdio.h>voidfunc(int(*pa)[4],int(*pb)[3],intx,inty){ inti,j; //輸出pa指向的二維數(shù)組的元素 for(i=0;i<x;i++) { for(j=0;j<y;j++) { printf("%d\t",pa[i][j]); pb[j][i]=pa[i][j];//矩陣轉(zhuǎn)置 } printf("\n"); } printf("\n\n"); for(i=0;i<y;i++) { for(j=0;j<x;j++) { printf("%d\t",pb[i][j]); } printf("\n"); }}intmain(){inti,j; intarr[3][4],brr[4][3]; for(i=0;i<3;i++) { for(j=0;j<4;j++) { scanf("%d",&arr[i][j]); } }return0;}編寫一個(gè)程序統(tǒng)計(jì)候選人得票數(shù)。設(shè)有4名候選人,以輸入候選人人名方式模擬唱票,最后輸出每個(gè)候選人的得票數(shù)。計(jì)算得票數(shù)的過程用函數(shù)實(shí)現(xiàn)。答案:#include"string.h"structperson /*定義結(jié)構(gòu)體類型*/{charchName[15]; intiCount;};voidfnCount(structperson*pStr) /*計(jì)算每個(gè)人的票數(shù)*/{inti,j;charchName[15];printf("\nInputname\n");for(i=1;i<=10;i++){scanf("%s",chName);for(j=0;j<4;j++)if(strcmp(chName,(pStr+j)->chName)==0)(pStr+j)->iCount++;}}voidfnData_put(structperson*pStr)/*輸出每個(gè)候選人及票數(shù)*/{intj;printf("\nresult:");for(j=0;j<4;j++,)printf("\n%s=%d",(pStr+j)->chName,(pStr+j)->iCount);}voidmain(){structpersonstLeader[4]={{"Li",0},{"Wang",0},{"Zhang",0},{"Shen",0}};fnCount(stLeader);fnData_put(stLeader);}指針作為函數(shù)參數(shù),實(shí)現(xiàn)兩個(gè)數(shù)值交換。答案:#include<stdio.h>voidswap(int*a,int*b)//函數(shù)參數(shù)為指針類型{ inttemp; temp=*a; *a=*b; *b=temp;}voidmain(){ inta=10,b=20; printf("調(diào)用函數(shù)前變量a和b的值為:%d%d\n",a,b); swap(&a,&b); printf("調(diào)用函數(shù)后變量a和b的值為:%d%d\n",a,b);}利用指針查找數(shù)列中的最大值和最小值在窗體上輸入10個(gè)整數(shù),自動(dòng)查找這些數(shù)中的最大值和最小值,并顯示在窗體上。答案:#include<stdio.h>voidfnMax_min(inta[],intn,int*max,int*min){int*p;*max=*min=*a; /*初始化最大值、最小值*/for(p=a+1;p<a+n;p++) if(*p>*max)*max=*p; /*最大值*/ elseif(*p<*min) *min=*p; /*最小值*/ return;}voidmain(){inti,a[10],max,min; printf("請(qǐng)輸入10個(gè)整數(shù):"); for(i=0;i<10;i++) scanf("%d",&a[i]); /*輸入數(shù)組元素*/ fnMax_min(a,10,&max,&min); /*返回最大值和最小值*/ printf("最大數(shù)是%d\n",max); /*輸出最大值*/ printf("最小數(shù)是%d\n",min); /*輸出最小值*/}用函數(shù)指針來實(shí)現(xiàn)對(duì)函數(shù)的調(diào)用,返回兩個(gè)整數(shù)中的最大值。答案:intmax(inta,intb);intmain(){intx,y,maxVal;int(*pmax)(int,int)=max;printf("Inputtwonumbers:");scanf("%d%d",&x,&y);maxVal=(*pmax)(x,y);printf("Maxvalue:%d\n",maxVal);getchar();getchar();return0;}intmax(inta,intb){returna>b?a:b;}項(xiàng)目10思考與練習(xí)】一、選擇題1、當(dāng)已存在一個(gè)abc.txt文件時(shí),執(zhí)行函數(shù)fopen("abc.txt","r+")的功能是D。A.打開abc.txt文件,清除原有的內(nèi)容B.打開abc.txt文件,只能寫入新的內(nèi)容C.打開abc.txt文件,只能讀取原有內(nèi)容D.打開abc.txt文件,可以讀取和寫入新的內(nèi)容2、若用fopen()函數(shù)打開一個(gè)已存在的文本文件,保留該文件原有內(nèi)容,且可以讀,可以寫。則文件打開模式是C。A."ab+" B."w+" C."a+" D."a"3、以下不能將文件指針重新移到文件開頭位置的函數(shù)是D。A.rewind(fp); B.fseek(fp,0,SEEK_SET);C.fseek(fp,-(long)ftell(fp),SEEK_CUR); D.fseek(fp,0,SEEK_END);4、若用fopen()函數(shù)打開一個(gè)新二進(jìn)制文件,該文件可以讀也可以寫,則文件的打開模式為B。A."ab+" B."wb+" C."rb+" D."a+"5、fread(buffer,64,2,fp)的功能是D。A.從fp所指的文件中讀取64并存入buffer中B.從fp所指的文件中讀取64和2并存入buffer中C.從fp所指的文件中讀取64個(gè)字節(jié)的數(shù)據(jù)并存入buffer中D.從fp所指的文件中讀取2個(gè)64字節(jié)的數(shù)據(jù)并存入buffer中6、以下程序的功能是D。提示:PRN是打印設(shè)備。#include<stdio.h>voidmain(){FILE*fp;charchStr[]="HELLO";fp=fopen("PRN","w");fputs(chStr,fp);fclose(fp);}A.在屏幕顯示HELLO B.把HELLO存入PRN文件中C.在打印機(jī)上打印出HELLO D.以上都不對(duì)二、填空題1、使用fopen("abc","r+")打開文件時(shí),若"abc"文件不存在,則返回(NULL)。2、假設(shè)數(shù)組dArray聲明為doubledArray[4]={2.3,45.6,5.7,10.89},則將數(shù)值5.7寫入文件指針fp所指向的文件的語(yǔ)句是(fwrite(&disarray[2],4,1,fp);)。3、fputs("ShenZhen",fp)的功能是(將字符串”ShenZhen”寫入文件指針fp所指向的文件)。其中,fp為一文件指針。4、文件指針fp指向一個(gè)打開的文件,則將文件位置指針移離文件開頭64個(gè)字節(jié)處,應(yīng)使用的函數(shù)調(diào)用語(yǔ)句是(fseek(fp,64,0)),將文件位置指針移離文件當(dāng)前位置32個(gè)字節(jié)處,應(yīng)使用的函數(shù)調(diào)用語(yǔ)句是(fseek(fp,32,1)),將文件位置指針移離距末尾文件128個(gè)字節(jié)處,應(yīng)使用的函數(shù)調(diào)用語(yǔ)句是(fseek(fp,128,2))。三、簡(jiǎn)答題1、從鍵盤輸入一個(gè)字符串,然后保存在文件“test.txt”中。答案:#include"stdio.h"voidmain(){FILE*fp;charchInfo[20];inti;fp=open("myInfo.txt","w");if(fp==-1){printf("cannotopenthisfile!\n");exit());}printf("pleaseinputastring:");scanf("%s",chInfo);write(fp,chInfo,10);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論