C语言 指针习题 求解
2.若已定义a为int型变量,则【】是对指针变量p的正确说明和初始化。(A)int*p=a;(B)int*p=*a;(C)intp=&a;(D)int*p=&a;4.执行...
2. 若已定义a为int型变量,则【 】是对指针变量p的正确说明和初始化。
(A) int *p=a; (B) int *p = *a;
(C) int p=&a; (D) int *p = &a;
4. 执行以下语句后,a的值为【 】。
int a, b, k=4, m=6;
int *p1 = &k, *p2 = &m, *p3;
a = p1 == &k; b=3*(-*p1)/(*p2)+7;
(A) –1 (B) 1
(C) 0 (D) 4
6. 执行以下程序段后的y值为【 】。
static int a[ ] = {1,3,5,7,9};
int x,y,*ptr;
y=1;
ptr = &a[1];
for(x=0;x<3;x++)
y*=*(ptr+x);
(A) 105 (B) 15
(C) 945 (D) 无确定值
10. 执行以下程序段后,s的值为【 】。
static int a[ ] = {5,3,7,2,1,5,4,10};
int s=0, k;
for(k=0;k<8;k+=2)
s += *(a+k);
(A) 17 (B) 27
(C) 13 (D)无确定值
12. 下面能正确进行字符串赋值操作的是【 】。
(A) char s[5] = {“ABCDE”}; (B) char s[5]={‘A’, ‘B’, ‘C’, ‘D’, ‘E’};
(C) char *s; s= “ABCDE”; (D) char *s; scanf(“%s”,s);
13. 以下程序段的结果为【 】。
static char a[ ] = “Program”;
char *ptr;
ptr=a;
for(ptr=a;ptr<a+7;ptr+=2)
putchar(*ptr);
(A) Program (B) Porm
(C) 有语法错误 (D) Por
17. 执行以下程序段后,m的值为【 】。
static int a[2][3] = {1,2,3,4,5,6};
int m, *ptr;
ptr=&a[0][0];
m= (*ptr)*(*(ptr+2))*(*(ptr+4));
(A)15 (B) 48
(C) 24 (D) 无确定值
18. 执行以下程序段后的结果为【 】。
static char a[ ]= “language”;
char *ptr;
ptr =a;
while(*ptr)
{
printf(“%c”,*ptr-32);
ptr++;
}
(A) LANGUAGE (B) 陷入死循环
(C) 有语法错误 (D) language
20. 若有以下说明语句:
static int a[2][3]={1,3,5,7,9,11};
int m, n;
且0≤m≤1,0≤n≤2,则【 】是对数组元素的正确引用。
(A) a[m]+n (B) *(a+5)
(C) *(*(a+m)+3) (D) *(*(a+m)+n)
25. 已有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是【 】。
(A) p=max; (B) *p = max;
(C) p=max(a,b); (D) *p=max(a,b); 展开
(A) int *p=a; (B) int *p = *a;
(C) int p=&a; (D) int *p = &a;
4. 执行以下语句后,a的值为【 】。
int a, b, k=4, m=6;
int *p1 = &k, *p2 = &m, *p3;
a = p1 == &k; b=3*(-*p1)/(*p2)+7;
(A) –1 (B) 1
(C) 0 (D) 4
6. 执行以下程序段后的y值为【 】。
static int a[ ] = {1,3,5,7,9};
int x,y,*ptr;
y=1;
ptr = &a[1];
for(x=0;x<3;x++)
y*=*(ptr+x);
(A) 105 (B) 15
(C) 945 (D) 无确定值
10. 执行以下程序段后,s的值为【 】。
static int a[ ] = {5,3,7,2,1,5,4,10};
int s=0, k;
for(k=0;k<8;k+=2)
s += *(a+k);
(A) 17 (B) 27
(C) 13 (D)无确定值
12. 下面能正确进行字符串赋值操作的是【 】。
(A) char s[5] = {“ABCDE”}; (B) char s[5]={‘A’, ‘B’, ‘C’, ‘D’, ‘E’};
(C) char *s; s= “ABCDE”; (D) char *s; scanf(“%s”,s);
13. 以下程序段的结果为【 】。
static char a[ ] = “Program”;
char *ptr;
ptr=a;
for(ptr=a;ptr<a+7;ptr+=2)
putchar(*ptr);
(A) Program (B) Porm
(C) 有语法错误 (D) Por
17. 执行以下程序段后,m的值为【 】。
static int a[2][3] = {1,2,3,4,5,6};
int m, *ptr;
ptr=&a[0][0];
m= (*ptr)*(*(ptr+2))*(*(ptr+4));
(A)15 (B) 48
(C) 24 (D) 无确定值
18. 执行以下程序段后的结果为【 】。
static char a[ ]= “language”;
char *ptr;
ptr =a;
while(*ptr)
{
printf(“%c”,*ptr-32);
ptr++;
}
(A) LANGUAGE (B) 陷入死循环
(C) 有语法错误 (D) language
20. 若有以下说明语句:
static int a[2][3]={1,3,5,7,9,11};
int m, n;
且0≤m≤1,0≤n≤2,则【 】是对数组元素的正确引用。
(A) a[m]+n (B) *(a+5)
(C) *(*(a+m)+3) (D) *(*(a+m)+n)
25. 已有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是【 】。
(A) p=max; (B) *p = max;
(C) p=max(a,b); (D) *p=max(a,b); 展开
展开全部
2.D
4.B
6.A
10.B
12.A
13.D
17.A
18.A
20.D
25.A
4.B
6.A
10.B
12.A
13.D
17.A
18.A
20.D
25.A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案是:2.D 4.B 6.A 10.B 12.A 13.D 17.A 18.A 20.D 25.A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是:2.D 4.B 6.A 10.B 12.A 13.D 17.A 18.A 20.D 25.A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询