实验12 定义和使用指针
目录
题目1.c:定义一个整型变量a,一个整型指针变量p指向变量a,输出整型变量a的值和地址,整型指针变量p的值和地址以及它所指向的对象。
题目2.c:改写以下程序,实现从键盘输入两个整数,通过函数实现将两个数互相交换。
题目4.c:以下程序的功能是通过指针操作找出3个整数中的最小值并输出,请填空。
题目5.c:若输入的值分别是1,3,5,下面程序的运行结果是 。
一:学习目的
1:正确理解变量的值和变量的地址之间的关系。
2:理解地址和指针的概念。
3:掌握指针变量的定义和基本使用方法。
二:实验内容提要
1:变量的值和变量的地址
2:指针变量的定义和引用
运行结果:
3:指针变量作为函数参数
1)普通变量:值传递
2)指针变量:地址传递
三:实验题目·
题目1.c:定义一个整型变量a,一个整型指针变量p指向变量a,输出整型变量a的值和地址,整型指针变量p的值和地址以及它所指向的对象。
题目2.c:改写以下程序,实现从键盘输入两个整数,通过函数实现将两个数互相交换。
#include<stdio.h>
void main()
{
void swap(int x,int y);
int a,b;
scanf(“%d%d”,&a,&b);
swap(a,b);
printf(“a=%d,b=%d\n”,a,b);
}
void swap(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
题目3.c:分析以下程序的运行过程及结果。
void sub(int x,int y,int *z)
{ *z=y-x; }
void main()
{
int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf(“%4d,%4d,%4d\n”,a,b,c);
}
题目4.c:以下程序的功能是通过指针操作找出3个整数中的最小值并输出,请填空。
int x,y,z,num,*p1,*p2,*p3;
; ; ;
printf(“Please enter 3 integers:”);
scanf(“%d%d%d”,p1,p2,p3) ;
printf(“x=%d,y=%d,z=%d\n”,*p1,*p2,*p3) ;
num=*p1;
if(*p1>*p2) ;
if(num>*p3) ;
printf(“the min is:%d\n”,num) ;
题目5.c:若输入的值分别是1,3,5,下面程序的运行结果是 。
int s(int *p)
{
int sum=10;
sum=sum+*p;
return(sum);
}
main()
{
int a=0,i,*p,sum;
for(i=0;i<=2;i++)
{
p=&a;
scanf(“%d”,p);
sum=s(p);
printf(“sum=%d\n”,sum);
}
}
题目6.c:下面程序的运行结果是 。
int *p;
void pp(int a,int *q)
{
int c=4;
*p=*q*c;
a=*p-c;
*q=*p+c;
printf(“%d,%d,%d\n”,a,*q,*p);
}
main()
{
int a=1,b=2;
p=&b;
pp(a,&b);
printf(“%d,%d,%d\n”,a,b,*p);
}
附注:实验为博主刚学C语言时候老师布置的作业,发表出来,仅供做题与参考。