📄 czda011.txt
字号:
二级C语言部分上机模拟试卷及答案
说明:1.二级C语言部分上机模拟试卷共4个题,满分为
100分,60分及格。前两题为DOS操作题,每题15分,共计30
分;后两题为C语言编程题或调试题,分别为40分和30分,
共计70分。
2.测试时间为60分钟。
一、DOS操作题
1 在当前目录下建立一个子目录ASDF。
*** 答案:MD ASDF
2 删除当前目录下ASD\BNG中的文件QW.DAT。
*** 答案:DEL ASD\BNG\QW.DAT
二、调试修改程序题
下面程序中函数fun的形参数组s中传送过来的是80到89分
的学生成绩,函数fun的功能是:统计80到89分各数的人数。
例如:若输入:80 88 81 84 88 84 84 81 88 82 82 -1
则输出应该是:
80:1 81:2
82:2 83:0
84:3 85:0
86:0 87:0
88:3 89:0
注意:用-1结束输入
请改正函数fun中的错误,使它能得出正确的结果。注
意:不要改动main函数,不得更改程序的结构!
#include<conio.h>
#include<stdio.h>
#define N 20
/* 错误在fun函数中 */
fun(int s[N], int n, int num[])
{
int k, t;
for(k=0; k<n; k++)
{t=s[k]-80; num[t]++}
}
main()
{int s[N], n[10], i=0, a;
clrscr();
printf("\nPlease enter the mark:");
scanf("%d", &a);
while(a>0)
if (a>=80 && a<=89)
{s[i]=a; i++; scanf("%d", &a); }
fun(s, i, n);
for(i=0; i<10; i++, i++ )
printf("%d %d %d %d\n", 80+i, n[i],
81+i, n[i], 81+i, n[i+1]);
printf("\n");
}
*** 答案:对fun子程序进行修改,修改以后的程序如下:
*** fun(int s[N], int n, int num[])
*** {int k, t;
*** for(k=0; k<10; k++) num[k]=0;
*** /* 在此添加一行 */
*** for(k=0; k<n; k++)
*** {t=s[k]-80; num[t]++};/*在此加一个;号*/
*** }
三、编程题
请编一个函数int fun(* char ss),它的功能是:把ss字
符串中的字符按逆序存放。例如:若输入字符串为ABCDE
FG,则逆置后的字符串为GFEDCBA。请勿改动主函数
main和其它函数中的任何内容,仅在函数fun的花括号中填入
你编写的若干语句。
#include <conio.h>
#include <stdio.h>
#define M 81
int fun(char *ss)
{
/*答案开始 */
┇
┇
/*答案结束 */
}
main()
{char *a;
clrscr();
printf("\nPlease enter a string:"); gets(a);
fun(a);
printf("\nThe new string is:%s\n", a);
}
*** 答案:在函数fun中添加程序段如下:
*** int fun(char *ss)
*** {
*** /*参考答案开始 */
*** char *b,t;
*** b=ss;
*** while (*ss) ss++;
*** ss--;
*** while (b<ss)
*** { t=*ss; *ss=*b; *b=t; ss--; b++;}
*** /*参考答案结束 */
*** }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -