《指针的编程代码》由会员分享,可在线阅读,更多相关《指针的编程代码(7页珍藏版)》请在金锄头文库上搜索。
1、实验 指针【实验目的 】 1 掌握指针的使用方法。 2 学习指针在数组中的使用方法。 3 掌握指针数组的使用方法。 4 学习使用指针处理字符串的方法。 5 掌握指针与函数的关系。 6 学习指针作为函数参数的用法。 7 掌握返回指针类型的函数用法。 8 学习函数指针的使用方法。 【实验内容】 编程输出二维数组a34=1 ,2,3,4,11,22,33,44,6,7,8,9 各数,并输出该数组的每行的首地址及每个元数的地址。#include void main() int a34=1,2,3,4,11,22,33,44,6,7,8,9; int *p34,*q3; int i,j; for(i=0
2、;i void main() int i; char *subject=“Visual Basic“,“Visual C+“,“Delphi“, “Power Build“,“Visual Foxpro“; char *p=subject; printf(“ 计 算 机 课 程 名 如 下 : n“); for(i=0;iint sum1(int m) int s1=0,i; for(i=2;i #include float c(float x,float y) float z; z=sqrt(pow(x,2)+pow(y,2); return z; float q(float x,float
3、 y) float z; z=atan(y/x); return z; void main() float x,y; float a,b; float (*p)(float,float); printf(“ 输入要转换的 XY 坐标 :“); scanf(“%f%f“, p=c; a=(*p)(x,y); p=q; b=(*p)(x,y); printf(“c 为%fnq 为%fn“,a,b); 5自定义函数实现 字符串的拷贝 ,,并通 过主函数调用验证。 #include “stdio.h“ void copy(char *from,char *to) for(;*from!=0;from+
4、,to+) *to=*from; *to=0; void main() char *s1=“羽毛球 “; char s220=“足球“; char *p; p=s2; printf(“ 原来两个字符串为 n“); printf(“s1=%sn“,s1); printf(“s2=%sn“,s2); copy(s1,p); printf(“ 拷贝后为 n“); printf(“s1=%sn“,s1); printf(“s2=%sn“,s2); 6 写一函数,实现选择排序(函数参数使用指针形式)#include “stdio.h“ #define SIZE 5 void sort(int *a) i
5、nt i,j,temp; for(i=1;i*(a+j+1) temp=*(a+j); *(a+j)=*(a+j+1); *(a+j+1)=temp; void main() int numSIZE=8,1,6,3,5,*a=num,i; printf(“未排序数字 :n“); for(i=0;iSIZE;i+) printf(“%4d“,*(a+i); sort(a); printf(“n排序后数字 :n“); for(i=0;iSIZE;i+) printf(“%4d“,*(a+i); printf(“n“); 7键盘输入一个整数,当该 数为偶数时, 用函数的指针调用函数sum1输出其不大
6、于该数的偶数和; 当该数为奇数时, 用函数的指针调用函数sum2输出其不大于该数的奇数 和; (同三) 8编写一个函数 f ,将传入此函数的直角坐标值转换为极坐标值,并返回主 调函数中。求极坐标的公式是:c=22yx,q=arctan(y/x) 极坐标用指针参数带回。(提示:程序中可以使用C库函数 sprt 、pow及 atan ,它们的头文件为stdlib.h)(同四)9使用指针编写函数strcat()函数,即实现两个字符串的首尾连接(将字 符串 str2 接到 str1 的后面, str1 最后面的 0 被取消) ,函数返回连 接后的字符串( char * ) 。#include “stdio.h“ void strcat(char* arr1,char *arr2) int i; for(i=0;* arr1!=0;i+) arr1+; for(;* arr2!=0;arr1+,arr2+) *arr1=*arr2; *arr1=0; void main() char a20=“我去图书馆 .“; char b=“看书.“; char *p1=a,*p2=b; printf(“string a : %snstring b:%sn“,p1,p2); strcat(p1,p2); printf(“nNOW,nstring a:%snstring b:%sn“,a,b);