指针的部分实验

学习目标:

1. 理解指针的概念

2. 掌握指针变量的定义、初始化

2. 掌握指针的运算

学习内容:

1. 理解指针变量的定义。定义整型变量a,以及指向该变量的指针变量pa,给a赋值,单步调试观察变量a及指针p的内容。

源程序:

#include<stdio.h>

#include<stdlib.h>

void main()

{int a;

  int *pa=&a;     // 表示把变量a的地址当做整数赋值给pa指向的对象 ,*pa; 将指向一个变量。            scanf("%d",&a);

  printf("a=%d\n",a);

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

  system("pause");

}

2. 编写程序实现:将从键盘输入的两个字符串连接起来(不用strcat函数:连接字符串),输出连接结果。要求使用指针完成。编译、连接、运行该程序,给出运行结果。

源程序:

#include<stdio.h>

#include<stdlib.h>

void main()

char a[10],b[10],*p,*q;//指针p,q

    gets(a);gets(b);//分别输入a,b,要求数量小于定义量

    for(p=a;*p!='\0';p++);//将a地址给p,同时将输入的a地址全部给p,直到结束

    for(q=b;*q!='\0';p++,q++)//将b地址给q,因为是连接两个字符串,则p地址随b给q的地址依次增加,即b里边字符串依次加在a后边

     *p=*q;*p='\0';//将q数据给p,置p末尾为空格,结束

    puts(a);

    system("pause");

}

 

3. 编写程序实现:从键盘输入10个整数,使用指针完成对输入数据中所有奇数求和的操作,并输出计算结果。编译、连接、运行该程序,给出运行结果。

源程序:

#include<stdio.h>

#include<stdlib.h>

void main()

{int a[10],i,sum=0;

  int *pa=a;   //把a地址给pa

  for(i=0;i<=9;i++)

  scanf("%d",&a[i]);  //把a里数据内容打出

  pa=a;    //打出的数据重新定义地址,方便下边用指针

  for(pa=a;pa<a+10;pa++)  //pa<a+10是想说明现在重新打入这组数据,但是是使用指针计算了

  if(*pa%2!=0)    //对奇数求和,该数与2相除求余数,余数不为零则加上

   sum+=*pa;

  printf("输出的奇数求和sum=%d\n",sum);

  system("pause");

}

4. 使用指针变量,输入一个长度为N的整型数组,将其逆序后输出,假定长度N为10。

源程序:

#include<stdio.h>

#include<stdlib.h>

void main()

{int a[10];

int *p=a;

for(p=a;p<a+10;p++)

    scanf("%d",p);    //将数组a用指针形式打出

for(p--;p>=a;p--)     //将数据逆向输出,数据每输出一个,地址减1,直到地址变为最初地址

    printf("%d ",*p);

printf("\n");

system("pause");

}

 

 

        

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值