江蘇省高等學校非計算機專業學生
計算機基礎知識和應用能力等級考試上機試卷(2023年春)
二級 c語言 (試卷代號c01)
(本試卷完成時間 70分鐘)
一、改錯題(16分)
【程式功能】
實數x可表示為x=±m×10±n 形式,稱其中的±m為尾數,±n為指數。
以下程式中,tail函式將形式引數x中儲存的非零正實數分解為上述表示形式(尾數±m中m的值域為0.1≤m<1),將指數儲存到形式引數n指向的變數中,將尾數作為函式返回值。
【測試資料與執行結果】
測試資料:x=-0.001234
螢幕輸出:-0.123400e-2 (注:尾數為-0.123400,指數為-2)
含有錯誤的源程式:
以下源程式已儲存在t盤檔案內,考生可直接開啟該檔案除錯程式。
#include<>
#include<>
double tail(double x,int n)
while(x<0.1)
*n=m;
return x;
}int main()
while(0 = x
if(x<0)
m=tail(x,&n);
m=x_sign*m;
printf("%lfe%d",m,n);
getch();
return 0;
}【要求】
1. 開啟t盤中的檔案或將上述程式錄入到檔案中,根據題目要求及程式中語句之間的邏輯關係對程式中的錯誤進行修改。
2. 改錯時,可以修改語句中的一部分內容,調整語句次序,增加少量的變數說明或編譯預處理命令,但不能增加其他語句,也不能刪除整條語句。
3. 改正後的源程式(檔名儲存在t盤中供閱卷使用,否則不予評分。
二、程式設計題(24分)
【程式功能】
輸入乙個字串,從中依次取出連續的數字字元作為乙個字串,並將其首字元按下列要求做變換:若是『0』則變為『+』,若是『1』則變為『-』,其他情況下不作變換;然後將取出的所有數字串輸出。
例如,輸入字串「we112are35*045chinese.」,輸出的數字串依次為:-12、35和+45。
【程式設計要求】
1.定義符合常量n表示20。
2.編寫int getnum (char str,char w[n])函式。函式功能:
從str指向的字串中逐個取出數字串,對每個數字串的第乙個數字字元按上述要求做變換,然後存放到w指向的二維字元陣列中(每行存放乙個數字串),函式返回w陣列中存放的數字串個數。
3.編寫main函式。函式功能:
宣告一維字元陣列str和二維字元陣列w,用測試資料初始化str陣列,以陣列str、w為實參呼叫getnum函式,將w陣列中所有數字串輸出到螢幕及檔案中。最後將考生本人的准考證號輸出到檔案中。
【測試資料與執行結果】
測試資料:we112are35*045chinese.
螢幕輸出:-12 35 +45
【要求】
1. 源程式檔名為檔案中,輸出結果檔名為
2. 資料檔案的開啟、使用、關閉均用c語言標準庫中的檔案操作函式實現。
3. 源程式檔案和執行結果檔案均需儲存在t盤中供閱卷使用。
4. 不要複製副檔名obj和exe的檔案到t盤中。
說明:以下上機試卷的要求相同,略。
江蘇省高等學校非計算機專業學生
計算機基礎知識和應用能力等級考試上機試卷(2023年春)
二級 c語言 (試卷代號c02)
(本試卷完成時間 70分鐘)
一、 改錯題(16分)
【程式功能】
按c語言課程成績由低到高對若干個學生的資料記錄排序。
【測試資料與執行結果】
測試資料:
0101 jean 89
0102 d**id 95
0103 ruth 68
0104 mary 76
螢幕輸出:
no name c
0103 ruth 68
0104 mary 76
0101 jean 89
0102 d**id 95
含有錯誤的源程式
以下源程式已儲存在t盤檔案內,考生可直接開啟該檔案除錯程式。
#include <>
#include <>
#define n 4
struct student
;void output(struct student studs,int n);
void sort(struct student studs,int n);
int main()
,, ,};
sort(studs,n);
output(studs,n);
getch();
return 0;
}void output(struct student studs,n)
}void sort(struct student studs,int n)
}二、程式設計題(24分)
【程式功能】
找出滿足下列條件的乙個整數:
(1)該整數的十進位制表示是乙個三位數abc,且a>b>c>0;
(2)交換a、c位置後得到乙個新的三位數,該數比原數小495;
(3)對abc作全排列得到的6個三位數之和為2886。
提示:從n個不同元素中任取m個元素(m<=n)按照一定的順序排列起來,被稱為從n個不同元素中取出m個元素的乙個排列。當m=n時的排列被稱為全排列。
n個互不相同的元素可產生n!個全排列。
【程式設計要求】
1.編寫int sear(int x)函式。函式功能:找出滿足上述條件的所有整數並依次儲存到x指向的陣列中,函式返回滿足條件的整數個數。
2.編寫main函式。函式功能:宣告乙個長度為10的一維陣列,用該陣列作實參呼叫sear函式,將陣列中的結果資料輸出到螢幕及檔案中。最後將考生本人的准考證號輸出到檔案中。
【測試資料與執行結果】
螢幕輸出:742
江蘇省高等學校非計算機專業學生
計算機基礎知識和應用能力等級考試上機試卷(2023年春)
二級 c語言 (試卷代號c03)
(本試卷完成時間 70分鐘)
一、 改錯題(16分)
【程式功能】
函式int find(char *s,int *min)從s指向的字串中找出所有由連續數字字元組成的整數中的最大數與最小數,將最小數儲存到形參min指向的變數中,函式返回最大數。
【測試資料與執行結果】
測試資料:123wer56u80as34wef890wq234r2t67
螢幕輸出:max is 890,min is 2
含有錯誤的源程式
以下源程式已儲存在t盤檔案內,考生可直接開啟該檔案除錯程式。
#include <>
#include <>
int find(char *s, int *min)
,zhs=0;
while(s[i]!=\0)
if(flag)
zhs=0;
for(j=0;jzhs=zhs*10+(word[j]-'0');
sz[szs++]=zhs;
flag=0;
count=0;
}i++;
}max=sz[0];
min=sz[0
二級C語言上機考試
前面為填空題題目,後面同序號依次為此套題的填空題 改錯題 程式設計題答案 3 給定程式中,函式fun的功能是 計算形參x所指陣列中n個數的平均值 規定所有數均為正數 作為函式值返回 並將大於平均值的數放在形參y所指陣列中,在主函式中輸出。例如,有10個正數 46 30 32 40 6 17 45 1...
二級C語言上機考試改錯題總結
根據本人多年研究全國計算機等級考試二級c語言,發現很多考生對上機考試存在很大的問題。現將本人在教學當中對二級c語言上機考試題庫總結的經驗和大家分享,希望能對我們考生的考試有所幫助,順利通過考試!以下是對上機考試改錯題的做題方法和總結,改錯題的錯誤主要分為以下幾類 1 if或while語句 若錯誤行是...
二級C語言上機考試改錯題總結
8 函式首部類問題 若錯誤行是函式首部,則要注意 1 首先看該行最後有沒有分號,若有則刪掉分號 若中間有分號則要改為逗號 2 形參和實參型別不一致問題 若實參是個位址或陣列名或指標變數名,則對應的形參肯定是指標或陣列 若實參是二維陣列名,則對應的形參應該是指標陣列或是二維陣列 若後面用到某形參的時候...