内容正文:
专题二十 指向数组的指针变量
1、 选择题
1. #include<stdio. h>
main( )
{ int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)
s+=*(t+i);
printf(" %d
" ,s);
}
程序运行输出结果是( )
A.45
B.20
C.25
D.36
2. 程序运行输出结果是( )
#include<stdio.h>
main( )
{ int m=1,n=2;
int *p=&m, *q=&n, *r;
r=p;
p=q;
q=r;
printf("%d,%d,%d,%d
",m,n,*p,*q);
}
A.1,2,1,2
B.1,2,2,1
C.2,1,2,1
D.2,1,1,2
3.下列程序执行后输出的结果是( )
#include <stdio.h>
int a[]={2,4,6,8};
main( )
{ int i;
int *p=a;
for(i=0;i<4;i++)
a[i]= *p++;
printf("%d
" ,a[2]);
}
A.6
B.8
C.4
D.2
4.下列程序执行后输出的结果是
#include <stdio.h>
main( )
{ int a[10]={1,2,3,4,5,6,7,8,9,10};
int *p=a;
printf(" %d
", *(p+2));
}
A. l
B. 2
C. 3
D. 4
5.下列程序执行后输出的结果是
#include <stdio.h>
main( )
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p;
p=a;
printf(" %d
", *p+9);
}
A. 0
B. 1
C. 9
D. 10
6.下列程序的输出结果是( )
#include <stdio.h>
main( )
{ int a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
printf("%d
", *--p);
}
A.7
B.6
C.5
D.4
二、简答题
1.写出以下程序的输出结果。
#include <stdio.h>
main( )
{ int a[]={3,5,7,9,11};
int y=0,x, *p;
p= &a[1];
for(x=0;x<3;x++)
y+= *(p+x);
printf("%d
",y);
}
原创精品资源学科网独家享有版权,侵权必究!
$$
专题二十 指向数组的指针变量
1、 选择题
1. #include<stdio. h>
main( )
{ int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)
s+=*(t+i);
printf(" %d
" ,s);
}
程序运行输出结果是( )
A.45
B.20
C.25
D.36
答案:C
解析:本题考察指向数组的指针变量。因为*(t+i)等同于t[i],循环变量i从0到8变化,步长为2,for循环的功能是实现累加。
2. 程序运行输出结果是( )
#include<stdio.h>
main( )
{ int m=1,n=2;
int *p=&m, *q=&n, *r;
r=p;
p=q;
q=r;
printf("%d,%d,%d,%d
",m,n,*p,*q);
}
A.1,2,1,2
B.1,2,2,1
C.2,1,2,1
D.2,1,1,2
答案:B
解析:本题考察指针变量。int *p=&m, *q=&n, *r;指针p指向变量m,指针q指向变量n;r=p;p=q;q=r;p和q两个指针互换。
3.下列程序执行后输出的结果是( )
#include <stdio.h>
int a[]={2,4,6,8};
main( )
{ int i;
int *p=a;
for(i=0;i<4;i++)
a[i]= *p++;
printf("%d
" ,a[2]);
}
A.6
B.8
C.4