国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

全國計算機(jī)軟件水平考試初級程序員精選模擬試題(二)

時間:2010-09-19 16:09:00   來源:無憂考網(wǎng)     [字體: ]
全國計算機(jī)軟件水平考試初級程序員精選模擬試題(二)

  1.假定a和b為int型變量,則執(zhí)行下述語句組后,b的值為( )。

  a=1;

  b=10;

  do

  {

  b-=a;

  a++;

  } while (b--<0);

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

  2設(shè)有變量說明語句

  int a=1,b=0;

  則執(zhí)行以下程序段的輸出結(jié)果為( )。

  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.以下合法的數(shù)組說明是( )。

  (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]地址的表達(dá)式是( )。

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

  答案:

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

  所謂水仙花數(shù)是指一個三位正整數(shù),其各位數(shù)字的立方之和等于該正整數(shù)。例如編寫程序,求得并輸出全部水仙花數(shù)的個數(shù)。請?zhí)羁胀晟瞥绦颉?br>
  #include

  main()

  {

  int hun,ten,one; /*百位數(shù)、十位數(shù)、個位數(shù)*/

  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)

  請寫出執(zhí)行下述程序的輸出結(jié)果。

  #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

  閱讀下述程序,寫出運行結(jié)果。

  #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

  提示:首先第一次的結(jié)果不用說了?需要的話,請先把C的書再讀一遍先!

  a=12 y=12

  接著大家要看仔細(xì),if(y>20) break;難點在此,意思是當(dāng)上面的Y>20時結(jié)束這一段,再去判斷While的條件,所以這里會接著加,a=12+2=14 y=14+12=26 ok!26>20,我們?nèi)ヅ袛鄔hile的條件吧,a=14,此時a就正好=14,再次循環(huán)·a=14+2=16 y=12+16=28,然后28>20跳出,a不等于14再次跳出,執(zhí)行最后一句輸出,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

  個人解析下:

  首先我們從for (j=0;j<5;j++)看起,往下是

  {

  if (a[j]==0)

  break;

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

  }

  提示: 把a(bǔ)[5][5]二維數(shù)組中的每列中從左至右第一個為零的數(shù)之前的數(shù)輸出!

  for (i=0;i<5;i++) 就是5行

  #include

  #include

  fun(char *w,int n)

  {

  char t,*sl,*s2;

  s1=w;

  s2=w+n-1;

  while (s1  {

  t=*s1++

  *s1=*s2--

  *s2=t;

  }

  }

  main()

  {

  char *p;

  p="1234567";

  fun (p,strlen(p));

  puts(p);

  }

  答案:1711717

  提示: 主要是認(rèn)清楚S1=? S2=? 首先 S1=W,這S1存的是字符串W的首地址,而S2=W+N-1=P+7-1 OK,也就是W中最后一個字符的地址·

  閱讀下列函數(shù)說明和C函數(shù),將應(yīng)填入__(n)__處的字句寫在答題紙的對應(yīng)欄內(nèi)。

  [函數(shù)1.1說明]

  函數(shù)palindrome(chars[])的功能是:判斷字符串s是否為回文字符串,若是,則返回0,否則返回-1。若一個字符串順讀和倒讀都一樣時,稱該字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。

  [函數(shù)1.1]

  int palindrome(char S[])

  { char *pi,*pj;

  pi=S;pj=s+strlen(S)-1:

  while ( pi  pi++; pj--;

  }

  if(__ (2)__)return-1;

  else return 0;

  }

  [函數(shù)1.2說明]

  函數(shù)f(char *str,char del)的功能是;將非空字符串str分割成若干個子字符串并輸出,del表示分割時的標(biāo)志字符。

  例如若str的值為“33123333435”,del的值為‘3’,調(diào)用此函數(shù)后,將輸出三個子字符串,分別為“12”、“4”和“5”。

  [函數(shù)1.2]

  void f(char*str,char del)

  { int i,j,len;

  len = strlen(str);

  i = 0;

  while (i  while (__(3)__) i++;    /*忽略連續(xù)的標(biāo)志字符*/

  /*尋找從str開始直到標(biāo)志字符出現(xiàn)的一個子字符串*/

  j = i + 1;

  while (str[j] !=del && str[j] !=’\0’) j++;

  __ (4)__="\0";         /*給找到的字符序列置字符串結(jié)束標(biāo)志*/

  printf(" %s\t",&str): ’

  __ (5)__;

  }

  }

  答案:

  (1)*pi == *pj

  (2)pi  (3)str== del

  (4)str[j]

  (5) i = j+1

  提示: 首先看第一題 條件:pi=S;pj=s+strlen(S)-1:pi就是首地址啦,pj就是末地址啦,我們需要把第一個和最后一個比較,第二和倒二比···....OK,那while ( pi  第二題,有注釋哦·不懂就提出來·不過偶想大家都會滴·