首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 二级考试 >

2013年计算机二级C单选模拟题3(附答案)(4)

2013-03-21 

  55.以下程序段给数组所有的元素输入数据,则以下正确答案为( A )。

  main()

  {int a[10], i=0;

  while (i<10) scanf(“%d”, );

  …

  }

  A) a+(i++)

  B) &a[i+1]

  C) a+i

  D) &a[++i]

  56.在下列叙述中,正确的一条是( B )。

  A) 语句int *pt中的*pt是指针变量名

  B) 语句int *p=a;等价于int *p; p=&a[0];

  C) 运算符*和&都是取变量地址的运算符

  D) 已知指针变量p指向变量a,则&a和*p值相同,都是变量a的值

  57.下列语句执行后的结果是( A )。

  y=5; p=&y; x=*p++;

  A) x=5,y=5

  B) x=5,y=6

  C) x=6, y=5

  D) x=6, y=6

  58.在下列语句中,其含义为“p为带回一个指针的函数,该指针指向整型数据”的定义语句是( A )。

  A) int *p();

  B) int **p;

  C) int (*p)();

  D) int *p;

  59.在下面关于指针的说法中,错误的一条是( B )。

  A) 变量的指针就是变量的地址

  B) 可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量

  C) 一个指针变量只能指向同一个类型的变量

  D) 指针变量中只能存放地址

  60.在下列程序中,输出结果与其它程序不同的是( D )。

  A) main()

  {int a[10];

  int i;

  for(i=0;i<10;i++) scanf(“%d”,&a[i]);

  printf(“\n”);

  for(i=0;i<10;i++) printf(“%d”,a[i]);

  }

  B) main()

  {int a[10];

  int i;

  for(i=0;i<10;i++) scanf(“%d”,&a[i]);

  printf(“\n”);

  for(i=0;i<10;i++) printf(“%d”,*(a+i));

  }

  C) main()

  {int a[10];

  int i, *p;

  for(i=0;i<10;i++) scanf(“%d”,&a[i]);

  printf(“\n”);

  for(p=a;p<(a+10);p++) printf(“%d”,*p);

  }

  D) main()

  {int a[10];

  int i, *p;

  for(i=0;i<10;i++) scanf(“%d”,&a[i]);

  printf(“\n”);

  for(i=0;i<10;i++) printf(“%d”,*(p+i));

  }

  61.以下程序的输出结果是( D )。

  sub(int *s, int y)

  {static int t=3;

  y=s[t]; t--;

  }

  main()

  {int a[ ]={1, 2, 3, 4}, n;

  int x=4;

  for(n=0; n<4; n++)

  {sub(a, x); printf(“%d”, x); }

  printf(“\n”);

  }

  A) 1234

  B) 3333

  C) 4321

  D) 4444

  62.以下程序的输出结果为( B )。

  #idefine FORMAT “%u, %u”

  main()

  {int a[3][4]={1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23};

  printf(“\n”);

  printf(FORMAT, **a, *a[0]);

  printf(FORMAT, *(a[0]+1), *&a[0][1]);

  printf(FORMAT, a[1][1], *(*(a+1)+1));

  }

  A) 3,3 5,5 9,9

  B) 1,1 3,3 9,9

  C) 1,1 3,3 5,5

  D) 5,5 7,7 9,9

  63.以下程序的输出结果为(D )。

  f(char *s)

  {char *p=s;

  while(*p!=‘\0’) p++;

  return(p-s);

  }

  main()

  { printf(“%d\n”, f(“12345678”)); }

  A) 12345678

  B) 7

  C) 1

  D) 8

  64.以下程序的输出结果为( C )。

  move(int array[6], int n, int m)

  {int *p, array_end;

  array_end=*(array+n-1);

  for(p=array+n-1;p>array;p--)

  *p=*(p-1);

  *array=array_end;

  m--;

  if(m>0) move (array, n, m);

  }

  main()

  {static int number[6]={1, 2, 3, 4, 5, 6};

  int m=4, j;

  move(number, 6, m);

  for(j=0;j<5;j++)

  printf(“%d,”, number[i]);

  printf(“%d”, number[5]);

  }

  A) 1,2,3,4,5,6

  B) 6,5,4,3,2,1

  C) 3,4,5,6,1,2

  D) 6,1,2,3,4,5

  65.在下列叙述中,正确的一条是( B )。

  A) 以下程序运行结果为Computer and c:

  main()

  {char str[4];

  str=“Computer and c”;

  printf(“%s\n”, str);

  }

  B) 下面两种表示方式等价

  (1) int fun(int x,int y)

  (2) int fun(x,y)

  int x,y;

  C) 若输入1、2,以下程序的运行结果为12

  main()

  {int *p,i,a[2];

  p=a;

  for(i=0;i<2;i++) scanf(“%d”,p++);

  for(i=0;i<2;i++,p++) printf(“%d”,*p);

  }

  D) 以下程序的运行结果为3

  main()

  {int *p,a[5]={1,3,4,5,6};

  p=a;

  printf(“%d”,*p++);

  }

  66.以下程序的输出结果是( A )。

  point(char *pt);

  main()

  {char b[4]={‘a’, ‘c’, ‘s’, ‘f’}, *pt=b;

  point(pt);

  printf(“%c\n”, *pt);

  }

  point(char *p)

  {p+=3;

  }

  A) a

  B) c

  C) s

  D) f

  67.以下程序的输出结果为( A )。

  void move(int *pointer)

  {int i, j, t;

  for(i=0; i<3; i++)

  for(j=i; j<3; j++)

  {t=*(pointer+3*i+j);

  *(pointer+3*i+j)=*(pointer+3*j+i);

  *(pointer+3*j+i)=t;

  }

  }

  main()

  {int a[3][3]={1, 2, 3, 4, 5, 6, 7, 8, 9}, *p, i;

  p=&a[0][0];

  move(p);

  for(i=0; i<3; i++)

  printf(“%d%d%d”, a[i][0], a[i][1], a[i][2]);

  }

  A) 147258369

  B) 123456789

  C) 987654321

  D) 127485639

  68.以下程序的输出结果是( A )。

  sub(int x, int y, int *z)

  {*z=y-x+2;}

  main()

  {int a, b, c;

  sub(16, 7, &a); sub(9, a, &B); sub(a, b, &C);

  printf(“%d, %d, %d\n”, a, b, C);

  }

  A) –7,-14,-5

  B) –7,-16,-9

  C) –7,-12,-9

  D) –9,-14,-5

  69.变量p为指针变量,若p=&a,下列说法不正确的是( D )。

  A) &*p==&a

  B) *&a==a  C) (*p)++==a++

  D) *(p++)==a++

  70.若输入10,以下程序的输出结果是( B )。

  #define MAX 50

  main()

  {int i, k, m, n, num[MAX], *p;

  scanf(“%d”, &n);

  p=num;

  for(i=0; i

  *(p+i)=i+1;

  i=0; k=0; m=0;

  while(m

  {if(*(p+i)!=0) k++;

  if(k= =3)

  {*(p+i)=0; k=0; m++;}

  i++;

  if(i= =n) i=0;

  }

  while(*p= =0) p++;

  printf(“%d\n”, *p);

  }

  A) 10

  B) 4

  C) 50

  D) 60

  71.以下程序的输出结果是( B )。

  main()

  {char *alpha[5]={“a”, “bc”, “def”, “1”, “23”}, **p;

  int i;

  p=alpha;

  for(i=0; i<3; i++, p++) printf(“%s”, *p);

  printf(“\t”);

  p=p-3;

  for(i=0; i<3; i++, p++) printf(“%c\t”,**p);

  }

  A) abcdef d e f

  B) abcdef a b d

  C) abcdef 1 23

  D) defabc 1 23


热点排行