C语言指针和数组练习题及答案
- (单选题, 4分) 若有程序
void main()
{
int a[10]={1,2,3,4,5,5,6,7,8,1},*pa;
pa=a;
printf('%d ',*pa);
pa++;
printf('%d ',*pa);
pa--;
printf('%d ',*pa);
}
则输出结果正确的是( )。
A 1 2 3
B 1 1 2
C 1 2 1
D 1 2 2
- (单选题, 4分)
设有定义:int i=10,j=100,*p1,*p2; p1=&i;p2=&j; p1=p2;则printf('%d %d ',*p1,*p2)结果是( )。
A 10 10
B 100 100
C 100 10
D 10 100
- (单选题, 4分) 设已有定义:float a; 则以下对指针变量p进行定义且赋初值的语句中正确的是( )。 A float *p=2023;
B float *p=&a;
C *p=&a;
D int *p=int a;
- (单选题, 4分) 若有以下定义和语句,则对x数组元素地址的正确引用是( )。
int x[2][3], (*p)[3];
p=x;
A p[2]
B p[0]+1
C *(p+2)
D (p+1)+2
- (单选题, 4分) 若有说明语句'int i,j =7,*p=&i;',则与i=j等价的语句是( )。 A j=*p;
B p=&j;
C i=&j;
D i=**p ;
- (单选题, 4分) 语句int (*pa)(int );的含义是( )。
A pa是指向一维数组的指针变量
B pa是指向int 型数据的指针变量
C pa是指向函数的指针,该函数返回一个int型数据,且有一个int型参数
D pa是一个函数名,该函数的返回值是指向int 型数据的指针
- (单选题, 4分) 执行语句char ss[20]= '#hello!*';printf('%d %d',sizeof(ss),strlen(ss));后输出( )。
A 20 8
B 20 9
C 8 20
D 9 21
- (单选题, 4分) 若有定义int *p[4]; 则标识符p()。
A 是一个指向整型变量的指针
B 是一个指针数组名
C 是一个指针,它指向一个含有四个元素的一维数组
D 函数指针
- (单选题, 4分) 以下能正确进行字符串赋值操作的是( )。 A char s[5]={'ABCDE'};
B char *s; *s='ABCDE';
C char *s='ABCDE';
D char s[5]={'A', 'B', 'C', 'D', 'E'};
- (单选题, 4分) 以下对指针变量的操作中,不正确的是( )。 A int a,*p, *q; p=q=&a;
B int a, *p, *q; q=&a; p=*q;
C int a=6, b,*p; p=&a; b=*p;
D int a=6, *p, *q=&a; p=q;
内容:1. D 2. C 3. B 4. B 5. A 6. C 7. B 8. B 9. C 10. B
原文地址: https://www.cveoy.top/t/topic/orke 著作权归作者所有。请勿转载和采集!