资源描述:
《三级上机考试题型分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、三级网络、三级信息技术和三级数据库技术上机考试题介绍上机考试究竟考什么、怎样考对于考生来说是至关重要的。这里对历届上机考试题库中的试题仔细分析,总结出上机考试的重点、难点。上机考试考查的是C语言在VisualC++6.0环境下的基本技术、编程和调试。考生应在掌握C语言基础知识的基础上,多进行上机练习。根据考查知识点及题型,我们认为上机考试有以下几种类型:1.销售记录排序问题2.4位数排序和筛选问题3.数据排序问题4.数学类问题5.英文文章、字符串操作问题6.选票问题下面给出以上几种类型抽中的概率:大类名称小类名称抽中概率销售记录排序(结构体)问题10%
2、4位数排序或筛选问题根据数位数字的关系排序13%组和成新的十位数字后再筛选排序8%统计及求平均值4%4位数字之间比较后再统计排序4%数据排序问题5%数学类问题数学计算类5%范围查找类8%统计及求平均值13%字符串操作类问题字符串替代10%字符串更改或移动11%字符串排序及调换6%选票问题3%现在对这些题型进行分析及解答。第一套销售记录排序问题试题内容已知在文件INT.DAT中有100个产品记录,每个产品由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)、几部分组成。其中:金额=单价×数量。
3、函数ReadDat()的功能是读取这100个记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进行排列,最终结果仍存在入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。注意:部分源程序已给出。请勿改动主函数main()、读函数ReanDat()和写函数WriteDat()的内容。【题型分析】本题考查结构体数组的排序。考查的知识点包括:结构体成员的运算,字符串的比较,数组排序。【解题思路】解题时,应注意3个关键点:关键点1如何按产品名称
4、从大到小排序;关键点2如果产品名称相同;关键点3如何按金额从小到大排列。数组排序可以用冒泡法实现,冒泡法的思路是:将较大的值像空气一样逐渐“上浮”到数组的顶部,而较小的的数值逐渐“下沉”到数组的底部。具体为第一趟用第1个记录第2个记录进行比较,如果第1个记录小于第2个记录,就进行交换,然后用第1个记录和第3个记录比较,直到第1个记录和最后1个记录比较完成,这样完成1趟比较后,第1个记录的值就不小于后面所有记录的值,比较了99次;第2趟用第2个记录和3个记录比较,直到最后1个记录,比较了98次,以此类推。本题一共需要比较99趟,每趟比较n-j次。在双循环
5、中进行每次记录比较时,首先用字符串比较函数strcmp比较两个产品的名称,strcmp(sell[i].dm,sell[j].dm)的函数值返回值为一个整数,若比较的两个字符串相等返回0,前者大于后者返回一个正整数,前者小于后者返回一个负整数。程序的流程是:首先调用memset()函数,该函数的功能是将sell数组的前sizeof(sell)个字节的值赋为0。然后调用ReadDat()函数读入数据到结构体数组sell中。由考生编制的SortDat()函数处理后,再由WriteDat()函数写回文件OUT.DAT中。所以,在查看结果时,这一题在屏幕上是没
6、有显示的,而需要考生打开OUT.DAT文件进行查看。IN.DAT原始数据片段如下:1001软件世界51001002计算机用户61201003网上生活2711004网络互连45101005威宝3.55100010063M3.531501007办公自动化901001008JAVA48151009中文WORD9768101010EXCLE97981031011OFFICE97108181012ACCESS64781013二级BASIC65661014二级PASCAL66891015二级C67991016二级FOR66121017二级FOX661001018A
7、UTOCAD988711019PhotoShop68641020一级781011021一级B类9810001022三级A类787651023三级B类788881024四级886661025INTERNET5818581001软件世界51011002计算机用户61201003网上生活27311004网络互连451000源程序及题解如下:#include#include#include#defineMAX100typedefstruct{chardm[5];/*产品代码*/charmc[11];/*
8、产品名称*/intdj;/*单价*/intsl;/*数量*/longje;/*金额*/}PRO