C语言程序设计实验十——指针2
【实验1】
实验题目:
1、设计一个C程序,用以测试下列各表达式的运算。
(1)    y=*px++
(2)    y=*++py
(3)    y=(*py)++
(4)    y=--*ppx++
2、在以下程序中1~9注释部分添加该行的功能,运行后分析其输出结果。
#include <stdio.h>
#define N 5
c语言指针实验总结
void funout(int *iA,float *fB,double *dC);
main()
{
    int iA[N]={10,20,30,40,50};
    float fB[N]={11.5,12.5,13.5,14.5,15.5};
    double dC[N]={92.2,93.3,94.4,95.5,96.6};
    funout(iA,fB,dC);
}
void funout(int *iA,float fB[N],double dC[])
{
    int i=0,*iX=iA;
    float *fY=fB;
    double *dZ=dC;
    for(i=0;i<N;i++) printf("%4d",iA[i]);                      //.........1
    printf("\n");
for(i=0;i<N;i++) printf("%6.1f",fB[i]);                    //.........2
    printf("\n");
    for(i=0;i<N;i++) printf("%6.2lf",dC[i]);                  //.........3
    printf("\n%d\t%.1f\t%.2lf\n",iA[0],fB[1],dC[2]);          //.........4
    printf("%d\t%.1f\t%.2lf\n",*iX,*(fY+1),*(dZ+2));          //.........5
    printf("%d  ",sizeof(dZ));                                //.........6
    printf("%d  %d\n",fY,fY+1);                                //.........7
    iX++;fY=fY+2;dZ=dZ+3;
    printf("%d\t%.1f\t%.2lf\n",*iX,*fY,*dZ);                  //.........8
    printf("%d\t%.1f\t%.2lf\n",*(iX+1),*(fY+1),*(dZ+1));      //.........9
}
【实验2】
实验题目:已知2008年6月1日是星期日,编写程序,根据用户输入的该月日期判断该日为星期几。
实验指导:可将该月所有的日期对7求余数后,将余数存入数组iD[ ]。由于2008年6月1日是星期日,所以余数1对应星期日,2对应星期一,……,6对应星期五,余数0对应星期六。对于七种不同的输出,可选用Switch()语句实现。
实验目的:能够运用一维数组,指针。
【实验3】
实验题目:定义一个10行10列二维数组后存放如下三角阵,并判断键盘输入的数位于第几行第几列。
1
2  3
4  5  6
46 47 48  49  50  51  52  53  54  55
实验指导:利用双重循环将键盘输入的数与各个数组元素比较,出值相等的那个数组元素,并记录该数组元素的下标,便知该数位与三角阵的第几行第几列。
实验目的:能够运用二维数组,指针。
【实验4】
实验题目:将键盘输入的字符串按逆序输出。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。