一些C语言的题,拜求答案2
二、填空题1、以下程序段的输出结果是。int*var,ab;ab=100;var=&ab;ab=*var+10;printf("%d\n",*var);2、称为指针运算符...
二、填空题
1、以下程序段的输出结果是 。
int *var,ab;
ab=100; var=&ab;ab=*var+10;
printf("%d\n",*var);
2、 称为指针运算符, 称为取地址运算符。
3、若两个指针变量指向同一个数组的不同元素.可以进行减法运算和 运算。
4、若d是已定义的双精度变量,再定义一个指向d的指针变量p的语句是 。
5、设有以下定义和语句,则*(*(p+2)+1)的值为 。
int a[3][2]={10,20,30,40,50,60},(*p)[2];
p=a ;
6、若有定义: char ch;
(1)使指针p可以指向变量ch的定义语句是 。
(2)使指针p指向变量ch的赋值语句是 。
(3)通过指针p给变量ch读入字符的scanf函数调用语句是 。
(4)通过指针p给变量ch赋字符的语句是 。
(5)通过指针p输出ch中字符的语句是 。
7、有下列程序段:
int a[5]={10,20,30,40,50},*p=&a[1],*s,i,k=0;
(1)通过指针p,给s赋值,使其指向最后一个存储单元a[4]的语句是 。
(2)用以移动指针s,使之指向中间的存储单元a[2]的表达式是 。
(3)已知k=2,指针s已指向存储单元a[2],表达式*(s+k)的值是 。
(4)指针s已指向存储单元a[2],不移动指针s,通过s引用存储单元a[3]的表达式是 。
(5)指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是 。
(6)若p指向存储单元a[0],则以下语句的输出结果是 。
for(i=0;i<5;i++)printf("%d",*(p+i));
printf(" \n");
三、程序分析题,阅读下列程序,写出程序的输出结果。
1、
main()
{ char *a[6]={"AB","CD","EF","GH","U","KL"};
int i;
for(i=0;i<6;i++)printf("%s",a[i]);
printf("\n");
}
2、阅读下列程序,写出程序的主要功能。
main()
{ int i,a[10],*p=&a[9];
for(i=0;i<10;i++) scanf("%d",&a[i]);
for(;p>=a;p--)printf("%d\t",*p);
}
3、设有下列程序,试写出运行的结果。
main()
{ int i,b,c,a[]={1,10,-3,-21,7,13},*p_b,*p_c;
b=c=1;p_b=p_c=a;
for(i=0;i<6;i++)
{ if(b<*(a+i)){b=*(a+i);p_b=&a[i];}
if(c>*(a+i)){c=*(a+i);p_c=&a[i];}
}
i=*a;*a=*p_b;*p_b=i;i=*(a+5);*(a+5)=*p_c;*p_c=i;
printf("%d,%d,%d,%d,%d,%d\n",a[0],a[1],a[2],a[3],a[4],a[5]);
}
4、阅读下列程序,写出程序运行的输出结果。
char s[ ]="ABCD";
main()
{ char *p;
for(p=s;p<s+4;p++)
printf("%s\n",p);
}
请写明题号~~
谢谢~~ 展开
1、以下程序段的输出结果是 。
int *var,ab;
ab=100; var=&ab;ab=*var+10;
printf("%d\n",*var);
2、 称为指针运算符, 称为取地址运算符。
3、若两个指针变量指向同一个数组的不同元素.可以进行减法运算和 运算。
4、若d是已定义的双精度变量,再定义一个指向d的指针变量p的语句是 。
5、设有以下定义和语句,则*(*(p+2)+1)的值为 。
int a[3][2]={10,20,30,40,50,60},(*p)[2];
p=a ;
6、若有定义: char ch;
(1)使指针p可以指向变量ch的定义语句是 。
(2)使指针p指向变量ch的赋值语句是 。
(3)通过指针p给变量ch读入字符的scanf函数调用语句是 。
(4)通过指针p给变量ch赋字符的语句是 。
(5)通过指针p输出ch中字符的语句是 。
7、有下列程序段:
int a[5]={10,20,30,40,50},*p=&a[1],*s,i,k=0;
(1)通过指针p,给s赋值,使其指向最后一个存储单元a[4]的语句是 。
(2)用以移动指针s,使之指向中间的存储单元a[2]的表达式是 。
(3)已知k=2,指针s已指向存储单元a[2],表达式*(s+k)的值是 。
(4)指针s已指向存储单元a[2],不移动指针s,通过s引用存储单元a[3]的表达式是 。
(5)指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是 。
(6)若p指向存储单元a[0],则以下语句的输出结果是 。
for(i=0;i<5;i++)printf("%d",*(p+i));
printf(" \n");
三、程序分析题,阅读下列程序,写出程序的输出结果。
1、
main()
{ char *a[6]={"AB","CD","EF","GH","U","KL"};
int i;
for(i=0;i<6;i++)printf("%s",a[i]);
printf("\n");
}
2、阅读下列程序,写出程序的主要功能。
main()
{ int i,a[10],*p=&a[9];
for(i=0;i<10;i++) scanf("%d",&a[i]);
for(;p>=a;p--)printf("%d\t",*p);
}
3、设有下列程序,试写出运行的结果。
main()
{ int i,b,c,a[]={1,10,-3,-21,7,13},*p_b,*p_c;
b=c=1;p_b=p_c=a;
for(i=0;i<6;i++)
{ if(b<*(a+i)){b=*(a+i);p_b=&a[i];}
if(c>*(a+i)){c=*(a+i);p_c=&a[i];}
}
i=*a;*a=*p_b;*p_b=i;i=*(a+5);*(a+5)=*p_c;*p_c=i;
printf("%d,%d,%d,%d,%d,%d\n",a[0],a[1],a[2],a[3],a[4],a[5]);
}
4、阅读下列程序,写出程序运行的输出结果。
char s[ ]="ABCD";
main()
{ char *p;
for(p=s;p<s+4;p++)
printf("%s\n",p);
}
请写明题号~~
谢谢~~ 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询