2021年山西省太原市全國計算機等級考試網絡技術預測試題(含答案)_第1頁
2021年山西省太原市全國計算機等級考試網絡技術預測試題(含答案)_第2頁
2021年山西省太原市全國計算機等級考試網絡技術預測試題(含答案)_第3頁
2021年山西省太原市全國計算機等級考試網絡技術預測試題(含答案)_第4頁
2021年山西省太原市全國計算機等級考試網絡技術預測試題(含答案)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2021年山西省太原市全國計算機等級考試網絡技術預測試題(含答案)學校:________班級:________姓名:________考號:________

一、單選題(10題)1.下列關于寬帶城域網技術的描述中,錯誤的是()

A.能夠為用戶提供帶寬保證,實現流量工程

B.可以利用NAT技術解決IP地址資源不足的問題

C.可以利用SNMP實現網絡管理

D.保證QoS的主要技術有RSVP、DiffServ、MSTP

2.OSI參考模型中,負責根據通信子網的特征最佳地利用網絡資源,并以可靠和經濟的方式,為兩個端系統(tǒng)的會話層之間,提供建立、維護和取消傳輸連接的功能的是()。

A.物理層B.數據鏈路層C.網絡層D.傳輸層

3.在載波偵聽與總線訪問方法上,CSMA/CD類似()CSMA協議。

A.1-堅持式B.非堅持式C.P-堅持式D.都不是

4.RIP屬于下列()協議。

A.路由B.差錯與控制報文C.傳輸D.表示

5.若服務器系統(tǒng)年停機時間為55分鐘,那么系統(tǒng)可用性至少達到()。

A.99%B.99.9%C.99.99%D.100.00%

6.

7.在Cisco路由器上使用命令“snmp-serverhost59.67.148.2system”進行SNMP設置,如果在管理站59.67.148.2上能正常接收來自該路由器的通知,那么下列描述中錯誤的是()。

A.路由器上已用“snmp-serverenabletraps”設置了SNMP代理具有發(fā)出通知的功能

B.管理站59.67.148.2使用TCP的162端口接收通知

C.路由器向管理站按照團體字system發(fā)送通知

D.路由器使用SNMP版本1向管理站發(fā)送通知

8.下列有關網絡安全的說法,錯誤的是()。

A.為了保證安全性,所有機制都包括以下兩部分:對被傳送的信息進行與安全相關的轉換;兩個主體共享不希望對手得知的保密信息

B.安全攻擊是安全威脅的具體體現

C.通信量分析屬于被動攻擊

D.服務攻擊比非服務攻擊更具有隱蔽性,被認為是一種更為有效的攻擊手段

9.將Cisco6500第4模塊第1端口的通信方式設置為半雙工,第2—24端口的通信方式設置為全雙工,以下交換機的端口配置,正確的是()。

A.Switch-6500>(enable)setinterfaceduplex4/1halfSwitch-6500>(enable)setinterfaceduplex4/2.24full

B.Switch-6500>(enable)setport4/1duplexhalfSwitch-6500>(enable)setport4/2.24duplexfull

C.Switch-6500>(enable)setportduplex4/1halfSwitch-6500>(enable)setportduplex4/2—4/24full

D.Switch-6500>(enable)setportduplex4/1halfSwitch-6500>(enable)setportduplex4/2-24full

10.下列說法中,正確的是()。

A.服務器只能用大型主機、小型機構成

B.服務器只能用裝配有安騰處理器的計算機構成

C.服務器不能用個人計算機構成

D.服務器可以用裝配有奔騰、安騰處理器的計算機構成

二、填空題(10題)11.Linux操作系統(tǒng)由內核、外殼、

和應用程序四部分組成。

12.IP服務的3個主要特點是______、面向非連接和盡最大努力投遞服務。

13.(1)在擴展的ASCII碼中,每個數字都能用二進制數表示,例如,1表示為00110001,2表示為00110010,那么2008可表示為_________。

14.

15.Linux操作系統(tǒng)可以通過______協議與其他計算機連接。

