[计算机类试卷]国家二级(C语言)机试模拟试卷358及答案与解析.doc

上传人:ideacase155 文档编号:503117 上传时间:2018-11-29 格式:DOC 页数:6 大小:31KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)机试模拟试卷358及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级(C语言)机试模拟试卷358及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级(C语言)机试模拟试卷358及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级(C语言)机试模拟试卷358及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级(C语言)机试模拟试卷358及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级( C语言)机试模拟试卷 358及答案与解析 一、程序填空题( 30分) 1 给定程序中,函数 fun的功能是:把形参 s所指字符串中最右边的 n个字符复制到形参 t所指字符数组中,形成一个新串。若 s所指字符串的长度小于 n,则将整个字符串复制到形参 t所指字符数组中。 例如,形参 s所指的字符串为: abedefgh, n的值为 5,程序执行后 t所指字符数组中的字符串应为: defgh。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #include #in

2、clude #define N 80 void fun(char *s, int n, char *t) int len,i,j=0; len=strlen(s); /*found*/ if(n=len) strcpy(【 1】 ); else /*found*/ for(i=len-n; i #define N 20 int fun(int n,int *a) int i,j,k,sum; /*found*/ sum=j=0; for(k=3,i=0;i #include #define N 16 typeclef struct char num10; int s; STREC; STREC

3、 fun(STREC*a, char*b) main() STREC SN=”GA005”, 85, ”GA003”, 76, ”GA002”, 69, ”GA004”, 85, ”GA001”, 91, ”GA007”, 72, ”GA008”, 64, ”GA006”, 87, ”GA015”, 85, ”GA013”, 91, ”GA012”, 64, ”GA014”, 91, ”GA011”, 77, ”GA017”, 64, ”GA018”, 64, ”GA016”, 72; STREC h; char m10; int i; FILE*out ; printf(”The origi

4、nal data: n”); for(i=0; i=len) strcpy(_1_);”如果 s所指字符串的长度小于n,那么直接拷贝 s字符串到 t字符串,使用字符拷贝函数 strcpy,所以第一空处应为 “t,s”。 第二空: “for(i=len-n; i=len-1; i+) tj+=_2_;”将 s所指的字符的最右边 n个字符拷贝到 t所指的字符串中,循环变量 i从 len-n开始,即 slen-n是最右边 n个字符的一个字符, i逐渐增大, s字符串逐渐右移,故第二空处应为 “si”。 第 三空:字符串以 “0”结束,因此第三空为 “0”或 “0”。 二、程序修改题( 30分) 2

5、【正确答案】 sum=0;j=0; if(sum%4=2) 【试题解析】 ( 1)根据题意第一标识下 “sum=j=0;”是给 sum和 j赋初值 0,故应改成 “sum=0;j=0;”。 ( 2)第二个标识下的 if语句是根据题干要求,累加和被 4除后余 2,而原题是将2赋值给 sum%4。所以,第二个标识下 “if(sum%4=2)” 应该改为“if(sum%4=2)” 。 三、程序设计题( 40分) 3 【正确答案】 STREC c; int i; c.num0=0; /* 置初始空串 */ c.s=-1; /* 置成绩为 -1 */ for(i=0; iN; i+) if(strcmp(ai.num, b)=0) /* 判断学号是否相等 */ strcpy(c.num, ai.num); /* 相等,则对学号进行赋值 */ c.s=ai.s; /* 相等,则对成绩进行赋值 */ break; /* 退出循环体 */ return c; /* 返回结构体变量 */ 【试题解析】 在 for循环中,利用 C语言自带字符串比较函数 strcmp,对输入的学号与所有的学号进行比较,以求出指定学号。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1