传奇sf诛仙私服变态传奇私服传奇合击私服传奇归来私服传奇连击私服热血传奇私服新开传奇私服诛仙sf诛仙2私服变态传奇sf中变传奇合击私服英雄合击私服1.85合击传奇私服1.76传奇私服发布网1.85传奇私服发布网连击传奇私服连击私服

首页上机实践题


刘甲耀、严桂兰教授新著作问世

Core Java应用程序设计教程

C++程序设计简明教程

C#程序设计

我校开展省级精品课程建设



软件系上机教学
 
 

指针

xt6_1

/*指针变量的含义*/
#include <stdio.h>
main()
{
int i,*p,j;
p=&i;
i=3;
j=(*p)++;
printf("%d,%d,%d\n",j,*p,i);
}
/*3,4,4
为什么*p,i为4,而j为3*/

xt6_2

/*p117 5.1*/
#include <stdio.h>
main()
{
int i,*p;
p=&i;
scanf("%d",p);
while((*p/=10)>=10) ;
printf("%d\n",*p);
}
/*input:5678
output:5
解释输出5的运算过程*/

xt6_3

/*p118动态分配函数,void类型*/
#include <stdio.h>
#include <malloc.h>
main()
{
int *p1;
char *p2;
void *q;
q=malloc(sizeof(int));
p1=(int *)q;
*p1=0x4241;
p2=(char *)q;
printf("%d,%c,%c\n",*p1,*p2,*(p2+1));
free(q);
}
/*16961,A,B
若*p2为C,*(p2+1)为D,则*p1该赋何值?*/

xt6_4

/*指向改变,内容不变*/
#include <stdio.h>
main()
{
int *p1,*p2,*p,a,b;
p1=&a; p2=&b;
scanf("%d%d",p1,p2);
if(*p1<*p2)
{
p=p1;p1=p2;p2=p;
}
printf("%d,%d\n",*p1,*p2);
}
/*说明为何指向改变,内容不变?*/

xt6_4_1

/*指向不变,内容交换*/
#include <stdio.h>
main()
{
int *p1,*p2,t,a,b;
p1=&a; p2=&b;
scanf("%d%d",p1,p2);
if(*p1<*p2)
{
t=*p1;*p1=*p2;*p2=t;
}
printf("%d,%d\n",*p1,*p2);
}
/*说明为何指向不变,内容改变?*/

xt6_5

/*p148 5.11,指针与一维数组*/
#include <stdio.h>
main()
{
float y=0.0,a[]={2.0,4.0,6.0,8.0,10.0},*p;
int i;
p=&a[1];
for(i=0;i<3;i++) y+=*(p+i);
printf("%f\n",y);
}
/*分析运行结果*/

xt6_6

#include <stdio.h>
main()
{
int i,j,a[]={1,2,3,4,5},*p;
for(i=4;i>=0;i--)
{
p=&a[i];
for(j=0;j<=4-i;j++)
printf("%d",*(p+j));
printf("\n");
}
}
/*5
45
345
2345
12345
利用指针变量将上输出改变为:
12345
2345
345
45
5*/

xt6_7

/*p148 5.16*/
#include <stdio.h>
#include <string.h>
main()
{
char s[10],*sp="HELLO";
strcpy(s,sp);
s[0]='h';s[6]='!';
printf("%s\n",s);
}
/*分析运行结果*/

xt6_8

/*z237 5*/
#include <stdio.h>
main()
{
int j,a[]={1,3,5,7,9,11,15},*p;
for(j=3;j;j--)
{
p=&a[j];
switch(j)
{
case 1:case 2:printf("%d ",*p);break;
case 3:printf("%d ",*p);
}
}
printf("\n");
}
/*分析运行结果*/

xt6_9

/*指针变量的含义*/
#include <stdio.h>
main()
{
char p[]="Computer!",*s=p;
while(*s)
{
if(*s=='C') (*s)++;
s++;
}
printf("%s\n",p);
}

xt6_21

/*p117 5.1*/
#include <stdio.h>
main()
{
int i,*p;
p=&i;
scanf("%d",p);
while(*p>=10) *p/=10;;
printf("%d\n",*p);
}
/*input:5678
output:5
解释输出5的运算过程*/

xt6_51

/*指针与一维数组*/
#include <stdio.h>
main()
{
int i,j,a[]={1,2,3,4,5},*p;
for(i=0;i<5;i++)
{
p=&a[i];
for(j=0;j<5-i;j++)
printf("%d",*(p+j));
printf("\n");
}
}
/*分析运行结果*/

xt6_61

#include <stdio.h>
main()
{
int i,j,a[]={1,2,3,4,5},*p;
for(i=0;i<5;i++)
{
p=&a[0];
for(j=0;j<i+1;j++)
printf("%d",*(p+j));
printf("\n");
}
}
/*1
12
123
1234
12345*/


 
   

2006年 私立华联学院 版权所有