16.

第67題操作系統(tǒng)通常有4類組件:驅動程序、___________、接口庫和外圍部件。

17.(4)在IEEE802參考模型中,數據鏈路層分為_________子層與LLC子層。

18.___________是一種通過現有普通電話線為家庭、辦公室提供寬帶數據傳輸服務的技術。

19.在ISO定義的網絡管理功能中,的功能包括初始化被管理對象、更改系統(tǒng)配置等。

20.

三、2.填空題(8題)21.操作系統(tǒng)之所以能夠找到磁盤上的文件,是因為有磁盤上的文件名的存儲位置的記錄。在DOS中,它叫做文件表FAT;在Windows中,叫做【】;在OS/2中,叫做高性能文件系統(tǒng)HPFS。

22.將計算機網絡和移動通信技術結合起來的移動計算包括______和移動Internet。

23.連接兩個或者多個物理網絡,負責將從一個網絡接收來的IP數據報,轉發(fā)到一個合適的網絡中的是______。

24.協議分層模型包括兩方面的內容:一是層次結構,二是對______的描述。

25.當路由表中沒有到某一特定網絡或特定主機地址的路由時,在使用______的情況下,路由選擇例程就可以把數據報發(fā)到這個路由上。

26.以HTML和HTTP協議為基礎的服務稱為______服務。

27.因特網用戶使用的FTP客戶端應用程序通常有3種類型,即傳統(tǒng)的FTP命令行、瀏覽器和【】。

28.在計算機網絡ISO/OSI開放系統(tǒng)互聯7層參考模型中,最高一層是【】。

四、C語言程序設計題(2題)29.函數readDat是從文件in.dat中讀取20行數據存放到字符串數組xx中(每行字符串長度均小于80)。請編制函數jsSort,其函數的功能是:以行為單位對字符串變量的下標為奇數的位置上的字符按其ASCII值從小到大的順序進行排序,下標為偶數的位置上的字符仍按原來位置存放,排序后的結果仍按行重新存入字符串數組xx中,最后調用函數writeDat把結果xx輸出到out.dat文件中。

注意:部分源程序存在test.c文件中。

請勿改動數據文件in.dat中的任何數據、主函數main、讀函數readDat和寫函數wilteDat的內容。

第11類字符串循環(huán)位移

30.已知數據文件in.dat中存有300個四位數,并已調用讀函數readDat把這些數存入數組a中,請編制一函數isValue,其功能是:求出所有這些四位數是素數的個數cnt,再把所有滿足此條件的四位數依次存入數組b中,然后對數組b的四位數按從小到大的順序進行排序。最后main函數調用寫函數writeDat把數組b中的數輸出到out.dat文件中。

例如:5591是素數,則該數滿足條件存入數組b中,且個數cnt=cnt+1。

9812是非素數,則該數不滿足條件忽略。

注意:部分源程序存在test.C文件中。

程序中已定義數組:a[300],b[300],已定義變量:cnt請勿改動數據文件in.dat中的任何數據、主函數main、讀函數readDat和寫函數writeDat的內容。

五、1.選擇題(3題)31.快速以太網的數據傳輸速串為______。

A.10MbpsB.100MbpsC.1000MbpsD.10000Mhps

32.局域網不提供()服務。

A.資源共享B.設備共享C.多媒體通信D.分布式計算

33.下列不屬于局域網協議層次的是______。

A.物理層B.數據鏈路層C.傳輸層D.網絡層

六、1.程序設計題(3題)34.己知在文件IN46.DAT中存有100個產品銷售記錄,每個產品銷售記錄由產品代碼dm(字符型4位)、產品名稱mc(字符型10位)、單價dj(整型)、數量s1(整型)、金額je(長整型)幾部分組成。其中,金額=單價×數量可計算得出。函數ReadDat()的功能是讀取這100個銷售記錄并存入數組sell中。請編制函數SortDat(),其功能要求:按金額從大到小進行排列,若金額相同,則按產品代碼從大到小進行排列,最終排列結果仍存入結構數組sell中,最后調用寫函數WriteDat()把結果輸出到文件OUT46.DAT中。

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

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

