全国计算机软件水平考试:2016计算机软件水平考试程序员笔试精选试题

副标题:2016计算机软件水平考试程序员笔试精选试题

时间:2023-02-14 14:38:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。


  1.假定a和b为int型变量,则执行下述语句组后,b的值为( )。

  a=1;

  b=10;

  do

  {

  b-=a;

  a++;

  } while (b--<0);

  (1)9 (2)-2 (3)-1 (4)8

  2设有变量说明语句

  int a=1,b=0;

  则执行以下程序段的输出结果为( )。

  switch (a)

  {

  case 1:

  switch (b)

  {

  case 0:printf("**0**");break;

  case 1:printf("**1**");break;

  }

  case 2:printf("**2**");break;

  }

  printf("\n");

  (1)**0** (2)**0****2** (3)**0****1****2** (4)有语法错误

  3.以下合法的数组说明是( )。

  (1)char a[6]="string";

  (2)int a[5]={0,1,2,3,4,5};

  (3)char a="string";

  (4)INT a[]={0,12,3,4,5};

  4.下述程序代码中有语法错误的行是( )。

  int i,ia[10],ib[10]; /*第一行*/

  for (i=0;i<=9;i++) /*第2行*/

  ia=0; /*第3行*/

  ib=ia; /第4行*/

  (1)第1行 (2)第2行 (3)第3行 (4)第4行

  5.若已定义

  int a[9],*p=a;

  并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是( )。

  (1)p+1 (2)a+1 (3)a++ (4)++p

  答案:

  1.(4) 2.(2) 3.(4) 4.(4) 5.(3)

  所谓水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数。例如编写程序,求得并输出全部水仙花数的个数。请填空完善程序。

  #include

  main()

  {

  int hun,ten,one; /*百位数、十位数、个位数*/

  int num,count=0;

  for (num=100;_____(1)_____;num++)

  {

  hum=________(2)_________;

  ten=________(3)_________;

  one=________(4)_________;

  if (____________________)

  {

  printf("]",num);

  count++;

  }

  }

  printf("\n");

  printf("No.=%d\n",count);

  }

  (1) num<1000(或num<=999)

  (2) num/100

  (3) (num-hun*100)/10

  (4) num

  (5) num==hun*hun*hun+ten*ten*ten+one*one*one

  (或hun*100+ten*10+one== hun*hun*hun+ten*ten*ten+one*one*one)

  请写出执行下述程序的输出结果。

  #include

  main()

  {

  int i=100,j=34,k=-63,m=4;

  int u=-15,v=71,w=27;

  i+=j;

  j-=k;

  k*=-m;

  m/=3*j-1;

  u%=v-2*w;

  printf("i=%d,j=%d,k=%d,m=%d,u=%d",i,j,k,m,u);

  答案:i=134,j=97,k=252,m=0,u=-15

  阅读下述程序,写出运行结果。

  #include

  main()

  {

  int a,y;

  a=10;

  y=0;

  do

  {

  a+=2;

  y+=a;

  printf("a=%d,y=%d\n",a,y);

  if (y>20)

  break;

  } while (a=14);

  printf("a=%d\n",a);

  }

  答案:

  a=12 y=12

  a=16 y=28

  a=16

  提示:首先第一次的结果不用说了?需要的话,请先把C的书再读一遍先!

  a=12 y=12

  接着大家要看仔细,if(y>20) break;难点在此,意思是当上面的Y>20时结束这一段,再去判断While的条件,所以这里会接着加,a=12+2=14 y=14+12=26 ok!26>20,我们去判断while的条件吧,a=14,此时a就正好=14,再次循环·a=14+2=16 y=12+16=28,然后28>20跳出,a不等于14再次跳出,执行最后一句输出,a=16.

  #include

  main()

  {

  static int a[5][5]={

  {1,2,3,4,0},

  {2,3,4,0,6},

  {3,0,1,7,5},

  {0,0,2,4,1},

  {8,4,3,2,7}

  };

  int i,j;

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

  {

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

  {

  if (a[j]==0)

  break;

  printf("M",a[j]);

  }

  printf("\n");

  }

  答案:

  1 2 3 4

  2 3 4

  3

  8 4 3 2 7

2016计算机软件水平考试程序员笔试精选试题.doc

本文来源:https://www.wddqw.com/AqSx.html