C语言暑期实习 第三天

来源:互联网 发布:淘宝网开衫毛衣 编辑:程序博客网 时间:2024/05/22 17:03

今天,继续讲着第二天没有做完的题目,9*9方格,和奶牛问题。

第二天的问题,还是放在第二天里面解决,第三天,只附上第三天的新题型。

1.有如下程序段,输出结果是
  int a = 10,b = 20;
  int *p, **pp;
  p = &a;
  pp = &p;
  p = &b;
  printf(“%d %d \n”, *p, **pp);


  A.10, 20
  B.10, 10
  C.20, 10
  D.20, 20

  

2.若有说明int (*p)[3],则以下叙述正确的是
  A.p是一个指针数组
  B.p是一个指针,它只能指向一个包含3个int类型元素的二维数组
  C.p是一个指针,它可以指向一个一维数组中的任一元素
  D.(*p)[3]与*p[3]等价

 

3.C语言的定义语句char *line[5];的含义是指
  A.line是一个数组,其数组的每一个元素是指向字符的指针
  B.line是一个指针,指向一个数组,数组的元素为字符型
  C.A和B均不对,但它是C语言正确的语句
  D.C语言不允许这样定义语句

 

4.有如下说明 
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 
则数值为9的表达式是
  A.*p + 9
  B.*( p + 8 )
  C.*p += 9
  D.p + 8

 

 

5.若有以下说明, 且0<i<4,则_____________是错误的赋值。
int a[4][10], *p, *q[4];
  A.p = a
  B.q[i] = a[i]
  C.p = a[i]
  D.q[i] = &a[2][0]

 

 

6.若有以下说明语句:
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)

 

 

7.设有以下定义:
    int a[2][3]={1,2,3,4,5,6};
    int (*prt)[3]=a,*p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是

  A.*((*prt+1)[2])
  B.*(*(p+5))
  C.(*prt+1)+2
  D.*(*(a+1)+2)

 

不是每道题,都有答案,答案在你那里、、、

 

 

原创粉丝点击