亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

職稱考試

計算機軟考程序員模擬試題

時間:2025-03-03 22:35:46 職稱考試 我要投稿
  • 相關(guān)推薦

2016年計算機軟考程序員模擬試題

  2016年計算機軟件水平測試一年有兩次考試機會,同學(xué)們參考了嗎?下面百分網(wǎng)小編為大家分享的是計算機軟考程序員模擬試題,希望對大家備考有所幫助!

2016年計算機軟考程序員模擬試題

  ●試題一

  閱讀下列函數(shù)說明和C代碼,把應(yīng)填入其中n處的字句寫在答卷的對應(yīng)欄內(nèi)。

  【函數(shù)1.1說明】

  函數(shù)strcpy(char*to,char*from)將字符串from復(fù)制到字符串to。

  【函數(shù)1.1】

  void strcpy(char*to,char*from)

  {while( (1) );}

  【函數(shù)1.2說明】

  函數(shù)merge(int a[ ],int n,int b[ ],int m,int *c)是將兩個從小到大有序數(shù)組a和b復(fù)制合并出一個有序整數(shù)序列c,其中形參n和m分別是數(shù)組a和b的元素個數(shù)。

  【函數(shù)1.2】

  void merge(int a[ ],int n,int b[ ],int m,int *c)

  { int i,j;

  for(i=j=0;i

  *c++=a[i]

  while( (2) )*c++=a[i++];

  while( (3) )*c++=b[j++];

  }

  【函數(shù)1.3說明】

  遞歸函數(shù)sum(int a[ ],int n)的返回值是數(shù)組a[ ]的前n個元素之和。

  【函數(shù)1.3】

  int sum(int a[ ],int n)

  { if(n>0)return (4) ;

  else (5) ;

  }

  ●試題二

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

  【說明】

  該程序運行后,輸出下面的數(shù)字金字塔

  【程序】

  #include

  main ()

  {char max,next;

  int i;

  for(max=′1′;max<=′9′;max++)

  {for(i=1;i<=20- (1) ;++i)

  printf(" ");

  for(next= (2) ;next<= (3) ;next++)

  printf("%c",next);

  for(next= (4) ;next>= (5) ;next--)

  printf("%c",next);

  printf("\n");

  }

  }

  ●試題三

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

  【說明】

  函數(shù)diff的功能是:根據(jù)兩個由整數(shù)(都大于-32768)按升序構(gòu)成的單鏈表L1和L2(分別由A,B指向)構(gòu)造一個單鏈表L3(由*r指向),要求L3中的所有整數(shù)都是L1,并且不是L2中的整數(shù),還要求L3中的所有整數(shù)都兩兩不等。

  【函數(shù)】

  #include

  C.h>

  typedef struct node{

  int d;

  struct node *next

  }Node;

  void diff(Node *A,Node *B,Node **r)

  {

  int lastnum;

  Node*p;

  *r=NULL;

  if(!A)return;

  while( (1) )

  if(A->dd)

  {

  lastnum=A->d;

  p=(Node*)malloc(sizeof(Node));

  p->d=lastnum;

  p->next=*r; (2) ;

  do

  A=A->next;

  while( (3) );

  }

  else if(A->d>B->d)

  B=B->next;

  else{

  (4) ;

  lastnum=A->d;

  while (A && A->d==lastnum)A=A->next;

  }

  while(A)

  {

  lastnum=A->d;

  p=(Node*)malloc(sizeof(Node));

  p->d=lastnum;

  (5) ;

  *r=p;

  while (A && A->d==lastnum) A=A->next;

  }

  }

  ●試題四

  閱讀下列程序說明和C代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。

  【說明】

  本程序從若干個原始文件合并成的合并文件中恢復(fù)出其中一個或全部原始文件。所有文件均作為二進制文件進行處理。合并文件中先順序存儲各原始文件,然后順序存儲各原始文件的控制信息,即文件名、文件長度和在合并文件中的位置(偏移量 )。其結(jié)構(gòu)為:

  typedef struct{char fname [256]/*原始文件名*/

  long length;/*原始文件長度(字節(jié)數(shù))*/

  long offset;/*原始文件在合并文件中的位置(偏移量)*/

  }FileInfo;

  在合并文件最后存儲如下一個特殊的標(biāo)志信息作為合并文件的結(jié)束標(biāo)記:

  FileInfo EndF1ag={"Combined File",0,_offset};

  其中_offset是第一個原始文件的控制信息在合并文件中的位置(偏移量)。

  啟動本程序的命令行的格式是:

  程序名合并文件名[原始文件名]

  如果不指定原始文件名,默認(rèn)恢復(fù)合并文件中的所有原始文件。

  程序中涉及的部分文件操作的庫函數(shù)簡要說明如下:

  int fread (void *buffer,int size,int count,F(xiàn)ILE *fbin):從二進制文件流fbin中讀取count塊長度為size字節(jié)的數(shù)據(jù)塊到buffer指向的存儲區(qū)。返回值為實際讀取的數(shù)據(jù)塊數(shù)。

  int fwrite(void *buffer,int size,int count,F(xiàn)ILE *fbin):各參數(shù)和返回值的意義與fread相同,但對文件進行寫操作。

  int fseek(FILE *fbin,long offset,int position):將文件流fbin的讀/寫位置以position為基準(zhǔn)移動offset字節(jié)。position的值可以是SEEK_SET(文件頭),SEEK_CUR(當(dāng)前位置),SEEK_END(文件尾);offset為正,表示向文件尾方向移動,為負(fù)表示向文件頭方向移動,為零表示到基準(zhǔn)位置。

  long ftell(FILE *fbin):返回文件流fbin的當(dāng)前讀/寫位置(相對于文件頭的偏移量)。上述偏移量均以字節(jié)為單位,即偏移字節(jié)數(shù)。

  【程序】

  #include

  #include

  typedef struct{char fname[256];long length;long offset;

  }FileInfo;

  void copyfile(FILE *fin,F(xiàn)ILE *fout,int fsize)

  {char buf[1024];int siz=1024;

  while(fsize !=0){/*每次復(fù)制siz個字節(jié),直至復(fù)制完fsize個字節(jié)*/

  if(siz >fsize) (1) ;

  fread(buf,1,siz,fin);fwrite(buf,1,siz,fout);

  fsize= (2) ;}

  }

  int dofile(FILE *fin,F(xiàn)ileInfo *inp)

  { long offset;

  FILE *fout;

  if((fout=fopen(inp->fname,"wb"))==NULL){

  printf("創(chuàng)建文件錯誤:%s\n",inp->fname);

  return 1;

  }

  offset= (3) ;/*保留合并文件讀/寫位置*/

  fseek( (4) );/*定位于被恢復(fù)文件首*/

  copyfile(fin,fout,inp->length);

  fclose(fout);

  printf("\n---文件名:%\n文件長:%1d.

  \n",inp->fname,inp->length);

  (5) ;/*恢復(fù)合并文件讀/寫位置*/

  return 0;

  }

  int main(int argc,char *argv[])

  {FileInfo finfo;

  char fname[256];FILE *fcmbn;

  if(argc<2){printf("輸入合并文件名:");scanf("%s",fname);}

  else strcpy(fname,argv[1]);

  if((fcmbn=fopen(fname,"rb"))==NULL){

  printf("文件打開錯誤:%s\n",fname);return 1;

  }

  fseek(fcmbn,-sizeof(FileInfo),SEEK_END);/*定位于合并文件末尾的標(biāo)志信息*/

  fread(&finfo,1,sizeof(FileInfo),fcmbn);

  if(finfo.length!=0 || strcmp(finfo.fnane,"CombinedFile")){

  printf("指定的文件不是合法的合并文件\n");

  fclose(fcmbn);return 2;

  }

  fseek(fcmbn,finfo.offset,SEEK_SET);/*定位于首個原始文件的控制信息*/

  for(;;){/*恢復(fù)一個(argc>2)或全部(argc=2)原始文件*/

  fread(&finfo,1,sizeof(FileInfo),fcmbn);

  if(finfo.length==0)break;

  if(argc>2 && strcmp(finfo.fname,argv[2]))continue;

  if(dofile(fcmbn,&finfo)!=0)break;

  }

  fcolse(fcmbn);return 0;

  }

【計算機軟考程序員模擬試題】相關(guān)文章:

2016年計算機軟考網(wǎng)絡(luò)管理員模擬試題03-20

計算機四級軟測模擬試題及答案02-28

2016計算機三級軟測模擬試題及答案06-21

軟考程序員輔導(dǎo):程序員C語言新人常見問題04-19

java程序員認(rèn)證模擬試題及解析06-18

駕考科四模擬試題及答案03-29

2017中考英語模擬試題05-23

2017中考語文模擬試題02-11

最新駕考科目四模擬試題08-15