計算機等級考試三級網路技術上機題及答案

才智咖 人氣:3.16W

全國計算機等級考試,是經原國家教育委員會(現教育部)批准,由教育部教育考試院主辦,面向社會,用於考查應試人員計算機應用知識與技能的全國性計算機水平考試體系。以下是小編為大家收集的計算機等級考試三級網路技術上機題及答案,僅供參考,歡迎大家閱讀。

計算機等級考試三級網路技術上機題及答案

計算機等級考試三級網路技術上機題及答案

1.編寫一個函式findStr( ),該函式統計一個長度為2的字串在另一個字串中出現的次數。例如,假定輸入的字串為"asd asasdfg asd as zx67 asd mklo",子字串為"as",函式返回值是6。

函式ReadWrite( )的功能是實現從檔案中讀取兩個字串,並呼叫函式findStr(),最後把結果輸出到檔案中。

注意:部分源程式已給出。

請勿改動主函式main() 和其他函式中的任何內容,僅在函式 findStr()的花括號中填入你所編寫的若干語句。

試題程式:

#include

#include

#include

void ReadWrite();

int findStr(char *str,char *substr)

{

}

void main()

{

char str[81],substr[3];

int n;

system("CLS");

printf("輸入原字串:");

gets(str);

printf("輸入子字串:");

gets(substr);

puts(str);

puts(substr);

n=findStr(str,substr);

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

ReadWrite();

}

void ReadWrite()

