- 相關推薦
最新全國計算機四級機試試題及答案
計算機四級指的是全國計算機等級考試的最高級別,科目種類有:四級操作系統原理、四級計算機組成與接口、四級數據庫原理、四級軟件工程、四級計算機網絡。為幫助考生們更好通過考試,特地為大家準備了以下四級模擬考試題,希望大家喜歡!

編程題
1./* 請編寫一個函數changeStr(char *s),函數的功能是把s串中所有的字母改寫成該字母的下一個字母,字母z改寫成字母a。大寫仍為大寫字母,小寫字母仍為小寫字母,其它的字符不變。函數ReadWrite()實現從文件in2.dat中讀取兩個字符串,并調用函數changestr(),最后把結果輸出到文件out2.dat中。
注意:部分源程序存在文件PROG1.C中。請勿改動主函數main()和其它函數中的任何內容,僅在函數changeStr()的花括號中填入你編寫的若干語名。*/
#include
#include
#include
#include
#define N 81
changeStr ( char *s )
{
}
main( )
{
char a[N] ;
clrscr( ) ;
printf ( “Enter a string : ” ) ; gets ( a ) ;
printf ( “The original string is : ” ) ; puts( a ) ;
changeStr ( a ) ;
printf ( “The string after modified : ”) ;
puts ( a ) ;
ReadWrite( ) ;
}
ReadWrite( )
{
int i ;
char a[N] ;
FILE *rf, *wf ;
rf = fopen(“in2.dat”, “r”) ;
wf = fopen(“out2.dat”, “w”) ;
for(i = 0 ; i 《 10 ; i++) {
fscanf(rf, “%s”, a) ;
changeStr(a) ;
fprintf(wf, “%s ”, a) ;
}
fclose(rf) ;
fclose(wf) ;
}
2./* 程序PROG1.C的功能是:利用以下所示的簡單迭代方法求方程:
cos(x)-x=0的一個實根2016最新全國計算機四級機試試題及答案2016最新全國計算機四級機試試題及答案。
Xn+1=cos(Xn)
迭代步驟如下:
(1) 取x1初步值為0.0;
(2) x0=x1,把x1,把x1的值賦給x0;
(3) x1=cos(x0),求出一個新的x1;
(4) 若x0-x1的絕對值小于0.000001,執行步驟(5),否則執行步驟(2);
(5) 所求x1就是方程cos(x)-x=0的一個實根,作為函數值返回。
請編寫函數countValue()實現程序的要求,最后調用函數writeDAT()把結果輸出到文件out4.dat中。
注意:部分源程序存在文件PROG1.C中,請勿改動主函數main()和輸出數據函數WriteDAT()的內容。 */
#include
#include
#include
float countValue()
{
}
main()
{
clrscr();
printf(“實根=%f ”, countValue());
printf(“ %f ”,cos(countValue())-countValue());
writeDAT();
}
writeDAT()
{
FILE *wf ;
wf=fopen(“out4.dat”,“w”) ;
fprintf(wf, “%f ”, countValue()) ;
fclose(wf) ;
}
3./* 已知在文件IN.DAT中存有若干個(個數《200)四位數字的正整數,函數ReadDAT()讀取這些正整數并存入數組xx中。請編制函數CalValue()其功能要求是:
1.求出這個文件有多少個正整數totNum;2.求出這些數中的各位數字之和是奇數的數的個數totCnt,以及不滿足此條件的所有數的算術平均值totPjz,最后調用函數WriteDAT()把所求的結果輸出到文件OUT8.DAT中。
注意:部分源程序存放在PROG1.C中。
請勿改動主函數main(),讀數據函數ReadDAT()和輸出數據函數WriteDAT()的內容。 */
#include
#include
#define MAXNUM 200
int xx[MAXNUM] ;
int totNum = 0 ; /* 文件IN.DAT有多少個正整數 */
int totCnt = 0 ; /* 符合條件的正整數的個數 */
double totPjz = 0.0 ; /* 平均值 */
int ReadDat(void) ;
void WriteDat(void) ;
void CalValue(void)
{
}
void main()
{
clrscr() ;
if(ReadDat()) {
printf(“數據文件IN.DAT不能打開!07 ”) ;
return ;
}
CalValue() ;
printf(“文件IN.DAT有正整數=%d個 ”, totNum) ;
printf(“符合條件的正整數的個數=%d個 ”, totCnt) ;
printf(“平均值=%.2lf ”, totPjz) ;
WriteDat() ;
}
int ReadDat(void)
{
FILE *fp ;
int i = 0 ;
if((fp = fopen(“in.dat”, “r”)) == NULL) return 1 ;
while(!feof(fp)) {
fscanf(fp, “%d,”, &xx[i++]) ;
}
fclose(fp) ;
return 0 ;
}
void WriteDat(void)
{
FILE *fp ;
fp = fopen(“OUT8.DAT”, “w”) ;
fprintf(fp, “%d %d %.2lf ”, totNum, totCnt, totPjz) ;
fclose(fp) ;
}
4./* 編寫一個函數findstr(),該函數統計一個長度為2的子字符串在另一個字符串中出現的次數。例如,假定輸入的字符串為“asd asasdfg asd as zx67 asd mklo”,子字符串為“as”,則輸出6。 函數ReadWrite()實現從文件in1.dat中讀取兩個字符串,并調用函數findStr(),最后把結果輸出到文件out1.dat中
注意:部分源程序存在文件PROG1.C中2016最新全國計算機四級機試試題及答案計算機考試。請勿改動主函數main()和其它函數中的任何內容,僅在函數findStr()的花括號中填入你編寫的若干語句。*/
#include
#include
#include
int findStr(char *str,char *substr)
{
}
main()
{
char str[81], substr[3] ;
int n ;
clrscr() ;
gets(str) ;
gets(substr) ;
puts(str) ;
puts(substr) ;
n=findStr(str, substr) ;
printf(“n=%d ”, n) ;
ReadWrite() ;
}
ReadWrite()
{
char str[81], substr[3], ch;
int n, len, i = 0;
FILE *rf, *wf ;
rf = fopen(“in1.dat”, “r”) ;
wf = fopen(“out1.dat”, “w”) ;
while(i 《 5) {
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) ;
}
5./* 請編寫函數Void countValue(int *a,int *n),它的功能是:求出1到1000之內能被7或11整除但不能同時被7和11整除的所有整數,并放在數組a中,然后通過n返回這些數的個數。
注意:部分源程序存入在PROG1.C中。
請改動主函數main()和輸入輸出數據函數WriteDAT()的內容。*/
#include
int cnt, sum ;
void countValue()
{
}
void main()
{
cnt = sum = 0 ;
countValue() ;
printf(“素數的個數=%d ”, cnt) ;
printf(“滿足條件素數值的和=%d”, sum) ;
writeDAT() ;
}
writeDAT()
{
FILE *fp ;
fp = fopen(“OUT6.DAT”, “w”) ;
fprintf(fp, “%d %d ”, cnt, sum) ;
fclose(fp) ;
}
以下是為全國計算機四級考試模擬的十道選擇題和十道判斷題,這些內容涵蓋了計算機科學的多個基礎領域,包括數據結構、算法、操作系統、計算機網絡等。請注意,這些題目是為了模擬考試而設計的,并非真實考題。
選擇題
下列哪種數據結構最適合用于實現優先級隊列?
A. 鏈表
B. 二叉搜索樹
C. 堆
D. 哈希表
在數據庫管理系統中,哪種鎖模式允許多個事務并發讀取同一數據,但不允許修改?
A. 排他鎖
B. 共享鎖
C. 意向鎖
D. 行級鎖
TCP/IP協議棧中,負責數據分段和重組的層是?
A. 數據鏈路層
B. 網絡層
C. 傳輸層
D. 應用層
下列哪個算法是用于查找無序數組中的元素的最壞情況時間復雜度為O(n)的算法?
A. 二分查找
B. 線性查找
C. 快速排序
D. 歸并排序
在操作系統中,哪個概念描述了進程從創建到終止的整個生命周期?
A. 進程狀態
B. 進程控制塊
C. 進程生命周期
D. 進程調度
下列哪個不是面向對象編程的基本特征?
A. 繼承
B.封裝
C. 多態
D. 抽象數據類型
在計算機網絡中,哪一層協議負責數據的加密和解密?
A. 物理層
B. 數據鏈路層
C. 網絡層
D. 表示層(OSI模型)或應用層(TCP/IP模型)
下列哪種排序算法的平均時間復雜度為O(n log n)?
A. 冒泡排序
B. 選擇排序
C. 插入排序
D. 快速排序
數據庫中的ACID特性不包括以下哪一項?
A. 原子性
B. 一致性
C. 隔離性
D. 持久性(但可包括如“可恢復性”這樣的非ACID特性作為干擾項)
在軟件開發中,瀑布模型是一種什么類型的軟件開發過程模型?
A. 增量式
B. 迭代式
C. 順序式(或線性式)
D. 基于組件的
判斷題
在數據庫中,索引可以提高查詢速度,但會降低插入、刪除和更新操作的速度。(對/錯)
棧是一種后進先出(LIFO)的數據結構。(對/錯)
TCP協議是一種面向連接的、可靠的、基于字節流的傳輸層協議。(對/錯)
在面向對象編程中,一個類可以繼承多個父類(多重繼承)。(注意:此題可能因編程語言而異,但多數主流語言如Java不支持多重繼承,而C++支持。此處假設為一般情境下的判斷)(對/錯)
哈希表的時間復雜度在平均情況下為O(1)。(對/錯)
在操作系統中,進程是資源分配的基本單位,而線程是CPU調度的基本單位。(對/錯)
快速排序算法在最壞情況下的時間復雜度為O(n^2)。(對/錯,但注意通過隨機化或其他優化策略可以降低最壞情況發生的概率)
在計算機網絡中,MAC地址是用于網絡層的數據鏈路層地址。(對/錯,MAC地址是數據鏈路層地址,IP地址是網絡層地址)
數據庫中的范式是用來規范化數據庫設計,以減少數據冗余和提高數據一致性的一組規則。(對/錯)
在軟件開發過程中,敏捷開發方法強調快速迭代、用戶反饋和持續改進。(對/錯)
答案提示:
選擇題答案:1.C 2.B 3.C 4.B 5.C(或理解為進程存在的完整過程,但C更直接相關)6.D 7.D(OSI模型中的表示層或TCP/IP模型中的應用層,但表示層在TCP/IP中不直接對應加密,故通常指應用層)8.D 9.非ACID特性(如“可恢復性”)為錯,ACID為對 10.C
判斷題答案:1.對 2.對 3.對 4.錯(多數主流語言不支持多重繼承)5.對 6.對 7.對(但可通過優化降低概率)8.錯(MAC地址是數據鏈路層地址)9.對 10.對
【最新全國計算機四級機試試題及答案】相關文章:
2016最新全國計算機四級機試試題及答案08-29
2016全國計算機等級四級機試試題及答案07-27
2016計算機四級機試試題及答案06-05
最新全國計算機四級模擬試題08-28
2016年計算機四級機試試題及答案09-13
3月計算機四級機試試題及答案01-23
2016最新全國計算機四級模擬試題07-10
2016全國計算機四級考試試題及答案08-12
全國計算機等級考試四級試題精練及答案10-23