《经典规范C语言程序设计》实验报告(第七章).docVIP

  • 54
  • 0
  • 约3.38千字
  • 约 5页
  • 2016-04-14 发布于重庆
  • 举报

《经典规范C语言程序设计》实验报告(第七章).doc

《经典规范C语言程序设计》实验报告(第七章)

《高级语言程序设计》实验报告 班级: 学号: 姓名: 成绩: 实验日期: 年 月 日 实验题目: 实验七 指针程序设计实验目的: 实验内容:(包括算法说明:用文字或流程图说明;程序清单;运行结果:原始数据、相应的运行结果和必要的说明。) 原始数据、相应的运行结果和必要的说明。 原始数据、相应的运行结果和必要的说明。 分析与思考:(调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会) 1 1.改错题1)下列程序的功能为:统计将已知字符串中数字符的个数.c存盘。 #includestdio.h int digits(char *s) {int c=0; while(s) { if(*s =0*s =9) c++; s++; } return c; } void main() { char s[80]; printf(请输入一行字符\n); gets(s); printf(字符长度是:%d\n,digits(s)); } 2.程序填空 计算数组中的最大元素及其下标值和地址值 #includestdio.h int findmax(int *s,int t ) { int i,k=0; for(i=0; ;i++) if( ) k=i; return ; } void main() { int a[10]={12,23,34,45,56,67,78,89,11,22},k=0,*add; int j; for(j=0;j10;j++) printf(%4d%10xh\n,a[j],a[j]); k=findmax(a,10); add=a[k]; printf(\n%d %d %xh\n,a[k],k+1,add ); } (2)下列程序的功能为:通过返回地址值,来输出a[2]~a[4]的值;请填写适当的符号或语句,使程序实现其功能,程序以文件名sy7_5.c存盘。 #include stdio.h main() { int a[5]={1,3,5,7,9}; /* a是int数值的数组 */ int *num[5],i,*p; /* num是指向int类型的指针型数组,p是指向int型的变量 */ int *f(int *x[],int); /* 返回指针值的f函数的声明 */ for (i=0;i5;i++) num[i]= ; /* num的每个分量指向a的每个相应元素 */ p=f(num,2); /* 返回num[2]分量所指的数组a中的元素的地址 */ for ( ; p=num[4]; p++) /* 在num[2]~num[4]地址范围内扫描 */ printf( %d\t, ); /* 输出该地址范围内的数据 */ } int *f(int *x[],int i) { int k=0; for (; ki; k++) ; /* 如果这个语句省略,需要修改什么? */ return ; /* 返回num[i]的所指的地址 */ } (3)下列程序的功能为:通过指针变量的自增运算,扫描一维数组中全部元素的地址,并引用它们各自的值,同时对数组中的正整数求和。请填写适当的符号或语句,使程序实现其功能,程序以文件名sy7_6.c存盘。 #include stdio.h #define N 10 main() { int i,k,a[N],sum,count,*p; /* 所有变量和数组a的基类型都是int */ count=sum=0; do { printf( input k: \n); scanf(%d,k); /* 总共要求输入k个数 */ } while (k=0||kN); /* 直到型循环确保0≤k≤N */ printf( input a[0]~a[%d]:\n,k-1); for (p=a;pa+k;p++) /* 指针p指向数组a的首地址,p依次求出后继值 */ { scanf(%d, ); /* 此处的p等价于a[i] */ if ( ) /* 引用指针变量p所指变量的值 */

文档评论(0)

1亿VIP精品文档

相关文档