计算机三级(C语言)上机考试题型总结与注意事项(讲解详细).
C语言 三级上机考试题型总结与注意事项
按前面的分题型讲解,三级上机考试100道题被分为9大题型。每种题型在题库中占的比例也已经在题型名字后面的括号中注明。
题型一、结构体数组排序问题(11%)
题型二、对四位数先筛选再处理的问题(35%)
题型三、整数处理问题(17%)
题型四、对字符数组中的字符进行替换的问题(18%)
题型五、对字符串数组进行排序的问题(6%)
题型六、特殊排序问题(5%)
题型七、二次排序问题(2%)
题型八、选票统计问题(3%)
题型九、数列问题(3%)
注意事项:
应考策略:
1、 首先仔细审题,看清题目要求,避免眼高手低。
2、 在头文件下面,看清试题程序中已经定义的变量及其类型。
3、 试题程序中已经定义的结果变量不要重复定义(中间变量没关系)。
4、 看清试题程序中定义好的变量后,注意试题程序中有没有进行初始化。重复初始化没关系,但是不进行初始化会出问题。
5、 按照题目要求,仔细分析,平稳答题,时间绝对够用。
6、 答完题先保存,再编译,有语法错误则改正,编译通过后则运行。
7、 以运行结果为准,检查是否具有题目要求的功能,以排除逻辑错误。
8、 时间很充足,急着早交卷没用,确定无误后再交卷。
常见小错误
1、 字符串的比较没有使用strcmp()函数。
2、 把等号错写为赋值符号。
3、 在程序进行中,尤其是多次循环的程序中,没有考虑到变量值的变化。
4、 没有注意循环的作用范围,少写{}。
5、 没有注意运算符的优先级。
还有很多其它的小错误,在上机的过程中会出现。不上机运行,总是会有想不到的错误,
多上机运行,也可以发现很多小技巧。
常用运算符优先级(从高到低)
1、[ ] 。(结构体成员引用运算符)
2、++ -- -(负号) ( )(强制转换运算符) *(指针运算符) &(取地址运算符)
3、 *(乘) / %
4、 + -
5、 << >>
6、 < <= > >=
7、 == !=
8、 &&
9、 ||
10、 = += *= /= %=(赋值运算符号)
11、 ,(逗号)
C语言 三级上机考试中最常用的基础知识:
2010-04-22 21:51一、上机考试题中的常用操作
上机考试题中有许多操作经常用到,以下是几种非常常用的,还有一些更细节的东西在以后的具体题目中会着重分析。
1、对数组元素进行排序
如对数组a[N]进行从小到大排列(或叫升序排列),程序如下:
int i,j,t;
for(i=0;i
for(j=i+1;j
if(a[i]>a[j])
t=a[i],a[i]=a[j],a[j]=t;
程序思路解析:
从数组中的第一个元素开始,与它后面的所有元素依次进行比较,如果发现前面的比后面的大,就进行交换,否则不进行处理。a[0]将是N个元素中最大的,a[1]将是除a[0]以外的元素中最大的。这样一直到倒数第二个元素。最后一个元素后面没有元素了,所以i
(其实这里写成i
这种操作的特点:
当i变化以后,第i个元素之前的元素就已经确定了,只有后面的元素才会在程序往下执行时发生变化。比如对数据3,2,1,6,5进行升序排列,程序执行时数据的状态变化为:
1,x,x,x,x
1,2,x,x,x
1,2,3,x,x
1,2,3,5,6
所以说,如果要求将a[N]中最小的10个元素按从小到大的顺序排列到数组的前部的话,则只须对数组的前10个元素进行处理,相应的程序改为:
int i,j,t;
for(i=0;i<10;i++)
for(j=i+1;j
if(a[i]>a[j])
t=a[i],a[i]=a[j],a[j]=t;
而不必对i>=10 的元素处理。
这种操作在三级考试题中经常用到。其中的交换条件,也就是if()中的内容,根据问题的要求会有所变化;比如把从小到大改为从大到小,或者改为按元素对10求余的余数大小进行从小到大排列,相应的程序中if()语句改为:
if(a[i]
t=a[i],a[i]=a[j],a[j]=t;
或:
if(a[i]%10>a[j]%10)
t=a[i