实验六.指针实验一

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六指针实验一

一. 实验目的

(1)掌握指针变量的定义、引用和运算

(2)掌握指针与变量、指针与数组的关系

二. 实验环境

Turbo C++ 3.0或Visual C++ 6.0

三. 实验预习

(1)、变量的指针就是变量的______。存放变量地址的变量是指针变量,它用来指向另一个变量。

(2)、指针变量的基类型用来指定该指针变量可以指向的__________。例如int *pointer_1,*pointer_2;定义的基类型为_____指针变量__________和__________。

(3)、指针变量全面的“*”表示该变量的类型为__________,在定义指针变量时必须指定__________。注意,只有整型变量的地址才能放到指向整型变量的指针变量中。

(4)、指针变量中只能存放地址(指针),不要将一个整数(或任何其他非地址类型的数据)赋给一个指针变量。其中,取地址运算符为_____,指针运算符(“间接访问”运算符)为_____,取其指向的内容。

四.上机实验

1、编辑运行下面程序,并分析运行结果。

有n个人围成一圈,从第一个人开始报数(从1到3报数),凡是报到3的人退出圈子,问最后留下的是原来第几号的那位。

#include

#define N 50

int main()

{

int i,k,m,n,num[N],*p;

printf("please input the total of numbers:");

scanf("%d",&n);

p=num;

for(i=0;i

*(p+i)=i+1; /*从1到n为每个人编号*/

i=0; /*i为循环计数变量*/

k=0; /*k为报数计数变量*/

m=0; /*m为退出人数*/

while(m

{

if(*(p+i)!=0) k++;

if(k= =3)

{

*(p+i)=0; /*对退出的人的编号置0*/

k=0;

m++;

}

i++;

if(i= =n) i=0;

}

while(*p= =0) p++;

printf("%d is left\n",*p);

return 0;

}

运行结果(注意,按照屏幕输出格式写):

2、调试、补全程序

字符串连接程序,不使用系统提供的字符串连接函数,将第二个字符串连接至第一个字符串后。

#include

#define M 80

int main( )

{

char sub1[M],sub2[M];

char *ps1=sub1,*ps2=sub2;

printf(“please input strings:\n”);

printf(“string1:”);

gets(ps1);

printf(“string2:”);

gets(__________);

while(*ps1!=’\0’)

ps1++;

while(*ps2!=’\0’)

__________=*ps2++;

*ps1=’\0’;

printf(“new string:”);

puts(sub1);

return 0;

}

3、实验提高

编写下列程序:

设计一个二维数组存储学生的四门课程成绩,要求从键盘输入学生的学号,输出该学生的所有课程成绩。

五、实验小结

六、教师评语

相关文档
最新文档