1(單選題): 操作系統通常由操作系統內核和許多配套軟件、程序庫等組成。下列相關敘述中,錯誤的是___. O內核主要是指提供任務管理、存儲管理、文件管理和設備管理等功能的軟件模塊 O在操作系統運行過程中,內核通常都駐留在內存中,它以CPU的最高優先級運行 O應用程序接口(API)是操作系統必不可少的組成部分,屬于操作系統內核范疇 O相同內核的操作系統可以有多種不同的產品,例如Windows操作系統等
2(單選題): 下列有關通信中交換技術的敘述中,錯誤的是_____. O電路交換的效率最低,因為在通信的全部時間內始終占用端到端的傳輸信道 O在分組交換中,需要將傳輸的數據劃分為若干個數據塊,并據此生成數據包進行傳輸 O分組交換機是實現分組交換方式的關鍵設備,其基本工作模式是“存儲轉發” O分組交換技術因具有系統開銷低、傳輸時延低等優點,目前被廣泛使用
3(單選題): 半導體存儲器芯片按其保存數據的機理等可以分為多種類型。目前存儲卡、U盤和固態硬盤等主要采用_____. O靜態隨機存取存儲器SRAM O動態隨機存取存儲器DRAM ONAND型Flash存儲器 o電可擦可編程只讀存儲器EEPROM)
4(單選題): 在比特的運算中,邏輯加運算1100∨O101的結果是____。 01101 00100 01 01 00011
5(單選題): 在音頻信號的數字化過程中,人的說話聲音頻帶較窄(僅為300~3400Hz),通常語音的取樣頻率為8kHz、量化位數為8位,這時未壓縮的碼率大約為____。 08kb/s 064kb/s 0300kb/s 01411kb/s
6(單選題): 對于智能手機等設備來說,傳感器是一種重要的輸入設備。高端智能手機通常配置了以下傳感器,其中能感知手機橫豎縱三個方向的位置變化,以實現自動調整屏幕以橫向或縱向進行顯示的是______。 O三軸陀螺儀 O環境光感應器 O氣壓傳感器 O重力傳感器
7(單選題): 當今時代,網絡信息安全己成為全球性的重大安全問題。下列有關敘述中,錯誤的是____。 O目前互聯網上”木馬”病毒泛濫成災,有些通過郵件的附件進行傳播,有些直接通過網頁傳播 O漏洞是指—個系統存在的弱點或缺陷,漏洞的存在導致系統易被黑客入侵和病毒駐留 O后門是繞過安全性控制而獲取對系統訪問權的方法,后門往往是系統設計人員或入侵者”留下的” O系統安裝防火墻和入侵檢測軟件是提高安全性的有效手段,目前所有的這些軟件都是免費的、開源的
8(單選題): IC卡是“集成電路卡”或“芯片卡”的簡稱,國外稱為chip card或smart card。下列有關IC卡的敘述中,錯誤的是_____。 O可以分為存儲器卡和CPU卡,前者除了有存儲電路外,通常還有寫入保護和加密電路 O可以分為存儲器卡和CPU卡,后者集成了中央處理器、程序和數據存儲器 O可以分為接觸式IC卡和非接觸式IC卡,相比較來說,前者易磨損、壽命要短一些 O可以分為接觸式IC卡和非接觸式IC卡,隨著技術進步和成本降低,后者逐漸被淘汰
9(單選題): 字符集及其編碼是計算機中表示、存儲、處理和交換文本信息的基礎,但由于歷史原因,目前不同系統或應用中使用的字符編碼方案并不統一。目前在Windows中文版操作系統中,通常使用____來表示和處理文本,在數據文件需要保存到外存時會轉換成操作系統所默認的本地編碼(方案)。 OASCII OUTF-8 OUTF-16 OGB 18030
10(單選題): 通俗地說,算法就是解決問題的方法和步驟。下列關于算法表示形式的敘述中,錯誤的是____。 O對于復雜的算法,采用文字說明表示算法時很難“系統”并”精確”地表達,且敘述冗長 O算法的流程圖表示比文字描述簡明,但當算法比較復雜時,也難以表達清楚 O算法可采用偽代碼表示,這是一種介于自然語言和程序設計語言之間的文字和符號表達方法 o采用某種具體的程序設計語言描述算法,是最為高效、最為方便、也是最常用的方法
1(單選題): 派生類的對象對它的基類成員中的____是可以訪問的。 O公有繼承的公有成員 O公有繼承的私有成員 O保護繼承的保護成員 O私有繼承的公有成員
2(單選題): 下列有關對象的敘述中,不正確的是_____。 O對象必須先說明后使用,其說明的—般形式是:“類名對象名;” O類的說明是不分配存儲空間的,只在程序運行時為對象分配存儲空間 O同—類的不同對象,占有完全不同的內存空間,即它們沒有共享的存儲空間 O同—類不同對象的成員函數占有相同的內存空間,對象中存儲的是這些成員函數在內存中的地址
3(單選題): 設x和y都是int型變量,下列語句中錯誤的是______。 Ox=y++; Ox+=++y; O(X+y)++: o++x*=y;
4(單選題): 下列有關數組與指針的描述中,不正確的是____。 o一個數組的數組名與指向這個數組的指針變量不同 o一個—維字符數組可以當作字符串處理 O數組的下標從1開始 O對引用變量進行求地址運算時,其值將是其引用的變量的地址
5(單選題): 函數重找定義時,參數中的______必須不同。 O參數個數 O參數類型 O參數順序 O以上任何—個 6(填空題 <3空> ) : [程序] #include <iostream> using namespace std; class A { int x; public: A(int i) { x=i; } virtual void print() { cout<<"x="<<x<<" "; } }; class B: public A { int y; public: B(int i, int j):A(i) { y=j; } void print() { A::print(); cout<<"y="<<y<<endl; } }; class C: public B { int z; A a; public: C(int i,int j,int k,int m): B(i,j),a(k),z(m){ } void print() { a.print(); B::print(); cout<<"z="<<z<<endl; } }; int main() { A *p; B b(1,5); b.print(); C c(2,3,4,8); p=&b; p->print(); p=&c; p->print(); return 0; } 執行以上程序后,輸出的第二行是_____,第三行是________,第四行是_______。 7 (填空題 <2空> ) : [程序] #include <iostream> using namespace std; char *nextWord(char **p) { static char word[80]; while(**p==' ') (*p)++; char *pw=word; while(**p && **p!=' ') { *pw=*(*p); pw++; *(*p)++; } *pw='\0'; return word; } int main() { char s[]="What's your name?",*ps=s; do { cout<<nextWord(&ps)<<endl; } while(*ps); return 0; } 執行以上程序后,輸出的第一行是_____,第二行是_______。 8(填空題 <3空> ) : [程序] #include <iostream> using namespace std; class Point { public: Point(int a=0, int b=0) { x=a; y=b; cout<<"Constructor:"<<x<<','<<y<<endl; } Point(const Point &p); ~Point() { cout<<"Destructor:"<<x<<','<<y<<endl; } private: int x,y; }; Point::Point(const Point &p) { x=p.x; y=p.y; cout<<"Copy:"<<x<<','<<y<<endl; } int main() { Point m(2,4),a; Point n(m); return 0; } 執行程序后,輸出的第二行是______,第三行是_____,第四行是_______。 9(填空題 <2空> ) : [程序] #include <iostream> using namespace std; int f(int i) { return ++i; } int g(int &i) { return ++i; } int main() { int a,b; a=b=1; a+=f(g(a)); b+=f(f(b)); cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; return 0; } 執行程序后,輸出的第一行是________,第二行是________。
1(完善程序):
【題目】已知XYZ+YZZ=532,其中X,Y和Z為0-9之間的一位數字,以下程序的功能是分別求出滿足條件的X,Y和Z的值。
程序輸出為:
x=3,y=2,z=1
【程序】
#include <iostream>
using namespace std;
int main() {
int x,y,z,i;
for(x=1; x<=9; x++)
for(y=1; y<=9; y++)
for(z=0; __________; z++) {
i=__________;
if(__________)
__________;
}
return 0;
}
【要求】
l 打開T盤中myfa.cpp文件,根據題目要求及程序中語句之間的邏輯關系對程序進行完善。
l 完善后的源程序文件myfa.cpp必須保存在T盤的根目錄下,供閱卷用。
2(改錯題):
【題目】“眾數”是指一組數據中出現次數最多的數值,有時在一組數中有多個眾數。例如:數據 1 3 4 2 1 3 2 1 3 4中的眾數為1和3。
以下程序的功能是:給定n個初始數據(n<1001),將這些數據從左到右依次編號,并假設第一個數據的編號為1,對這些數據進行如下兩種操作命令(其中,a,b都是正整數):
0 a b:求出數據編號在閉區間[a, b]內的眾數,如果有多個眾數,則輸出較小的那個數,此時a<b。
1 a b:將編號為a的數據值修改為b。
輸入/輸出示例(下劃線部分為鍵盤輸入):
輸入數據個數及指令個數:5 3
輸入初始數據(5個):1 1 2 2 1
輸入第1條指令:0 1 4
1與4之間的眾數為:1
輸入第2條指令:1 2 3
修改后的數據為:1 3 2 2 1
輸入第3條指令:0 1 4
1與4之間的眾數為:2
含有錯誤的源程序如下:
#include <iostream>
using namespace std;
int a[1001];
void work(int i,int j) { // 尋找下標在區間[i, j]里的眾數,并輸出
int b[1001], k, maxn=0, tmp=1, r=0;
for (k=i; k<=j; k++)
b[k]=a[k];
for(int i1=i; i1<j; i1++) //從小到大排序
for(int i2=i1+1; i2<=j; i2++)
if(b[i1]<b[i2])
swap(b[i1], b[i2]);
for(k=i+1; k<=j; k++) {
if(b[k]==b[k-1]) {
if(tmp>maxn) {
r=b[k-1];
maxn=tmp;
}
tmp=1;
} else
tmp++;
}
if(tmp>maxn) {
r=b[j];
maxn=tmp;
}
cout<<r<<endl;
}
int main() {
int n, m, i, j, flag, x, y;
cout<<"輸入數據個數及指令個數:";
cin>>n>>m;
cout<<"輸入初始數據("<<n<<"個):";
for(i=1; i<=n; i++)
cin>>a[i];
for(i=0; i<m; i++) {
cout<<"輸入第"<<i+1<<"條指令:";
cin>>flag>>x>>y;
if(flag) {
cout<<x<<"與"<<y<<"之間的眾數為:";
work(x,y);
} else {
a[y]=x;
cout<<"修改后的數據為:";
for(j=1; j<=n; j++)
cout<<a[j]<<' ';
cout<<endl;
}
}
return 0;
}
【要求】
l 打開T盤中myfb.cpp文件,根據題目要求及程序中語句之間的邏輯關系對程序中的錯誤進行修改。
l 改錯時,可以修改語句中的一部分內容,增加少量的變量說明、函數原型說明或編譯預處理命令,但不能增加其他語句,也不能刪除整條語句。
l 改正后的源程序文件myfb.cpp必須保存在T盤的根目錄下,供閱卷用。
3(編程題):
【題目】試定義一個類NUM,將一維整型數組中各元素的各位數字進行降序排列。例如:整數32524的各位數字降序排列后的整數為54322。具體要求如下:
(1)私有成員:
l int a[6]; 成員數組。
(2)公有成員:
l NUM(int a1[], int n): 構造函數,用參數數組a1的前n個元素初始化成員數組a。
l int f1(int n): 輔助函數,將整數n各位上的數字降序排列后返回。要求先將整數n各位上的數字提取并存放到某一數組中,然后調用函數f3()對該臨時數組排序,再將這些數字重新組合成一個整數并返回。
l void f2(): 將成員數組a中的各元素各位上的數字進行降序排列,要求多次調用成員函數f1()實現。
l void f3(int t[], int n): 輔助函數,將數組t的前n個元素降序排序。
l void print(): 輔助函數,打印成員數組a。
(3)在主函數中對類NUM進行測試,要求輸出原始數組及處理后的數組。
輸出示例:
原始數組:
1344 47895 59078 5630 623 5351
處理后的數組:
4431 98754 98750 6530 632 5531
【要求】
打開T盤中myfc.cpp文件(空文件),編寫后的源程序文件myfc.cpp必須保存在T盤的根目錄下,供閱卷用。
|