第十一章单元测试
- 若有语句int *point,a=4;和point=&a;下面均代表指针的一组选项是( )。
- 有以下程序段
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
执行后b中的值是( )。 - 若有定义int a[5],*p=a; 则对a数组元素的正确引用是( )。
- 若有定义int a[7],*p=a; 则p+5表示( )。
- 设已有定义: int a[10]={15,12,7,31,47,20,16,28,13,19},*p; 则下列语句中正确的是( )。
- #include <stdio.h>
int main()
{
int x[ ] = {10, 20, 30};
int *px = x;
printf("%d,", ++*px); printf("%d,", *px);
px = x;
printf("%d,", (*px)++); printf("%d,", *px);
px = x;
printf("%d,", *px++); printf("%d,", *px);
px = x;
printf("%d,", *++px); printf("%d\n", *px);
return 0;
}
上面程序运行后的输出结果是( )。 - #include <stdio.h>
int main()
{
int arr[ ]= {6,7,8,9,10};
int *ptr;
ptr=arr;
*(ptr+2)+=2;
printf ("%d,%d\n",*ptr,*(ptr+2));
return 0;
}
上面程序的运行结果为( )。 - 有以下定义
char a[10],*b=a;
则不能给数组a输入字符串的语句是( )。 - #include <stdio.h>
int main()
{
char a[ ]="programming",b[ ]="language";
char *p1,*p2;
int i;
p1=a;
p2=b;
for(i=0; i<7; i++)
if(*(p1+i)==*(p2+i))
printf("%c",*(p1+i));
return 0;
}
上面程序输出结果是( )。
A:&*a,&a,*point
B:a,point,*&a
C:&a,&*point ,point
D:*&point,*point,&a
答案:&a,&*point ,point
A:8
B:5
C:6
D:9
A:*(p+5)
B:*(a+2)
C:a+2
D:a[5]
A:元素a[6]的值
B:元素a[6]的指针
C:元素a[5]的指针
D:元素a[5]的值
A:for(p=a; p<(a+10); p++);
B:for(p=a; a<(p+10); a++);
C:for(p=a; a<p+10; ++a);
D:for(p=a,a=a+10; p<a; p++);
A:20,10,11,20,11,12,20,20
B:11,11,11,12,12,13,20,20
C:11,11,11,12,12,20,20,20
D:20,10,11,10,11,10,11,10
A:6,10
B:6,8
C:7,9
D:8,10
A:gets(b)
B:gets(a[0])
C:gets(&a[0])
D:gets(a)
A:gm
B:or
C:ga
D:rg
温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!