文档详情

二级C上机之填空题做题方法及技巧.doc

发布:2017-05-16约1.59万字共17页下载文档
文本预览下载声明
二级C语言上机填空题做题方法和技巧总结 填空题之方法 上机填空题占30分,一般有3个空需要填写,每个空为10分; 填空题做题之前必须弄清题目含义,抓住关键字,例如:要求对数组进行从小到大排序,则将会出现大于符号,如果是从大到小排序则出现小于符号; 填空题中出现频率最高的就是函数的调用、函数的首部、函数的返回值等和函数相关的问题,因此必须牢牢掌握祝函数的基本特征; 填空题中有的“空”比较难,考生除了掌握必须的C语言知识之外,还需要很好的逻辑思路,如果一个空将花很多时间来解决,那么建议使用“死记硬背”的方法来缩短复习时间; 上机题库中100题有部分题目是重复的或是相似的题目很多,同学们要使用比对的方法尽量去理解; 多练习,多思考,多总结 填空题之结构体相关考点 结构体成员引用:上机题库P18第9题(和92题一致),P27第23题(和51题一样) 读清楚题目要求: 要求将形参a所指结构体变量的数据赋值给函数中的结构体变量b; 从例如可以看出来:结构体中的学号和姓名变为了1002和“LiSi”,但是3门课成绩没有变化; 代码分析: #include stdio.h #include string.h struct student { long sno; char name[10]; float score[3]; }; void fun(struct student a) /*fun函数首部,函数返回void,有一个形参a,a是一个结构体类型,形参a和类型必须和实参s的类型一致*/ { struct student b; int i; /**********found**********/ b = __1__; /*题目要求将形参a的值赋值给结构体变量b,因此填:a*/ b.sno = 10002; /*将10002赋值给b.no,因此结构体变量b的学号变为了10002*/ /**********found**********/ strcpy(__2__, LiSi); /*姓名要变为”LiSi”,则要引用b中的name成员,因此填入b.name*/ printf(\nThe data after modified :\n);/*讲解是一句带过不用多讲*/ printf(\nNo: %ld Name: %s\nScores: ,b.sno, b.name); /*讲解是一句带过不用多讲*/ /**********found**********/ for (i=0; i3; i++) printf(%6.2f , b.__3__); /*分析:这个是一个循环语句,执行3次循环,printf(%6.2f , b.__3__)要求输出是一个实型数据的成员,因此可以得知是score成员,因为score是一个数组,因此填:b.score[i],当i变化就可以取出第一门、第二门、第三门课的成绩*/ printf(\n); } main() { struct student s={10001,ZhangSan, 95, 80, 88}; /*考试必须了解的定义部分定义的内容*/ int i; printf(\n\nThe original data :\n); printf(\nNo: %ld Name: %s\nScores: ,s.sno, s.name); for (i=0; i3; i++) printf(%6.2f , s.score[i]); printf(\n); fun(s); /*调用fun函数,传入实参,实参和形参必须一 一对应,类型和个数必须一致*/ } 23题: 从例如中可以看出:变化的是结构体中的学号和姓名 #include stdio.h #include string.h struct student { long sno; char name[10]; float score[3]; }; void fun( struct student *b) { int i; /**********found**********/ b__1__ = 10004; /*题目中t的学号变化为了10004,因此填写:b-sno,不能填写b.sno,因为b是一个指针*/ /**********found**********/ strcpy(b__2__, LiJie); /*t的姓名变为了”LiJie”,因此填写:b-name*/ } main() { struct student t={10002,ZhangQi, 93, 85, 87}; int i
显示全部
相似文档