來自匿名的C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書實(shí)驗(yàn)_第1頁
來自匿名的C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書實(shí)驗(yàn)_第2頁
來自匿名的C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書實(shí)驗(yàn)_第3頁
來自匿名的C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書實(shí)驗(yàn)_第4頁
來自匿名的C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

20162016年春季實(shí)驗(yàn)12指針應(yīng)用班級(jí)學(xué)號(hào)姓名班級(jí)學(xué)號(hào)姓名學(xué)時(shí)4一、實(shí)驗(yàn)?zāi)康闹攸c(diǎn)掌握指針變量的定義和賦值;掌握指針變量的引用;初步掌握指向數(shù)組的指針的定義和使用;4?掌握數(shù)組與指針的關(guān)系并能夠利用指針解決數(shù)組的相關(guān)問題。二、實(shí)驗(yàn)內(nèi)容閱讀程序#include<stdio.h>intmain(){int*p,a=15,b=5;p=&a;a=*p+b;printf("a=%d,%d\n",a,*p);return0;}分析結(jié)果將指針指向a,將指針和b相加,賦值給a,得a=a+b=20.運(yùn)行結(jié)果!■1r叫不:口卩匕丄l#include<stdio.h>intsub(int*p);intmain(){inti,k;for(i=0;i<5;i++){k=sub(&i);printf("k=%d\n",k);}return0;}intsub(int*p){staticintt=0;t=*p+t;returnt;}word范文

分析結(jié)果編寫一個(gè)指針靜態(tài)局部變量,輸出第一次的分析結(jié)果編寫一個(gè)指針靜態(tài)局部變量,輸出第一次的k=0第二輸出時(shí)指針的值為2,k=l+0;同理k=3,6,10.運(yùn)行結(jié)果Ik=8fc=lBe=3卜=&^=10intmain(){inta[]={1,2,3,4,5,6};int*p,i;p=a;*(p+4)+=3;printf("nl=%d,n2=%d\n",*p,*(p+3));return0;}分析結(jié)果將指針指向a[0],又將指針*(p+4)=*(p+4)+4,那么輸出指針p的值為1,*(p+3)=4.運(yùn)行結(jié)果il#include<stdio.h>intmain(){inta[]={2,4,6,8,10};int*p=a;printf("%d\n",(*p++));printf("%d\n",(*++p));printf("%d\n",(*++p)++);printf("%d\n",*p);return0;}分析結(jié)果第一個(gè)輸出的只是指針p的值;第二個(gè)先執(zhí)行p=a[1],再執(zhí)行++p,得*(p+3);第三P=a[2]++p得p=a[3];第四個(gè)輸出*(p+3)。運(yùn)行結(jié)果5.以下程序的輸出結(jié)果是:#include<stdio.h>#include<string.h>intmain(){charbl[8]="abcdef",b2[8],*pb=bl+4;while(一pb>=b1){strcpy(b2,pb);puts(b2);}printf("%d\n",strlen(b2));return0;分析結(jié)果第一次循環(huán)由于d>a,輸出def,第二循環(huán)c>a輸出b2=cedf;第三循環(huán)輸出,b>a輸出b2=bcdef第四次循環(huán);輸出b2=abcdef,輸出“abccdef”字符串的長度。運(yùn)行結(jié)果de£bedefabodef完成程序要求:依據(jù)題目要求,分析已給出的語句,填寫空白。但是不要增行或刪行,改動(dòng)程序的結(jié)構(gòu)。1.以下程序通過指針實(shí)現(xiàn)求a數(shù)組中各元素的和,請(qǐng)?jiān)凇顚懻_內(nèi)容并運(yùn)行程序。#include<stdio.h>main(){inta[6]={2,4,6,8,10,12};ints,i,*p;s=0;p=a;for(i=0;i<6;i++)s=+*(p+i)//求各元素的和。printf(“s=%d\n”,s);return0;}b=42運(yùn)行結(jié)果:2.下面程序的功能是:從鍵盤上輸入一行字符,存入一個(gè)字符數(shù)組中,然后輸出該字符串。#include<stdio.h>intmain(){charstr[61],*p;inti;for(i=0;i<60;i++){str[i]=getchar();if(str[i]=='\n')break;}str[i]='\0';p=str;while(*p)putchar(*p++);//輸出p指向單元的內(nèi)容,并使得p指針指向下一下單元。return0;}調(diào)試程序要求:分析下列程序是否正確,如有錯(cuò),錯(cuò)在哪兒?應(yīng)如何改正?如正確,運(yùn)行結(jié)果如何?上機(jī)調(diào)試之。行號(hào)#include<stdio.h>intmain(){inta,b;int*p,*q;printf("請(qǐng)輸入兩個(gè)整數(shù):");scanf("%d,%d",p,q);printf("%d,%d\n",a,b);printf("%d,%d\n",*p,*q);return0;}錯(cuò)誤行數(shù):6應(yīng)改正為:第三行下面加入p=&a,q=&b;自?F;乜語言堀碼侏命容2甫用磧輸入兩個(gè)整數(shù):L31,3運(yùn)行結(jié)果:2.以下程序?qū)崿F(xiàn)求數(shù)組中的元素的和。行號(hào)#include<stdio.h>intmain(){inta[10]={l,2,3,4,5,6,7,8,9,0};intsum,*p;sum=0;p=&a;while(p<p+10)s+=*p;printf(“sum=%d\n”,sum);

