资源描述:
《C语言程序设计_李学刚_源代码06单元5 构造类型程序设计_指针.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C语言程序设计》课程-源代码软件技术专业国家教学资源库单元5构造类型程序设计——指针源代码SC010201052011.源代码编号SC010201052012.源代码来源单元5构造类型程序设计例5-63.问题描述通过指针变量访问指向的变量。4.程序代码#includevoidexp(inta,intb){int*p1=&a,*p2=&b;//指针p1指向变量a,指针p2指向变量bprintf("变量a的地址:%p,变量a的指针:%p,变量a的值:%d",&a,p1,a);printf("变量b的地址:%p,变量b的指针%p,变量b的值是:%d",&b,p2,b
2、);printf("%d,%d",*p1,*p2);}intmain(){inta,b;a=100;b=10;exp(a,b);return0;}第21页共21页《C语言程序设计》课程-源代码软件技术专业国家教学资源库SC010201052021.源代码编号SC010201052022.源代码来源单元5构造类型程序设计例5-73.问题描述输入两个整数,按大小顺序输出。要求用指针作函数参数。4.程序代码#includevoidswap(int*p1,int*p2){inttemp;temp=*p1;*p1=*p2;*p2=temp;}intmain(){inta,b;
3、printf("请输入两个整数(用逗号分隔):");scanf("%d,%d",&a,&b);if(a#defineN10voidinsert(int*p,intn,intx){//在
4、有序的数组中插入一个数据,插入后的数组仍然有序inti,j;for(i=0;i=i;j--)/*将下标为i到n-1的所有元素后移一位*/p[j+1]=p[j];p[i]=x;/*将数据x插入到数组中*/}voidoutput(inta[],intn){//输出数组的全部元素inti;for(i=0;i5、数据:");第21页共21页《C语言程序设计》课程-源代码软件技术专业国家教学资源库scanf("%d",&x);printf("原数组为:");output(a,N-1);/*输出数据插入前的全部数组元素*/insert(a,N-1,x);/*插入数据*/printf("插入%d后的数组为:",x);output(a,N);/*输出数据插入后的全部数组元素*/return0;}第21页共21页《C语言程序设计》课程-源代码软件技术专业国家教学资源库SC010201052041.源代码编号SC010201052042.源代码来源单元5构造类型程序设计例5-93.问题描述用字符指针
6、实现求字符串长度。4.程序代码#include#defineN50intlen(char*s);//函数声明intmain(){charstr[N];printf("输入字符串:");gets(str);printf("字符串的长度为:%d",len(str));return0;}intlen(char*s){intn=0;while(*(s+n)!=' ')n++;returnn;}第21页共21页《C语言程序设计》课程-源代码软件技术专业国家教学资源库SC010201052051.源代码编号SC010201052052.源代码来源单元5构造类型程序设计例5
7、-103.问题描述分别统计字符串中大写字母、小写字母、空格及数字字符的个数。4.程序代码#include#defineSIZE50#defineN4voidcount(char*s,inta[]){while(*s)//循环判断每个字符,直到遇到' '结束{if('A'<=*s&&*s<='Z')a[0]++;/*统计大写字母的个数*/elseif('a'<=*s&&*s<='z')a[1]++;/*统计小写字母