試題程序:

#include<stdio.h>

#include<mem.h>

#include<string.h>

#include<conio.h>

#include<stdlib.h>

#defineMAX100

typedefstruct

{

chardm[5];

charmc[11];

intdj;

intsl;

longje;

}PRO;

PROsell[MAX];

voidReadDat();

voidWriteDat();

voidSortDat()

{

}

voidmain()

{

memset(sell,0,sizeof(sell));

ReadDat();

SortDat();

WriteDat();

}

voidReadDat()

{

FILE*fp;

charstr[80],ch[11];

inti;

fp=fopen("IN46.DAT","r");

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

{

fgets(str,80,fp);

memcpy(sell[i].dm,str,4);

memcpy(sell[i].mc,str+4,10);

memcpy(ch,str+14,4);

ch[4]=0;

sell[i].dj=atoi(ch);

memcpy(ch,str+18.5);

ch[5]=0;

sellIii.sl=atoi(ch);

sell[i].je=(long)sell[i].dj*sell[i].sl;

}

fclose(fp);

}

voidWriteDat()

{

FILE*fp;

inti;

fp=fopen("OUT46.DAT","w");

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

{

fprintf(fp,"%s%s%4d%5d

%101d\n",sell[i].dm,sell[i].mc,sell[i].dj,sell[ii.si,sell[i].je)

;

}

fclose(fp);

}

35.已知文件IN16.DAT中存有100個產品銷售記錄,每個產品銷售記錄由產品代碼dm(字符型4位)、產品名稱mc(字符型10位)、單價由(整型)、數量s1(整型)、金額je(長整型)幾部分組成。其中:金額=單價×數量。函數ReadDat()的功能是讀取這100個銷售記錄并存入結構數組sell中。請編制函數SortDat(),其功能要求:按產品名稱從大到小進行排列,若產品名稱相同,則按金額從大到小進行排列,最終排列結果仍存入結構數組sell中,最后調用函數WriteDat()把結果輸出到文件OUT16.DAT中。

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

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

試題程序:

#include〈stdio.h>

#include〈mem.h>

#include〈string.h>

#include〈conio.h>

#include〈stdlib.h>

#defineMAX100

typedefstruct

{

chardm[5];/*產品代碼*/

charmc[11];/*產品名稱*/

intdj;/*單價*/

ints1;/*數量*/

longje;/*金額*/

}PRO;

PROsell[MAX];

voidReadDat();

voidWriteDat();

voidSortDat()

{

}

main()

{

memset(sell,0,sizeof(sell));

ReadDat();

SortDat();

WriteDat();

}

voidReadDat()

{

FILE*fp;

charstr[80],ch[11];

inti;

fp=fopen("IN16.DAT","r");

for(i=0;i〈100;i++)

{

fgets(str,80,fp);

memcpy(sell[i].dm,str,4);

memcpy(sell[i].mc,str+4,10);

memcpy(ch,str+14,4);

ch[4]=0;

sell[i].dj=atoi(ch);

memcpy(ch,str+18,5);

ch[5]=0;

sell[i].s1=atoi(ch);

sell[i].je=(long)sell[i].dj*sell[i].s1;

}

fclose(fp);

}

voidWriteDat()

{

FILE*fp;

inti;

fp=fopen("OUT16.DAT","w");

for(i=0;i〈100;i++)

{

fprintf(fp,"%s%s%4d%5d%101d\n",sell[i].dm,sell[i].mc,

sell[i].dj,sell[i].s1,sell[i].je);

}

felose(fp);

}

36.已知數據文件IN27.DAT中存有300個4位數,并已調用讀函數readDat()把這些數存入數組a中,請編制一函數jsValue(),其功能是:求出千位數上的數加百位數上的數等于十位數上的數加個位數上的數的個數cnt,再把所有滿足此條件的4位數依次存入數組b中,然后對數組b的4位數從大到小進行排序,最后調用寫函數writeDat()把數組b中的數輸出到OUT27.DAT文件。

例如:7153,7+1=5+3,則該數滿足條件,存入數組b中,且個數cnt=cnt+1。

8129,8+1≠2+9,則該數不滿足條件,忽略。

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

程序中已定義數組:a[300],b[300],已定義變量:cnt。

請勿改動主函數main()、讀函數readDat()和寫函數writeDat()的內容。

試題程序:

#include〈stdio.h>

inta[300],bi300],cnt=0;