{

char ch,str[81],substr[3];

int n,len,i=0;

FILE *rf,*wf;

rf=fopen("","r");

wf=fopen("","w");

while(i<>

{

fgets(str,80,rf);

fgets(substr,10,rf);

len=strlen(substr)-1;

ch=substr[len];

if(ch==' '||ch==0x1a)

substr[len]=0;

n=findStr(str,substr);

fprintf(wf,"%d ",n);

i++;

}

fclose(rf);

fclose(wf);

}【答案】

int findStr(char *str,char *substr)

{

int n=0; /*定義計數器變數,統計出現次數*/

char *p,*r; /*定義指標變數來分別指向兩個字串*/

while(*str) /*如果字串沒有結束,則一直迴圈下去*/

{

p=str; /*指標p指向字串首地址*/

r=substr; /*指標r指向子字串首地址*/

while(*r) /*若子字串沒有結束,則迴圈繼續*/

if(*r==*p)

/*如果子字串的第一個字元等於字串中的該字元,則繼續比較下一個字元*/

{

r++;

p++;

}

else

break; /*否則退出迴圈*/

if(*r=='') /*如果子字串在字串中出現了一次*/

n++; /*則n加1,進行統計*/

str++; /*指向字串中的下一個字元*/

}

return n; /*返回統計結果n*/

}

【解析】本題主要考查了指標的相關操作。

首先,通過外層的while迴圈取字串的每一個字元,取完字串的所有字元之後,迴圈才會終止。用兩個字元型指標分別指向兩個字串。逐個將字串的字元跟子字串的字元對比,如果相等,則兩個指標都自加1,分別指向兩個串的`下一個字元。若不相等,則主串的指標加1,子串的指標重新指向起始位置,繼續比較下一個字元。

2.函式ReadDat()的功能是實現從檔案中讀取一篇英文文章存入到字串陣列xx中;請編制函式StrOL(),該函式的功能是:以行為單位對行中以空格或標點符號為分隔的所有單詞進行倒排。最後把已處理的字串(應不含標點符號)仍按行重新存入字串陣列xx中,最後呼叫函式 WriteDat()把結果xx輸出到檔案中。

例如,原文:You He Me

I am a student.

結果:Me He You

student a am I

原始資料檔案存放的格式是:每行的寬度均小於80個字元,含標點符號和空格。

注意:部分源程式已給出。

請勿改動主函式main()、讀函式ReadDat()和寫函式WriteDat()的內容。

試題程式:

#include

#include

#include

#include

#include

char xx[50][80];

int maxline = 0;/* 文章的總行數 */

int ReadDat(void);

void WriteDat(void);

void StrOL(void)

{

}

void main()

{

system("CLS");

if (ReadDat ())

{

printf("資料檔案 不能開啟! 07");

return;

}

StrOL();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i = 0;

char *p;

if((fp = fopen("", "r")) == NULL) return 1;

while(fgets(xx[i], 80, fp) != NULL)

{

p = strchr(xx [i], ' ');

if(p) *p = 0;

i++;

}

maxline = i;

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE*fp;

int i;

system("CLS");

fp = fopen("", "w");

for(i = 0; i < maxline;="" i++)="">

{

printf("%s ", xx[i]);

fprintf(fp, "%s ", xx[i]);

}

fclose(fp);

}

【答案】

void StrOL(void)

{

int i,j,k; /*定義陣列下標變數*/

char t[80],t1[80]; /*定義陣列暫存取得的單詞*/

for(i=0;i

{

j=k=strlen(xx[i])-1; /*將每行末尾字元的下標儲存在j和k中*/

t[0]=t1[0]=''; /*初始化兩個字元陣列*/

while(1) /*無條件迴圈,迴圈體內有結束迴圈的語句*/

{

while(isalpha(xx[i][j])==0&&j>=0)

/*若以j為下標的字元不是字母並且還在陣列xx之內*/

k=--j;

while(isalpha(xx[i][j])&&j>=0)

/*若以j為下標的字元是字母並且還在陣列xx之內*/

j--;

/*當退出這個迴圈時,xx[i][j+1]和xx[i][k]分別是同一個單詞的第一個和最後一個字母*/

memcpy(t1,&xx[i][j+1],k-j); /*將該單詞儲存到字元陣列t1*/

t1[k-j]=''; /*為t1中的單詞新增字串結束標誌*/

strcat(t,t1); /*將單詞儲存到陣列t中*/

strcat(t," "); /*單詞之間用空格分隔*/

if(j<0)>

break; /*則退出外層while迴圈*/

}

strcpy(xx[i],t); /*按行將處理完了字串重新儲存到陣列xx中*/

}

}

【解析】本題的主要演算法是先讓兩字元指標都指向每一行字元的串尾,然後使其中一指標(p1)往前移動,當出現pl指向的不是字母時則表示在p1+1與 p2之間是一個單詞,將該單詞存入字元陣列t1中,最後將t1連線到新串t中;接著再往前找第二個單詞,依次類推直到p1越過字串的起始位置。再將處理完的字串重新儲存到陣列xx中,然後進入下一行的處理過程。

拓展內容:計算機等級考試三級網路技術填空題

(1) 在程式設計中,將高階語言源程式翻譯成機器語言目標程式的工具有兩種型別:解釋程式與【1】。

正確答案: 編譯程式

(2) 安騰晶片的指令系統超越了RISC與CISC,採用了【2】。

正確答案: EPIC 或 簡明並行指令計算

(3) 通訊子網由【3】、通訊線路與其他通訊裝置組成,完成網路資料傳輸轉發等通訊處理任務。

正確答案: 通訊控制處理機

(4) 世界上第一個網路體系結構是IBM公司於1974年提出的【4】。

正確答案: 系統網路體系結構 或 SNA

(5) B-ISDN綜合選擇了線路交換的實時性和分組交換的靈活性的【5】技術作為它的資料傳輸技術。

正確答案: ATM

(6) 乙太網交換機通過建立和維護【6】進行資料交換。

正確答案: 埠/MAC地址對映表

(7) 一般集線器都是提供連線結點的【7】埠與連線粗纜的AUI或細纜的BNC埠。

正確答案: RJ-45

(8) 網路作業系統的資料庫服務是選擇適當的網路資料庫軟體,通過【8】工作模式開發資料庫應用程式,提供服務的。

正確答案: 客戶機/伺服器

(9) Windows NT Server支援網路驅動介面NDIS與【9】允許使用者使用不同的網路協議。

正確答案: 傳輸驅動介面TDI

(10) UNIX採用程序對換的記憶體管理與【10】儲存管理方式實現虛擬儲存管理。

正確答案: 請求調頁

(11) 從因特網使用者角度考慮,因特網是一個【11】。

正確答案: 資訊資源網

(12) TCP和UDP 用【12】來區別一臺給定主機上的多個目標。

正確答案: 埠

(13) 電子郵件地址用@隔開的前一部分為使用者的【13】,後一部分為郵件伺服器主機名。

正確答案: 賬號

(14) WWW客戶機與WWW伺服器之間的應用層傳輸協議是【14】。

正確答案: 超文字傳輸協議

(15) 網路管理中一般採用【15】的管理模型。

正確答案: 管理者-代理

(16) 資訊保安包括物理安全,安全控制和【16】。

正確答案: 安全服務

(17) 安全策略由威嚴的法律,先進的技術與【17】組成。

正確答案: 嚴格的管理

(18) 電子支付工具包括:電子信用卡,電子支票和【18】。

正確答案: 電子現金

(19) 在電子商務中,【19】為使用者的公鑰簽發證書,證明身份。

正確答案: CA機構

(20) ATM採用【20】將來自不同資訊源的信元彙集在一起,排列後按優先順序輸出,形成首尾相接的信元流。

正確答案: 統計時分多路複用