?? caoz012.txt
字號:
二級C語言部分上機模擬試卷及答案
說明:1.二級C語言部分上機模擬試卷共4個題,滿分為
100分,60分及格。前兩題為DOS操作題,每題15分,共計30
分;后兩題為C語言編程題或調(diào)試題,分別為40分和30分,
共計70分。
2.測試時間為60分鐘。
一、DOS操作題
1 將當前目錄下的目錄POK\MNH中的文件VGF.TXT
復制到目錄BGF\CDF中,新文件名為HKJ.DAT。
*** 答案:COPY POK\MNH\VGF.TXT
*** BGF\CDF\HKJ.DAT
2 將當前目錄下的目錄HGY\ASR中的文件NEW.TXT
設置為只讀文件屬性。
*** 答案:ATTRIB +R HGY\ASR\NEW.TXT
二、調(diào)試修改程序題
下面程序中函數(shù)fun的功能是:在含有10 個元素的s數(shù)組中
查找最大數(shù),及最大數(shù)所在位置(即,下標值),最大數(shù)可能
不止一個。最大數(shù)作為函數(shù)值返回,最大數(shù)的個數(shù)通過指針
變量n傳回,所在位置由數(shù)組pos傳回。
例如:
若輸入 2 8 5 7 8 4 5 3 2 8
則應輸出:
The max: 8
The positions: 1 4 9
請改正函數(shù)fun中的錯誤,使它能得出正確的結(jié)果。注意:
不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)
構(gòu)!
#include<stdio.h>
#include<conio.h>
#define M 10
/ * 錯誤在fun 函數(shù)中 */
int fun(int *a, int *n, int pos[])
{
int i, k, max=32767;
for(i=0; i<M; i++)
if(a[i]>max) max=a[i];
for(i=0; i<M; i++)
if(a[i]= = max) pos[k++]=i;
*n=k
return max;
}
main()
{
int a[M], pos[M], i=0, j, n;
clrscr();
printf("Enter 10 number :");
for(i=0; i<M; i++)scanf("%d", a+i);
j=fun(a, &n, pos);
printf("The max: %d\n", j);
printf("The position:");
for(i=0; i<n; i++ ) printf("%4d", pos[i]);
printf("\n");
}
*** 答案:對fun子程序進行修改,修改以后的程序如下:
*** int fun(int *a, int *n, int pos[])
*** {
int i, k, max=-32768;/*出錯在max=32767*/
*** for(i=0; i<M; i++)
*** if(a[i]>max) max=a[i];
*** for(i=0; i<M); i++)
*** if(a[i]==max) pos[k++]=i;
*** /*出錯在==的兩=號之間有空格*/
*** *n=k; /*缺少;號*/
*** return max;
*** }
三、編程題
請編寫函數(shù)fun(char *str, int num[10]),它的功能是:
分別找出字符串中每個數(shù)字字符(0,1,2,3,4,5,6,7,
8,9)的個數(shù),用num[0]來統(tǒng)計字符0的個數(shù),用num[1]來統(tǒng)
計字符1的個數(shù),…,用num[9]來統(tǒng)計字符9的個數(shù)。字符串
由主函數(shù)從鍵盤讀入。
請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)
fun的花括號中填入你編寫的若干語句。
#include <conio.h>
#include <stdio.h>
#include <string.h>
void fun(char * str, int *num)
{
/*答案開始 */
┇
┇
/*答案結(jié)束 */
}
main() / * 主函數(shù) * /
{
char s[81];
int num[10], i;
clrscr();
printf("\nPlease enter 1 line strings(1--9):\n");
gets(s);
fun(s, num);
for(i=; i<10; i++, i++)
printf("%d: %3d %d: %3d\n", i, num[i],i+1, num[i+1]);
}
*** 答案:在函數(shù)fun中添加程序段如下:
*** void fun(char * str, int *num)
*** {
*** /*參考答案開始 */
*** int i;
*** for(i=0;i<10;i++) num[i]=0;
*** while ( *str!='\0')
*** { if( *str<='9'&& *str>='0')
*** num[*str-'0']++;
*** str++;
*** }
*** /*參考答案開始 */
*** }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -