欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      C語(yǔ)言結(jié)構(gòu)體與指針實(shí)驗(yàn)(精選5篇)

      時(shí)間:2019-05-12 04:10:10下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《C語(yǔ)言結(jié)構(gòu)體與指針實(shí)驗(yàn)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《C語(yǔ)言結(jié)構(gòu)體與指針實(shí)驗(yàn)》。

      第一篇:C語(yǔ)言結(jié)構(gòu)體與指針實(shí)驗(yàn)

      實(shí)驗(yàn)一 C語(yǔ)言結(jié)構(gòu)體與指針

      一、實(shí)驗(yàn)內(nèi)容

      1)學(xué)生信息的顯示,具體要求如下: ??定義一個(gè)結(jié)構(gòu)體描述學(xué)生信息(學(xué)號(hào),姓名,性別,年齡,住址); ??設(shè)計(jì)一個(gè)函數(shù),用于顯示單個(gè)學(xué)生信息,函數(shù)的參數(shù)為前面定義的結(jié)構(gòu)體類(lèi)型; ??設(shè)計(jì)一個(gè)主函數(shù),在主函數(shù)中輸入學(xué)生的信息,并調(diào)用前面定義的函數(shù)進(jìn)行顯示(學(xué)生人數(shù)不少于5人)。

      2)輸入若干個(gè)整數(shù)作為數(shù)組元素值,然后按輸入時(shí)順序的就地逆置排序,最后打印出逆置后的元素值。要求用指針和動(dòng)態(tài)內(nèi)存分配方法實(shí)現(xiàn)。例如 輸入:10 2 30 4 5,逆置后顯示為:5 4 30 2 10。

      二、代碼

      1)#include

      struct Student { int studentID;char name[20];char sex[2];//m=male f=female int age;char address[50];};

      void showTheDetail(struct Student s){ printf(“%dn”,s.studentID);printf(“%sn”,s.name);printf(“%sn”,s.sex);printf(“%dn”,s.age);printf(“%snn”,s.address);}

      void main(){ int i;struct Student student[5];for(i=0;i<5;i++){

      printf(“student%dn”,i);

      scanf(“%d”,&student[i].studentID);

      }

      scanf(“%s”,&student[i].name);scanf(“%s”,&student[i].sex);scanf(“%d”,&student[i].age);scanf(“%s”,&student[i].address);} for(i=0;i<5;i++){ showTheDetail(student[i]);} 2)#include void change(int x[],int n){

      int temp,i,j,m=(n-1)/2;

      for(i=0;i<=m;i++)

      {

      j=n-1-i;

      temp=x[i];x[i]=x[j];x[j]=temp;

      }

      return;}

      int main(){

      int n,i;printf(“please insert the amount of the numbers:n”);scanf(“%d”,&n);int array[n];printf(“please insert the numbers:n”);for(i=0;i

      scanf(“%d”,&array[i]);} change(array,n);for(i=0;i

      printf(“%d”,array[i]);} }

      三、心得體會(huì)

      復(fù)習(xí)了c語(yǔ)言中的數(shù)組,結(jié)構(gòu)體的知識(shí),編程中沒(méi)有出現(xiàn)問(wèn)題。

      第二篇:C語(yǔ)言結(jié)構(gòu)體指針變量作函數(shù)參數(shù)

      C語(yǔ)言結(jié)構(gòu)體指針變量作函數(shù)參數(shù)

      在ANSI C標(biāo)準(zhǔn)中允許用結(jié)構(gòu)變量作函數(shù)參數(shù)進(jìn)行整體傳送。但是這種傳送要將全部成員逐個(gè)傳送,特別是成員為數(shù)組時(shí)將會(huì)使傳送的時(shí)間和空間開(kāi)銷(xiāo)很大,嚴(yán)重地降低了程序的效率。因此最好的辦法就是使用指針,即用指針變量作函數(shù)參數(shù)進(jìn)行傳送。這時(shí)現(xiàn)金網(wǎng)96y.org由實(shí)參傳向形參的只是地址,從而減少了時(shí)間和空間的開(kāi)銷(xiāo)。

      計(jì)算一組學(xué)生的平均成績(jī)和不及格人數(shù)。用結(jié)構(gòu)指針變量作函數(shù)參數(shù)編程。

      struct stu{

      int num;

      char *name;

      char sex;

      float score;

      }boy[5]={

      {101,Li ping,M,45},{102,Zhang ping,M,62.5},{103,He fang,F,92.5},{104,Cheng ling,F,87},{105,Wang ming,M,58}

      };

      main(){

      struct stu *ps;

      void ave(struct stu *ps);

      ps=boy;

      ave(ps);

      }

      void ave(struct stu *ps){

      int c=0,i;

      float ave,s=0;

      for(i=0;i5;i++,ps++){

      s+=ps-score;

      if(ps-score60)c+=1;

      }

      printf(s=%fn,s);

      ave=s/5;

      printf(average=%fncount=%dn,ave,c);

      }

      本程序中定義了函數(shù)ave,其形參為結(jié)構(gòu)指針變量ps。boy被定義為外部結(jié)構(gòu)數(shù)組,因此在整個(gè)源程序中有效。在main函數(shù)中定義說(shuō)明了結(jié)構(gòu)指針變量ps,并把boy的首地址賦予它,使ps指向boy數(shù)組。然后博彩娛樂(lè)棋牌q07i5.org以ps作實(shí)參調(diào)用函數(shù)ave。在函數(shù)ave中完成計(jì)算平均成績(jī)和統(tǒng)計(jì)不及格人數(shù)的工作并輸出結(jié)果。

      由于本程序全部采用指針變量作運(yùn)算和處理,故速度更快,程序效率更高。

      第三篇:C語(yǔ)言指向結(jié)構(gòu)體數(shù)組的指針

      C語(yǔ)言指向結(jié)構(gòu)體數(shù)組的指針

      指針變量可以指向一個(gè)結(jié)構(gòu)數(shù)組,這時(shí)結(jié)構(gòu)指針變量的值是整個(gè)結(jié)構(gòu)數(shù)組的首地址。結(jié)構(gòu)指針變量也可指向結(jié)構(gòu)數(shù)組的一個(gè)元素,這時(shí)結(jié)構(gòu)指針變量的值是該結(jié)構(gòu)數(shù)組元素的首地址。

      設(shè)ps為指向結(jié)構(gòu)數(shù)組的指針變量,則ps也指向該結(jié)構(gòu)數(shù)組的0號(hào)元素,ps+1指向1號(hào)元素,ps+i則指向i號(hào)元素。這與普通數(shù)組的情況現(xiàn)金網(wǎng)96y.org是一致的。

      用指針變量輸出結(jié)構(gòu)數(shù)組。

      struct stu{

      int num;

      char *name;

      char sex;

      float score;

      }boy[5]={

      {101,Zhou ping,M,45},{102,Zhang ping,M,62.5},{103,Liou fang,F,92.5},{104,Cheng ling,F,87},{105,Wang ming,M,58}

      };

      main(){

      struct stu *ps;

      printf(NotNametttSextScoretn);

      for(ps=boy;psboy+5;ps++)

      printf(%dt%stt%ct%ftn,ps-num,ps-name,ps-sex,ps-score);

      }

      在程序中,定義了stu結(jié)構(gòu)類(lèi)型的外部數(shù)組boy并作了初始化賦值。在main函數(shù)內(nèi)定義ps為指向stu類(lèi)型的指針。在循環(huán)語(yǔ)句for的表達(dá)式1中,ps被賦予boy的首地址,然后循環(huán)5次,輸出boy數(shù)組中各成員值。

      應(yīng)該注意的是,一個(gè)結(jié)構(gòu)指針變量雖然可以用來(lái)訪問(wèn)結(jié)構(gòu)變量或結(jié)構(gòu)數(shù)組元素的成員,但是,不能博彩公司排名q07i5.org使它指向一個(gè)成員。也就是說(shuō)不允許取一個(gè)成員的地址來(lái)賦予它。因此,下面的賦值是錯(cuò)誤的。

      ps=boy[1].sex;

      而只能是:

      ps=boy;(賦予數(shù)組首地址)

      或者是:

      ps=boy[0];(賦予0號(hào)元素首地址)

      第四篇:C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)十指針

      C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)十——指針

      【實(shí)驗(yàn)1】

      實(shí)驗(yàn)題目:

      1、下列代碼片段哪里有錯(cuò)誤?

      char var1,ptr1;

      var1 = ?x?;

      ptr1 = &var1;

      2、設(shè)有如下定義:

      Double var1, *ptr1, *ptr2;

      Float* ptr3;

      Int var2, *var4;

      那么,var1, *ptr1, ptr2,*ptr2,ptr3,* ptr3,var2, var4,*var4個(gè)屬于哪種數(shù)據(jù)類(lèi)型?

      3、下列代碼片段在哪里有錯(cuò)誤?

      Char c = ? A ?;

      Char * p;

      p = c;或*p=?A?;

      4、下列代碼片段的輸出結(jié)果是什么?

      charvar1 = ? S ?;

      charvar2 = ? X ?;

      char*ptr1, *ptr2;

      ptr1 = &var1;

      ptr2 = &var2;

      *ptr2 = *ptr1;

      printf(“%ct%cn”, *ptr1, var2);

      【實(shí)驗(yàn)2】

      實(shí)驗(yàn)題目:輸入3個(gè)整數(shù),按由小到大的順序輸出。

      【實(shí)驗(yàn)3】

      實(shí)驗(yàn)題目:輸入10個(gè)整數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換。

      實(shí)驗(yàn)要求:寫(xiě)3個(gè)函數(shù):(1)輸入10個(gè)數(shù);(2)進(jìn)行處理;(3)輸出10個(gè)數(shù)。

      【實(shí)驗(yàn)4】輸入年和天數(shù),輸出對(duì)應(yīng)的年、月、日。

      例如:輸入2000和61,輸出2000-3-1。

      要求:都用指針實(shí)現(xiàn)。

      第五篇:C語(yǔ)言實(shí)驗(yàn)程序、總結(jié) 實(shí)驗(yàn)七 指針

      一 實(shí)驗(yàn)?zāi)康?/p>

      實(shí)驗(yàn)七 指針 了解指針的概念,學(xué)會(huì)定義和使用指針變量。2 掌握指針、變量和數(shù)組的關(guān)系及使用方法。3 學(xué)會(huì)使用指向函數(shù)的指針變量。

      二 實(shí)驗(yàn)內(nèi)容 編寫(xiě)函數(shù)fun(float *sn,int n),其功能是:根據(jù)以下公式計(jì)算s,計(jì)算結(jié)果通過(guò)形參sn傳回;n通過(guò)實(shí)參傳入,n的值大于等于0。上機(jī)運(yùn)行并記錄輸入輸出(主函數(shù)已給出)。

      s?1?1111 ????3572n?1fun(float *sn,int n){ 定義變量:和s,通項(xiàng)w,符號(hào)f,循環(huán)控制變量i; /* 其中s、f要初始化 */ 循環(huán)求累加和s { 改變符號(hào);/* 由負(fù)變正或由正變負(fù) */ 求通項(xiàng)w;累加:s+=w;} 形參指針變量sn賦值;/* 通過(guò)形參sn傳回累加和s */ } main(){ float s;int n;printf(“n=”);scanf(“%d”,&n);fun(&s,n);printf(“s=%fn”,s);}

      完整程序如下:

      #include void fun(float *sn,int n){ float s=0.0,w,f=-1.0;int i=0;for(i=0;i<=n;i++);{ f=(-1)*f;w=f/(2*i+1);s+=w;} *sn =s;} main(){ float s;int n;printf(“n=”);scanf(“%d”,&n);fun(&s,n);printf(“s=%fn”,s);}

      輸出結(jié)果如下圖: 想使指針變量pt1指向a和b中的大者,pt2指向小者,以下程序能否實(shí)現(xiàn)此目的? swap(int *p1,int *p2){ int *p;p=p1;p1=p2;p2=p } main(){ int a,b;int *pt1,*pt2;scanf(“%d,%d”,&a,&b);pt1=&a;pt2=&b;if(a

      上機(jī)調(diào)試此程序。如果不能實(shí)現(xiàn)題目要求,指出原因并修改之。

      子函數(shù)swap改成下面程序方可實(shí)現(xiàn)目的,主函數(shù)不變: swap(int *p1,int *p2){ int p;p=*p1;*p1=*p2;*p2=p;} 下面的程序用來(lái)實(shí)現(xiàn)將一個(gè)3×3的矩陣轉(zhuǎn)置。#include void tranf(int(*p)[3]){ int t,i,j;for(i=0;i<3;i++)for(j=0;j

      程序修改如下: #include void tranf(int(*p)[N]){ int t,i,j;for(i=0;i<3;i++)for(j=0;j char *strc(char *s1,char *s2){ char *p=s1;while(*s2!='