日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言单元二实验报告,C语言第七次实验报告

發布時間:2023/12/2 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言单元二实验报告,C语言第七次实验报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C程序設計實驗報告

姓名:林世龍? 實驗地點:學校 實驗時間:2020.06.03

實驗項目

8.31.指針基礎及指針運算

8.3.2.數據交換

8.3.3.字符串反轉及字符串連接

8.3.4.數組元素奇偶排列

一、實驗目的與要求

1、加強對學生對指針數據類型的理解,熟悉指針的定義、通過指針間接訪問變量的方法。

2、加強對指針類型作為函數參數傳遞的理解。

3、加強對字符指針及將指針作為函數的返回類型的理解,并通過指針對字符串進行操作。

4、加強對使用指針對數組進行操作的理解,通常數組的名稱即整個數組的起始存儲地址。

二、實驗內容

8.3.1.指針基礎及指針運算

1.問題的簡單描述:定義整型指針變量p,使之指向整型變量a;定義浮點型指針q,使之指向浮點變量b,同時定義另外一個整型變量c并賦初值3。使用指針p,q輸入a,b表達值;通過指針p,q間接輸出a,b的值;輸出p,q的值及c的地址。

2、實驗代碼:

#include

int main()

{

int *p,a,c=3;

float *q,b;

p=&a;

q=&b;

printf("Please Input the Value of a,b: ");

scanf("%d%f",p,q);

printf("Result: \n");

printf("%d,%f\n",a,b);

printf("%d,%f\n",*p,*q);

printf("The Address of a,b:%p,%p\n",&a,&b);

printf("The Address of a,b:%p,%p\n",p,q);

p=&c;

printf("c=%d\n ",*p);

printf("The Address of c:%x,%x\n",p,&c);

return 0;

}

3、問題分析:無

8.3.2.數據交換

1問題的簡單描述:從主函數中調用swap1和swap2函數,并打印輸出交換后a、b的結果。

2實驗代碼:

#include

void swap1(int x,int y);

void swap2(int *x,int *y);

int main()

{

int a,b;

printf("Please Input a=:");

scanf("%d",&a);

printf("\nb=:");

scanf("%d",&b);

swap1(a,b);

printf("\nAfter Call swap1:a=%d,b=%d\n",a,b);

swap2(&a,&b); //指針作為形參,實參須為地址

printf("\nAfter Call swap2:a=%d,b=%d\n",a,b);

return 0;

}

void swap1(int x,int y)

{

int temp;

temp=x;

x=y;

y=temp;

}

void swap2(int*x,int *y)

{

int temp;

temp=*x;

*x=*y;

*y=temp;

}

3問題分析:當指針作為形式參數時,實際參數為地址

8.3.3.字符串反轉及字符串連接

1問題的簡單描述:定義兩個字符指針,通過指針移動方式將字符串反轉以及將兩個字符串連接起來。

2實驗代碼:

#include

char *reverse(char *str);

char *link(char *str1,char *str2);

int main()

{

char str[30],str1[30],*str2;

printf("Input Reversing Character String:");

gets(str);

str2=reverse(str);

printf("\nOutput Reversed Characyer String:");

puts(str2);

printf("Input string1:");

gets(str);

printf("\nInput string2:");

gets(str1);

str2=link(str,str1);

puts(str2);

return 0;

}

char *reverse(char *str)

{

char *p,*q,temp;

p=str,q=str;

while(*p!='\0')

p++;

p--;

while(q

{

temp=*q;

*q=*p;

*p=temp;

p--;

q++;

}

return str;

}

char *link(char *str1,char *str2)

{

char *p=str1,*q=str2;

while(*p!='\0')

p++;

while(*q!='\0')

{

*p=*q;

p++;

q++;

}

*p='\0';

return str1;

}

3問題分析:剛開始對指針移動內容不太明白,后來經過老師講解之后明白了

8.3.4.數組元素奇偶排列

1.問題的簡單描述:定義一個函數,實現數組元素奇數在左、偶數在右。

2實驗代碼:

#include

#define N 10

void arrsort(int a[],int n);

int main()

{

int a[N],i;

for(i=0;i

scanf("%d",&a[i]);

arrsort(a,N);

for(i=0;i

printf("%d ",a[i]);

}

void arrsort(int a[],int n)

{

int *p,*q,temp;

p=a;

q=a+n-1;

while(p

{

while(*p%2!=0)

p++;

while(*q%2==0)

q--;

if(p>q)

break;

temp=*p;

*p=*q;

*q=temp;

p++;

q--;

}

}

3問題分析:無

三、實驗小結

指針這個單元學習的有點困難,沒有書的模板根本做不出來,還有很多知識點需要自己多花時間消化學習。

來源:https://www.cnblogs.com/zql1228687135/p/13063822.html

總結

以上是生活随笔為你收集整理的c语言单元二实验报告,C语言第七次实验报告的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。