實(shí)驗(yàn)十指針(一)_第1頁
實(shí)驗(yàn)十指針(一)_第2頁
實(shí)驗(yàn)十指針(一)_第3頁
實(shí)驗(yàn)十指針(一)_第4頁
實(shí)驗(yàn)十指針(一)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)十 指 針(一 )、實(shí)驗(yàn)?zāi)康?. 掌握指針變量的定義與引用。2. 掌握指針與變量、指針與數(shù)組的關(guān)系。3. 掌握用數(shù)組指針作為函數(shù)參數(shù)的方法。4. 掌握字符指針和字符串的使用。、實(shí)驗(yàn)內(nèi)容1閱讀、調(diào)試、運(yùn)行程序,比較閱讀的結(jié)果和運(yùn)行的結(jié)果(1)#includeint b=2;int func(int *a) b+=*a; return(b); void main()int a=2,res=2;res+=func(&b);printf( ”%dn”,res);(2)#include void main() int a=28,b;char s10,*p;p=s;do b=a%16; if(b0);

2、*p=0; puts(s);(3)#include void main() int x5=2,4,6,8,10,*p; p=x;printf(%d,*(p+);(4)#includeint sub(int *s);void main() int i,k;for(i=0;i4;i+) k=sub(&i);printf(%2d,k);printf(n);int sub(int *s)static int t=0;t=*s+t;return t;(5)#includevoid main() int va10,vb10,*pa,*pb,i; pa=va;pb=vb; for(i=0;i3;i+,pa+

3、,pb+) *pa=i;*pb=2*i; printf(%dt%dn,*pa,*pb);pa=&va0;pb=&vb0;for(i=0;i3;i+) *pa=*pa+i;*pb=*pb*i;printf(%dt%dn,*pa+,*pb+);(6)#includevoid fun(int *a,int *b) int *k;k=a; a=b; b=k;void main() int a=3,b=6,*x=&a,*y=&b;fun(x,y);printf( ”%d %d”,a,b);(7)#includevoid main()int a=2,4,6,8,10;int y=1,x,*p;p=&a1;

4、 for(x=0;x3;x+) y+=*(p+x);printf(%dn,y);2. 完善程序,并調(diào)試運(yùn)行(1)以下程序是先輸入數(shù)據(jù)給數(shù)組 a 賦值,然后按照從 a0到 a4的順序輸出各元素的值, 最后再按照從 a 4到 a 0的順序輸出各元素的值。請(qǐng)?zhí)羁铡?includevoid main()int a5;int i,*p;p=a; for(i=0;i5;i+) scanf( d,p+);(1) for(i=0;i=0;i-,p-) printf(%d,*p);printf(n);(2) 下面程序的功能是將字符串 b 復(fù)制到字符串 a 中, 請(qǐng)?zhí)羁铡?includevoid s(char *

5、s,char *t) int i=0;while( (1) )(2) ;void main() char a20,b10;scanf(%s,b);s( (3) );puts(a);(3)以下程序調(diào)用 findmax 函數(shù)求數(shù)組中最大的元素在數(shù)組中的下標(biāo),請(qǐng)?zhí)羁铡?#includevoid findmax(int *s, int t, int *k)int p;for(p=0,*k=p;ps*k)(1) ;void main()int a10,i,k;for(i=0;i10;i+) scanf(%d,&ai); findmax(a,10,&k);printf(%d,%dn,k,ak);(4) 下

6、面程序通過函數(shù) average 計(jì)算數(shù)組中各元素的平均值 , 請(qǐng)?zhí)羁?#include float average (int *pa ,int n)int i;float avg=0.0;for (i=0;in;i+)avg=avg+ (1) ;avg= (2) ;return avg;void main()int a5=2,4,6,8,10;float meam;meam=average(a,5); printf(mean=%fn,meam);(5)下面程序的功能是:讀入 10 個(gè)整數(shù),輸出其中的素?cái)?shù)及這些素?cái)?shù)之和。 #include int isprime(int x);void main

7、()int i,a10,*p=a,sum=0; printf(Enter 10 num :n);for (i=0;i10;i+)scanf(%d,&ai);for(i=0;i10;i+)if (isprime(*(p+ (1) )=1) printf(%d,*(a+i);sum+=*(a+i); printf(n The sum =%dn,sum);int isprime(int x)int i;for(i=2;i=x/2;i+)if(x%i=0)return(0);(2) ;(6)以下程序的功能是 : 將無符號(hào)八進(jìn)制數(shù)字構(gòu)成的字符串轉(zhuǎn)換為十進(jìn)制整數(shù)。例如 輸入的字符串為 :556, 則輸出十

8、進(jìn)制數(shù) 366 。請(qǐng)?zhí)羁铡?include stdio.hvoid main() char *p,s6;int n;p=s;gets(p);n=*p-0;while(1)_!=0) n=n*8+*p-0;printf(%dn,n);3. 修正程序,并調(diào)試運(yùn)行(1)下面程序的功能是: 在一個(gè)一維整型數(shù)組中找出其中最大的數(shù)及其下標(biāo)。 程序中共有 4 條錯(cuò) 誤語句,請(qǐng)改正錯(cuò)誤。注意:不要增行或刪行,也不要更改程序的結(jié)構(gòu)。 #include#define N 10*found*int fun(int *a,int *b,int *n); int *c,max=*a; for(c=a+1;cmax) m

9、ax=*c;*found*b=c-a; return max;void main()int aN,i,max,p=0;printf(please enter 10 integers:n); for(i=0;iN;i+)*found*scanf(%d,ai);*found*max=fun(a,p,N);printf(max=%d,position=%d,max,p);(2)下面程序的功能是: 將一個(gè)字符串中第 m個(gè)字符開始的全部字符復(fù)制成為另一個(gè)字符串。 序中共有 4 條錯(cuò)誤語句,請(qǐng)改正錯(cuò)誤。注意:不要增行或刪行,也不要更改程序的結(jié)構(gòu)。 #includevoid strcopy(char p2=

10、0; void main() int i,m; char *p1,*p2,str180,str280; p1=str1;p2=str2; gets(p1); scanf(%d,&m);str1,char *str2,int m)*found* char p1,p2; int i,j;*found*p1= str1+m; p2=str2;*found*while(p1);*found*strcopy(str10,str20,m);puts(p1);puts(p2);(3)下面程序的功能是:為一維數(shù)組輸入10 個(gè)整數(shù);將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,將最大的數(shù)與最后一個(gè)數(shù)對(duì)換;輸出數(shù)組元素。程序中共

11、有 4 條錯(cuò)誤語句,請(qǐng)改正錯(cuò)誤。注意:不要增行或刪行,也不要更改程序的結(jié)構(gòu)。#includevoid main()int a10;void input();void output(); void max_min(); input(a,10); max_min(a,10); output(a,10); void input(int max=*p;else if(*p*min) min=p; t=*arr;*arr=*min;*min=t;arr,int n) int *p,i;p=arr;printf(please enter 10 integers:n); for(i=0;in;i+)*found*scanf(%d,&p+);void max_min(int *arr,int n) int *min,*max,*p,t; min=max=arr;for(p=arr+1;p*max)*found*found

溫馨提示

  • 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)論