文档介绍:计算机等级考试上机辅导
——二级c语言
第一部分:填空题
一、初始化(初始条件)
变量初始化
二、if或循环语句的判断条件(逻辑表达式)
三、程序语句
第一部分:填空题
#include <> (63套)
main()
{
int i = 0;
char *str[3] = {"adefj", "ehfkn", "opwxres"};
char **p;
char s[3];
___1___;--------初始化指针p=str
for (i=0; i<3; i++)
{
s[i] = *p[i];
while (*p[i])
{ if (s[i] < *p[i])
s[i] = *p[i];
___2___; }
}
___3___;------字符串结束的标志
printf(" new string \n");
puts(s);
}
#include <>(100套)
#define N 80
void fun(char s[], int n)
{
int i, k;
___1___;
for (i=0; i<n; i++)
{
s[k++] = s[i];
if ((i%2==0) ___2___ (i%3==0))
k--;
}
___3___;
}
第一部分:填空题
变量初始化k=0
逻辑运算符“||”
字符串结束标志s[k]=‘\0’或s[k]=0
第一部分:填空题
#include <>(73套)
#define N 10
main()
{
int bb[N][N];
int i, j, n;
printf(" \nInput n:\n");
scanf("%d", &n);
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
___1___;
if (i == j)
bb[i][j] = ___2___;
if (___3___) 逻辑表达式的正确书写
bb[i][j] = 1;
}
printf(" \n***** the result ******* \n");
for (i=0; i<n; i++)
{
printf(" \n\n");
for (j=0; j<n; j++)
printf("%4d", bb[i][j]);
}
第二部分改错题
一、上机改错题的特点和注意事项
(或三个)错误需要修改。“******found******/”来提示在下一行(或下面第二行)有错。,也有些试题要求把语句添加在下划线处。 :只能在出错的行上进行修改,不要改动程序行的顺序,更不要自己另编程序。
#include <>(73)
#include <>
double fun(int m)
{
double t = ;
int i;
/********found********/
for (i=2; i<=m; i++)
t = - 1/i;
/********found********/
___填空___
}
return t;
二、上机改错测试时,建议按以下步骤进行
,了解试题的要求,看清楚试题给出的输入和输出例示,以便检验改错后程序运行的结果是否正确。 ,审视“/******found******/”所在函数,根据题义理解程序所采用的基本算法,做到心里有数。 。当编译提示有语法错时,可参考编译提示来查找并改正错误。 ,执行, 按照试题的示例给出的数据进行试算,若试算的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出结果不同,就应进一步检查程序中的逻辑错误。
,首先应当理解题意、读懂程序的算法,必要时可按步检查数据的流程,以便确定错误所在。
例如,题目要求数据按由小到大排序,而结果数据是按由大到小进行了排序,问题可能出现在条件判断上。
又如,输出的字符串比预期的短,就有可能字符串的结束标志放错了位置。
再如做循环的时候数组上限下限错误了,基数是从0开始而不是1开始的。
修改程序中的逻辑错时,要求考生认真读懂程序代码。
,得到正确结果后,一定不要忘记把修改后的程序存盘。
常见的错误总结:
1、若错误行是函数首部,可分为以下几种情况:
A、该行最后若有分号