关于C语言指针的几道选择题 能选几道 就几道吧 万分感谢
1.若已定义a为int型变量,则【】是对指针变量p的正确说明和初始化。(A)int*p=a;(B)int*p=*a;(C)intp=&a;(D)int*p=&a;2.执行...
1. 若已定义a为int型变量,则【 】是对指针变量p的正确说明和初始化。 (A) int *p=a; (B) int *p = *a;(C) int p=&a; (D) int *p = &a;2. 执行以下语句后,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) 43. 若有说明: int *p1, *p2, m=5,n; 以下是正确赋值语句的选项是【 】。(A) p1=&m;p2=&p1; (B) p1=&m;p2=&n; *p1= *p2;(C) p1=&m;p2=p1; (D) p1=&m; *p2 = *p1 ;4. 执行以下程序段后,m的值是【 】。static int a[ ] = {7,4,6,3,10};int m,k,*ptr;m=10;ptr=&a[0];for(k=0;k<5;k++) m=(*(ptr+k)<m)?*(ptr+k):m;(A) 10 (B) 7 (C) 6 (D) 35. 有语句int a=10,b=20,*p1,*p2;p1=&a;p2=&b;如下面左图所示,若要实现右图所示的存储结构,可选用的赋值语句是【 】。(A) *p1 = *p2 ; (B) p1=p2;(C) p1 = *p2 ; (D) *p1 = p2;6. 执行以下程序段后,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)无确定值7. 若有说明语句:int i, x[3][4];则不能将x[1][1]的值赋给变量i的语句是【 】。(A) i = *(*(x+1)+1); (B) i = x[1][1];(C) i = *(*(x+1)); (D) i = *(x[1]+1);8. 以下程序的运行结果是【 】。sub(int x,int y,int *z){ *z = y-x;}main(){ int a, b, c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf(“%4d %4d %4d\n”,a,b,c);}(A) 5 2 3 (B)-5 -12 -7(C) –5 -12 -17 (D)5 -2 -79. 以下程序段的输出为【 】。static char a[ ]= “Basic”;char *ptr;for(ptr=a;ptr<a+5;ptr++)printf(“%s\n”,ptr);(A) Basic (B) B (C) c (D) Basic asic a ic sic s sic ic i asic c c Basic
展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询