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

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

1、国家二级 C语言机试(操作题)模拟试卷 213及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:将 a所指 43矩阵中第 k行的元素与第 0行元素交换。 例如,有下列矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 若 k为 2,程序执行结果为: 7 8 9 4 5 6 1 2 3 10 11 12 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! 试题程序: 1 #include stdio h 2 #define N 3 3 #define M 4 4

2、 *found* 5 void fun(int(*a)N, int 【 1】 ) 6 int i, temp; 7 *found* 8 for(i=0; i 【 2】 ; i+) 9 temp=a0i; 10 *found* 11 a0i=【 3】 ; 12 aki=temp ; 13 14 15 main() 16 int xMN=1, 2, 3), 4, 5, 6, 7, 8, 9, 10, 11, 12, i, j ; 17 printf(The array before mov-ing: n n); 18 for(i=0; i M; i+) 19 for(j=0; j N; j+) 2

3、0 printf( 3 d, xij); 21 printf( n、 n); 22 23 fun(x, 2); 24 printf(The array after mov-ing: n n); 25 for(i=0; i M; i+) 26 for(j=0; j N; j+) 27 printf( 3 d, xij); 28 printf( n n); 29 30 二、程序修改题 2 下列给定程序中,函数 fun的功能是:计算 s所指字符串中含有 t所指字符串的数目,并作为函数值返回。 请改正程序中的错误或在下画线处填上正确的内容并把下画线删除,使它能得出正确的结果。 注意:不要改动 main

4、函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: 1 #include stdlib h 2 #include conio h 3 #include string h 4 include stdio h 5 #define N 80 6 int fun (char*s , char*t) 7 int n; 8 char*p , *r; 9 n=0; 10 *found* 11 *r=t; 12 while(*s) 13 14 p=s; 15 while(*r) 16 17 if(*r=*p) 18 19 r+; 20 p+; 24 22 else 23 break; 24 if(*r

5、= 0) 25 n+; 26 27 *found* 28 1_ ; 29 s+; 30 31 return n; 32 33 void main() 34 char aN, bN; int m; 35 printf(“ nPlease enter string a: ); 36 gets(a); 37 printf( nPlease enter substring 38 b: ); 39 gets(b); 40 m=fun(a, b); 41 printf( nThe result is: m= d n, m); 42 三、程序设计题 3 请编写函数 fun,其功能是:移动字符串中的内容,移动

6、的规则是把第 1 m个字符,平移到字符串的最后,把第 m+1到最后的字符 移到字符串的前部。 例如,字符串中原有的内容为 ABCDEFGHI-JK, m的值为 3,移动后,字符串中的内容应该是 DEFGHIJKABC。 注意:部分源程序在文件 PROG1 C中。 请勿改动 main函数和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: 1 #include stdio h 2 #include string h 3 #define N 80 4 void fun(char*w, int m) 5 6 7 8 void main() 9 10 FILE*wf;

7、11 char aN=ABCDEFGHIJK, bN=ABCDEFGHIJK; 12 int m; 13 printf(“The origina string: n); 14 puts(a); 15 printf( n nEnter m: ); 16 scanf( d”, m); 17 fun(a, m); 18 printf ( nThe string after moving: n); 19 puts(a); 20 printf( n n); 21 *found* 22 wf=fopen(out dat, w); 23 fun(b, 3); 24 fprintf(wf, s, b); 25

8、 fclose(wf); 26 *found* 27 国家二级 C语言机试(操作题)模拟试卷 213答案与解析 一、程序填空题 1 【正确答案 】 (1)k (2)N (3)aki 【试题解析】 填空 1:变量 k在函数体 fun中已经使用,但在函数体中没有定义,肯定是在函数的形参中定义的,所以应填 k。 填空 2:数组共 N列,所以应填 N。 填空 3:这部分语句实现的功能是变量值的交换,所以应填 aki。 二、程序修改题 2 【正确答案】 (1)r=t; (2)r=t;或 r= 7 for(j=1; wj! = 0; j+) *从第 2个字符开始以后的每个字符都依次前移一个字 符 * 8 wj-1=wj; 9 wj-1=t; *将第 1个字符放到最后一个字符中 * 10 11 【试题解析】 本题应采用 “循环左移 ”的算法,多层循环朋于控制移动的字符的个数,即需进行多少次循环,内嵌循环的作用是将从第 2个字符以后的每个字符依次前移一个位置,最后将第 1个字符放到最后一个字符中。

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

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

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