全国计算机等级考试二级C机试试题14.doc_第1页
全国计算机等级考试二级C机试试题14.doc_第2页
全国计算机等级考试二级C机试试题14.doc_第3页
全国计算机等级考试二级C机试试题14.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机等级考试二级C机试试题14一、填空题程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的功能是:将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。例如,a所指变量中的学号、姓名和三门课的成绩依次是:10001、ZhangSan、95、80、88,则修改后输出b中的数据应为:10002、LiSi、95、80、88。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include struct student long sno; char name10; float score3;void fun(struct student a) struct student b; int i;/*found*/ b = _1_; b.sno = 10002;/*found*/ strcpy(_2_, LiSi); printf(nThe data after modified :n); printf(nNo: %ld Name: %snScores: ,b.sno, );/*found*/ for (i=0; i3; i+) printf(%6.2f , b._3_); printf(n);main() struct student s=10001,ZhangSan, 95, 80, 88; int i; printf(nnThe original data :n); printf(nNo: %ld Name: %snScores: ,s.sno, ); for (i=0; i3; i+) printf(%6.2f , s.scorei); printf(n); fun(s);二、改错题下列给定程序中函数fun的功能是:删除s所指字符中所有的小写字母c 。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!#include void fun( char *s ) int i,j; for(i=j=0; si!=0; i+) if(si!=c)/*found*/ sj=si;/*found*/ si=0;main() char s80; printf(Enter a string: ); gets(s); printf(The original string: ); puts(s); fun(s); printf(The string after deleted : ); puts(s);printf(nn);三、编程题规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到字符串的尾部。例如,字符串中的内容为:*A*BC*DEF*G*,移动后,字符串中的内容应当是:A*BC*DEF*G*。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include void fun( char *a )main() char s81; int n=0; printf(Enter a string:n);gets(s); fun( s ); printf(The string after moveing:n);puts(s);答案一、填空题【参考答案】(1) a(2) (3) scorei【考点分析】本题考查:结构体数据类型;strcpy字符串拷贝函数。【解题思路】填空1:题目要求先将形参a所指结构体变量中的数据赋给函数中的结构体变量b,所以此处ba。填空2:通过strcpy函数修改b中的学生姓名,注意结构变量成员的表示方法。填空3:printf函数输出结果。【解题宝典】结构变量成员的一般形式是:结构变量名成员名例如:student1.num即第一个学生的学号student2.sex即第二个学生的性别二、改错题【参考答案】(1)sj+=si;或sj=si;j+;(2)sj= 0;【考点分析】本题考查:数组元素下标;字符串结束标识0。【解题思路】由循环条件if(si!c)可知,如果字符串中的字符不是c,则将保留该字符到sj位置,然后下标j进行加1操作。循环结束后要在新串的结尾加上0。三、编程题【参考答案】void fun( char *a )int i=0,n=0;char *p;p=a;while (*p=*) /*判断*p是否是*号,并统计*号的个数*/ n+;p+;while(*p) /*将前导*号后的字符传递给a*/ ai=*p;i+;p+;while(n!=0)ai=*;i+;n-;ai=0;【考点分析】本题考查:移动字符串中指定字符的位置,一般采用while循环语句,通过指针型变量来完成。【解题思路】函数fun的功能:将字符串

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论