voidjsValue()

{

}

main()

{

inti;

readDat();

jsValue();

writeDat();

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

for(i=0;i〈cnt;i++)

printf("b[%d]=%d\n",i,b[i]);

}

readDat()

{

FILE*fp;

inti;

fp=fopen("IN27.DAT","r");

for(i=0;i〈300;i++)

fscanf(fp,"%d,",&a[i]

fclose(fp);

}

writeDat()

{

FILE*fp;

inti;

fp=fopen("OUT27.DAT","w");

fprintf(fp,"%d\n",cnt);

for(i=0;i〈cnt;i++)

fprintf(fp,"%d,\n",b[i]);

fclose(fp);

}

參考答案

1.D

2.D

3.A解析:CSMA/CD類似1-堅持CSMA,發(fā)送前監(jiān)聽信道,忙則不發(fā)送,等到空閑時再發(fā),而且發(fā)送以后還要繼續(xù)監(jiān)聽信道,這樣進一步減少沖突。

4.A

5.B系統(tǒng)的可用性用平均無故障時間(MTBF)來度量,即計算機系統(tǒng)平均能夠正常運行多長時間,才發(fā)生一次故障。系統(tǒng)的可靠性越高,平均無故障時間越長。可維護性用平均維修時間(MTBR)來度量,即系統(tǒng)發(fā)生故障后維修和重新恢復正常運行平均花費的時間。系統(tǒng)的可維護性越好,平均維修時間越短。計算機系統(tǒng)的可用性定義為:MTBF/(MTBF+MT—BR)×100%。題中服務器年停機時間為55分鐘,(365×24×60—50)/365×24×60×100%=99.989,因此可用性達到B項99.9%。因此選擇B選項。

6.C

7.B能正常接收來自路由的通知,說明路由上已設置SNMP代理并具有發(fā)出通知的功能。UDP端口號缺省為162,system為管理站團體字,SNMP版本1是最基本、最簡單的,幾乎所有網絡設備和計算機操作系都支持它。

8.D解析:非服務攻擊與特定服務無關,更為隱蔽,也是常常被忽略的方面,因而被認為是一種更為有效的攻擊手段。

9.D設置路由器端口的通信方式。以Cisco6500交換機為例:步驟一:設置第4模塊第1端13的通信方式設置為半雙工setportduplex4/1half步驟二:設置第2~24端口的通信方式設置為全雙工setprotduplex4/2—24full因此選擇D選項。

10.D解析:在客戶機/服務器體系下,服務器一般具有功能強大的處理能力、容量很大的存儲器以及快速的輸入輸出通道和聯網能力。通常它的處理器采用高端微處理器芯片組成,如32位的奔騰和64位的安騰芯片等。原則上過去的小型機和大型機以及個人計算機都可以充當服務器的角色。

11.文件系統(tǒng)文件系統(tǒng)

12.不可靠的數據投遞服務不可靠的數據投遞服務解析:IP服務的3個主要特點是不可靠的數據投遞服務、面向非連接和盡最大努力投遞服務。

13.(1)00110010001100000011000000111000【解析】計算機內部采用二進制記數和運算,只有0和l兩個數字,按“逢二進一”的規(guī)律計數。2008由2、O、O、8四個ASCII碼組成,根據題目已知1表示為00110001.2表示為O0110010,則可通過計算得出:0就是00110000(00110001-1)3表示為00110011(O0110010+1)(即每次加l,按“逢二進一”進位),依次類推8表示為00111000。

14.

15.TCP/IPTCP/IP解析:Linux操作系統(tǒng)具有豐富的網絡功能,在通信和網絡方面優(yōu)于其他操作系統(tǒng),可以通過TCP/IP協議與其他計算機連接,通過剛絡進行分布式處理。

16.內核

【解析】操作系統(tǒng)通常有4類組件;驅動程序、內核、接口庫和外圍組件。

17.(4)MAC【解析】為了統(tǒng)一不同技術的局域網產品,制定一個共同的協議模型,IEEE802參考模型中將數據鏈路層劃分為邏輯鏈路控制LLC子層和介質訪問控制MAC子層。不同局域網在MAC子層和物理層可以采用不同協議,但是在LLC子層必須采用相同協議。

18.ADSLADSL解析:ADSL是一種通過現有普通電話線為家庭、辦公室提供寬帶數據傳輸服務的技術。ADSL即非對稱數字信號傳送,它能夠在現有的雙絞銅線,即普通電話線上,提供高達8Mbps的高速下行速率,遠高于ISDN速率;而上行速率有2Mbps,傳輸距離達3~5km。

19.配置管理網絡管理的5個基本功能是配置管理、故障管理、性能管理、計費管理和安全管理。事實上,網絡管理還應該包括其他一些功能,如網絡規(guī)劃和對網絡操作人員的管理等。不過除了基本的5項功能以外,其他網絡管理功能的實現都與實際的網絡條件有關。

—配置管理:配置管理的目標是掌握和控制網絡和系統(tǒng)的配置信息、網絡中各設備的狀態(tài),以及進行連接管理。配置管理最主要的作用是增強網絡管理者對網絡配置的控制,這是通過對設備的配置數據提供快速訪問來實現的。

—故障管理:故障是出現大量或嚴重錯誤并需要修復的異常情況。故障管理是對計算機網絡中的問題或故障進行定位的過程,主要作用是通過為網絡管理者提供快速的檢查問題并啟動恢復過程的工具,使網絡的可靠性得到增強。故障標簽是一個監(jiān)視網絡問題的前端進程。

—性能管理:性能管理功能允許網絡管理者查看網絡運行狀況的好壞,其目標是維護網絡運營效率和保證網絡服務質量,使網絡的性能維持在一個可以被接受的水平上。性能管理為網絡管理者提供監(jiān)視網絡運行的關鍵參數,如吞吐率、利用率、錯誤率、響應時間和網絡的一般可用度等。從概念上講,性能管理包括監(jiān)視和調整兩大功能。

—計費管理:計費管理的目標是跟蹤個人和團體用戶對網絡資源的使用情況,對其收取合理的費用。計費管理的主要作用包括使網絡管理者能測量和報告基于個人或團體用戶的計費信息,分配資源,計算用戶通過網絡傳輸數據的費用后給用戶開出賬單。

—安全管理:安全管理的目標是按照一定的方法控制對網絡的訪問,以保證網絡不被侵害,并保證重要的信息不被未獲得授權的用戶訪問。安全管理是指對網絡資源以及重要信息的訪問進行約束和控制。

20.

21.虛擬文件表VFAT虛擬文件表VFAT解析:操作系統(tǒng)之所以能夠找到磁盤上的文件,是因為有磁盤上的文件名的存儲位置的記錄。在Windows中,磁盤上的文件名的存儲位置的記錄叫做虛擬文件表或VFAT

22.移動計算網絡移動計算網絡解析:移動計算是將計算機網絡和移動通信技術結合起來,為用戶提供移動的計算環(huán)境和新的計算模式。移動計算包括移動計算網絡和移動Internet。

23.路由器路由器解析:路由器在因特網中起著重要的作用,它連接兩個或者多個物理網絡,負責將從一個網絡接收來的IP數據報,經過路由選擇,轉發(fā)到一個合適的網絡中。

24.各層功能各層功能解析:層次結構和對各層功能的描述是分層模型的主要內容。

25.默認路由默認路由解析:路由表可以包含到某一網絡的路由和到某一特定的主機路由外,還包含一個特殊的路由——默認路由。當路由表中沒有到某一特定網絡或特定主機地址的路由時,在使用默認路由的情況下,路由選擇歷程就可以把數據報發(fā)到這個默認路由上。

26.WWW(或Web)WWW(或Web)解析:WWW服務采用客戶機/服務器模式,它以超文本標記語言HTML和超文本傳輸協議HTTP為基礎,為用戶提供界面一致的信息瀏覽系統(tǒng)。

27.FTP下載工具FTP下載工具解析:因特網用戶使用的FTP客戶端應用程序通常有三種類型,即傳統(tǒng)的FTP命令行、瀏覽器和FTP下載工具。傳統(tǒng)的FTP命令行形式是最早的FTP客戶端程序,在目前的Windows95、WindowsNT等圖形界面操作系統(tǒng)中仍保留著該功能,但需要切換到MS-DOS窗口中執(zhí)行。瀏覽器是訪問WWW服務的客戶端應用程序,用戶通過指定URL便可以瀏覽到相應的頁面信息。通過瀏覽器用戶只能從FTP職務器下載文件而不能上載文件。FTP下載工具一方面可以提高文件下載的速率,另一方面可以實現斷點續(xù)傳,即接續(xù)前面的斷接點,完成剩余部分的傳輸。常用的VIP下載工具主要有GetRight、CuteFtp、NetAnts等。

28.應用層應用層解析:根據分而治之的原則,ISO將整個通信功能劃分為7個層次,由低到高依次為:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。

29.【審題關鍵句】以行為單位對字符串變量的下標為奇數的字符按從小到大排序,結果仍按行重新存入字符串數組中。

\n【解題思路】

\n①因為要進行字符之間的互換,所以定義局部字符變量ch。定義循環(huán)變量i、j、k。

\n②在第一層for循環(huán)中,循環(huán)變量i從0開始,依次遞增直到其值等于或大于20,在循環(huán)體中實現對每行字符串的處理。在循環(huán)體中執(zhí)行第二層for循環(huán),循環(huán)變量J從1開始,依次遞增2直到其值等于(int)strlen(xx[i]),在第三層for循環(huán)中,循環(huán)變量k從j+2開始,依次遞增2,直到其值等于(int)strlen(xx[i]),如:果字符xX[i][j]的ASCII碼值大于xx[i][k]的ASCII碼值,則兩者進行互換,實現字符串xx[i]中下標為奇數的位置上的字符按其ASCII值從小到大的順序進行排序,下標為偶數的位置上的字符仍按原來位置存放的功能。

\n【參考答案】

\n

\n

\n第11類字符串循環(huán)位移

30.【審題關鍵句】求素數的個數,存入數組,按從小到大的順序排序。

\n【解題思路】

\n①首先定義兩個循環(huán)變量循環(huán)i、j和一個用于數據交換的整型變量tmp。

\n②通過for循環(huán)依次讀取數組中的300個數,其中,循環(huán)變量i從0開始每次加1,直到i<300停止循環(huán);在每次循環(huán)中判斷a[i]是否是素數,如果是素數,則把a[i]的值賦給數組b[cnt],同時數組下標變量cnt值加1。

\n③在退出循環(huán)后,用兩個for循環(huán)對數組b[]中元素進行兩兩比較,實現數組元素從小到大的排序,比較過程中通過整型變量tmp實現兩個數的交換。

\n【參考答案】

\n

31.B解析:傳統(tǒng)的以太網數據傳輸速率為10Mbps??焖僖蕴W數據傳輸速率為100Mbps。

32.D解析:局域網為用戶提供本地和遠程服務,這些服務包括設備共享和數據資源共享,所以A選項資源共享是局域網所提供的服務,而B選項設備共享是屬于硬件資源共享的范圍,多媒體通信屬于數據資源,局域網和分布式系統(tǒng)不屬于同一種系統(tǒng),也不提供分布式計算的功能。在這里不要將這兩個概念混淆,局域網可以讓聯網的計算機提供協同工作來完成一項任務,但是這不屬于分布式系統(tǒng)的范圍。

33.C解析:局域網包含ISO/OSI參考模型中七層協議中下二層的功能,即物理層、數據鏈路層,其中數據鏈路層包括LLC(邏輯鏈路控制)層和MAC(介質訪問控制)層。LAN中不存在傳輸層。

34.voidSortDat(){intij;PROxy;for(i=0;i<99;i++)for(j=i+l;j<100;j++){if(sell[i].je<sell[j].je)/*按金額從大到小進行排列*/{xy=sellIii;sell[i]=sell[j];sell[j]=xy;}elseif(sell[i].je==sell[j].je)/*若金額相同*/if(strcmp(sell[ii.dmsell[j].dm)<0)/*則按產品代碼從大到小進行排列*/{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}}}voidSortDat()\r\n{\r\ninti,j;\r\nPROxy;\r\nfor(i=0;i<99;i++)\r\nfor(j=i+l;j<100;j++)\r\n{\r\nif(sell[i].je<sell[j].je)/*按金額從大到小進行排列*/\r\n{\r\nxy=sellIii;\r\nsell[i]=sell[j];\r\nsell[j]=xy;\r\n}\r\nelseif(sell[i].je==sell[j].je)/*若金額相同*/\r\nif(strcmp(sell[ii.dm,sell[j].dm)<0)/*則按產品代碼從大到小進行排列*/\r\n{\r\nxy=sell[i];\r\nsell[i]=sell[j];\r\nsell[j]=xy;\r\n}\r\n}\r\n}解析:本題考查的知識點如下:

(1)結構體及結構數組的相關操作。

(2)結構數組的排序。

(3)字符型數組的比較。

本題著重考查結構體變量的訪問、賦值,包括結構體本身及結構體中各個成員的訪問和賦值。根據題意要求,我們首先要按照金額對記錄從大到小進行排列。若金額相同,則要比較產品代碼。因為產品代碼為字符型,所以不能使用簡單的比較運算符進行比較。在這里,我們使用了字符串處理函數strcmp(char*strll,char*strl2,unsignedintcouO對其進行比較。因為已定義了結構數組,就可以使用循環(huán)進行比較排序。排序采用前面介紹的“選擇排序法”。

35.voidSortDat(){intij;PROxy;for(i=0;i〈MAX-1;i++)for(j=i+1;j〈MAX;j++)if(strcmp(sell[i].mcsell[j].mc)<0)/*按產品名稱從大到小進行排列*/{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}elseif(strcmp(sell[i].mcsell[i].mc)==0)/*若產品名稱相同則按金額從大到小進行排列*/if(sell[i].je〈sell[j].je){xy=sell[i];sell[i]=sell[j];sell[j]=xy;}}voidSortDat()\r\n{\r\ninti,j;\r\nPROxy;\r\nfor(i=0;i〈MAX-1;i++)\r\nfor(j=i+1;j〈MAX;j++)\r\nif(strcmp(sell[i].mc,sell[j].mc)<0)/*按產品名稱從大到小進行排列*/\r\n{\r\nxy=sell[i];\r\nsell[i]=sell[j];\r\nsell[j]=xy;\r\n}\r\nelseif(strcmp(sell[i].mc,sell[i].mc)==0)/*若產品名稱相同,則按金額從大到小進行排列*/\r\nif(sell[i].je〈sell[j].je)\r\n{\r\nxy=sell[i];\r\nsell[i]=sell[j];\r\nsell[j]=xy;\r\n}\r\n}解析:本題是有關結構體數組的排序問題??梢杂眠x擇法來實現,即用第一個元素的產品名稱依次和它后面的元素的產品名稱進行比較,如果發(fā)現當前元素的產品名稱比后面的某個元素的產品名稱的對應位置的字符的ASCII碼小(這里用到了字符串比較函數strcmp()),則交換這兩個元素的位置,繼續(xù)和后面的其他元素進行比較,最終在第一個元素中存放的是產品

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論