久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

C語言結構體與指針實驗(精選5篇)

時間:2019-05-12 04:10:10下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《C語言結構體與指針實驗》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《C語言結構體與指針實驗》。

第一篇:C語言結構體與指針實驗

實驗一 C語言結構體與指針

一、實驗內(nèi)容

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

2)輸入若干個整數(shù)作為數(shù)組元素值,然后按輸入時順序的就地逆置排序,最后打印出逆置后的元素值。要求用指針和動態(tài)內(nèi)存分配方法實現(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]);} }

三、心得體會

復習了c語言中的數(shù)組,結構體的知識,編程中沒有出現(xiàn)問題。

第二篇:C語言結構體指針變量作函數(shù)參數(shù)

C語言結構體指針變量作函數(shù)參數(shù)

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

計算一組學生的平均成績和不及格人數(shù)。用結構指針變量作函數(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,其形參為結構指針變量ps。boy被定義為外部結構數(shù)組,因此在整個源程序中有效。在main函數(shù)中定義說明了結構指針變量ps,并把boy的首地址賦予它,使ps指向boy數(shù)組。然后博彩娛樂棋牌q07i5.org以ps作實參調(diào)用函數(shù)ave。在函數(shù)ave中完成計算平均成績和統(tǒng)計不及格人數(shù)的工作并輸出結果。

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

第三篇:C語言指向結構體數(shù)組的指針

C語言指向結構體數(shù)組的指針

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

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

用指針變量輸出結構數(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結構類型的外部數(shù)組boy并作了初始化賦值。在main函數(shù)內(nèi)定義ps為指向stu類型的指針。在循環(huán)語句for的表達式1中,ps被賦予boy的首地址,然后循環(huán)5次,輸出boy數(shù)組中各成員值。

應該注意的是,一個結構指針變量雖然可以用來訪問結構變量或結構數(shù)組元素的成員,但是,不能博彩公司排名q07i5.org使它指向一個成員。也就是說不允許取一個成員的地址來賦予它。因此,下面的賦值是錯誤的。

ps=boy[1].sex;

而只能是:

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

或者是:

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

第四篇:C語言程序設計實驗十指針

C語言程序設計實驗十——指針

【實驗1】

實驗題目:

1、下列代碼片段哪里有錯誤?

char var1,ptr1;

var1 = ?x?;

ptr1 = &var1;

2、設有如下定義:

Double var1, *ptr1, *ptr2;

Float* ptr3;

Int var2, *var4;

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

3、下列代碼片段在哪里有錯誤?

Char c = ? A ?;

Char * p;

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

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

charvar1 = ? S ?;

charvar2 = ? X ?;

char*ptr1, *ptr2;

ptr1 = &var1;

ptr2 = &var2;

*ptr2 = *ptr1;

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

【實驗2】

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

【實驗3】

實驗題目:輸入10個整數(shù),將其中最小的數(shù)與第一個數(shù)對換,把最大的數(shù)與最后一個數(shù)對換。

實驗要求:寫3個函數(shù):(1)輸入10個數(shù);(2)進行處理;(3)輸出10個數(shù)。

【實驗4】輸入年和天數(shù),輸出對應的年、月、日。

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

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

第五篇:C語言實驗程序、總結 實驗七 指針

一 實驗目的

實驗七 指針 了解指針的概念,學會定義和使用指針變量。2 掌握指針、變量和數(shù)組的關系及使用方法。3 學會使用指向函數(shù)的指針變量。

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

s?1?1111 ????3572n?1fun(float *sn,int n){ 定義變量:和s,通項w,符號f,循環(huán)控制變量i; /* 其中s、f要初始化 */ 循環(huán)求累加和s { 改變符號;/* 由負變正或由正變負 */ 求通項w;累加:s+=w;} 形參指針變量sn賦值;/* 通過形參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);}

輸出結果如下圖: 想使指針變量pt1指向a和b中的大者,pt2指向小者,以下程序能否實現(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

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

子函數(shù)swap改成下面程序方可實現(xiàn)目的,主函數(shù)不變: swap(int *p1,int *p2){ int p;p=*p1;*p1=*p2;*p2=p;} 下面的程序用來實現(xiàn)將一個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!='

主站蜘蛛池模板: 无码一区二区三区亚洲人妻| 国产偷v国产偷v亚洲高清| 久久久久亚洲av成人无码网站| 老太脱裤子让老头玩xxxxx| 日韩一区二区三区无码影院| 亚洲成aⅴ人片久青草影院| 无码一区二区三区久久精品| 亚洲毛片无码不卡av在线播放| 强奷漂亮少妇高潮在线观看| 亚洲乱码日产精品bd在线下载| 欧美日韩一卡2卡三卡4卡 乱码欧美孕交| 国产精品久久久久久亚洲影视| 狠狠色噜噜狠狠狠狠av不卡| 日韩精品亚洲专在线电影| 亚洲精品无码人妻无码| 亚洲av无码专区在线| 亚洲国产成人精品无码区宅男| 亚洲国产欧美日韩精品一区二区三区| 国产精品亚洲аv无码播放| 日韩无码在钱中文字幕在钱视频| 久久久无码视频| 国产自偷自偷免费一区| 国产乱子伦视频大全亚瑟影院| 久久99久久99小草精品免视看| 丰满人妻被两个按摩师| 猫咪www免费人成网站无码| 久久国产av影片| 精品国产三级a∨在线无码| 精品人妻无码视频中文字幕一区二区三区| 娇妻玩4p被三个男人伺候电影| 无码无需播放器av网站| 亚洲一区二区三区在线观看网站| 国产精品久久久久久免费软件| 成人午夜福利视频| 午夜人性色福利无码视频在线观看| 天码人妻一区二区三区| 国产精品国产亚洲区艳妇糸列短篇| 亚洲另类无码专区首页| 亚洲 欧美日韩 综合 国产| 人妻熟女一区二区三区app下载| 国产成人一区二区无码不卡在线|