return0;}錯(cuò)誤行數(shù):4,5,6.應(yīng)改正為:4:p=a;5while(p<(a+10).6sum+=*(p++);■i-:替咱吞耳kun=45運(yùn)行結(jié)果:3.以下程序的功能是:輸入三個(gè)字符串,按由小到大的順序輸出;行號(hào)#include<stdio.h>12343.以下程序的功能是:輸入三個(gè)字符串,按由小到大的順序輸出;行號(hào)#include<stdio.h>1234567891011121314151617int{main()charstr1[20],str2[20],str3[20];voidswap();printf("Pleaseenterthreestring:\n");gets(str1);gets(str2);gets(str3);swap(str1,str2);swap(str1,str3);swap(str2,str3);if(strcmp(strl,str2)>0)if(strcmp(strl,str3)>0)if(strcmp(str2,str3)>0)printf("\n");printf("%s\n%s\n%s\n",strl,str2,str3);return0;}voidswap(char*p1,char*p2){char*p;p=p1;p1=p2;p2=p;}錯(cuò)誤行數(shù):4,15,16.應(yīng)改正為:4:voidswap(char*p1,char*p2);15:charp;16:p=*p1;*p1=*p2;*p2=p;Flea運(yùn)行結(jié)果:編寫程序1-一個(gè)數(shù)組中的15個(gè)值已經(jīng)按升序排列存放,輸入1個(gè)數(shù),編程查找是否有該數(shù),有顯示其所在的位置,沒有,顯示“NoFound”,通過指針實(shí)現(xiàn)。#include<stdio.h>intmain(){inta[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,16};int*p,b,i;

printf("inputanumber:");scanf("%d",&b);p=a;for(i=0;i<15;i++){if(*p++==b){printf("locatedina[15]:%d\n",i+l);break;}}if(i==15)printf("nofound");inputanunbep:1locatedina[151:inputanunbep:1locatedina[151:1inputanunhev:15nofound2.編程實(shí)現(xiàn)教材P291第6題.#include<stdio.h>intmain(){chara[20];char*p=a;inti=0;gets(a);p=a;while(*p++!=,\0,)i++;printf("Thelengthofthestringis%d",i);return0;fhjdoChelengthofthestrin3is53.編程實(shí)現(xiàn)教材P291第10題.#include<stdio.h>intmain(){intsb(int*);inta[5][5],i,j,*p;p=&a[0][0];for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);sb(p);for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%4d",a[i][j]);玉林師范學(xué)院數(shù)學(xué)與信息科學(xué)學(xué)院C玉林師范學(xué)院數(shù)學(xué)與信息科學(xué)學(xué)院C語言上機(jī)實(shí)驗(yàn)20162016年春季printf("\n");}}intsb(int*q){inti,j,*qmax,*qmin,t;qmax=q;qmin=q;for(i=0;i<5;i++)for(j=0;j<5;j++){if(*qmax<*(q+5*i+j))qmax=q+5*i+j;if(*qmin>*(q+5*i+j))qmin=q+5*i+j;}t=*(q+12);*(q+12)=*qmax;*qmax=t;t=*q;*q=*qmin;*qmin=t;qmin=(q+1);for(i=0;i<5;i++)for(j=0;j<5;j++)if((q+5*i+j)!=q&&*qmin>*(q+5*i+j))qmin=q+5*i+j;t=*(q+4);*(q+4)=*qmin;*qmin=t;qmin=(q+1);for(i=0;i<5;i++)for(j=0;j<5;j++)if((q+5*i+j)!=q&&(q+5*i+j)!=(q+4)&&*qmin>*(q+5*i+j))qmin=(q+5*i+j);t=*(q+20);*(q+20)=*qmin;*qmin=t;qmin=(q+1);for(i=0;i<5;i++)for(j=0;j<5;j++)if((q+5*i+j)!=q&&(q+5*i+j)!=(q+4)&&(q+5*i+j)!=(q+20)&&*qmin>*(q+5*i+j))玉林師范學(xué)院數(shù)學(xué)與信息科學(xué)學(xué)院C玉林師范學(xué)院數(shù)學(xué)與信息科學(xué)學(xué)院C語言上機(jī)實(shí)驗(yàn)20

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論