[计算机类试卷]国家三级(数据库技术)机试模拟试卷63及答案与解析.doc
-
资源ID:495339
资源大小:25.50KB
全文页数:3页
- 资源格式: DOC
下载积分:2000积分
快捷下载

账号登录下载
微信登录下载
下载资源需要2000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
[计算机类试卷]国家三级(数据库技术)机试模拟试卷63及答案与解析.doc
1、国家三级(数据库技术)机试模拟试卷 63及答案与解析 一、程序设计题 1 下列程序的功能是;把 s字符串中所有的字符左移一个位置,串中的第一个字符移到最后。请编制函数 chg(char*s)实现程序要求,最后调用函数 readwriteDat()把结果输出到 out63.dat文件中。 例如; s字符串中原有内容为 Mn, 123xyZ,则调用该函数后,结果为 n,123xyZM。 注意:部分源程序已给出。 请勿改动主函数 main()和输入输出函数 readwriteDAT()的内容。 试题程序: #include conio.h #include stdio.h #define N 81
2、void readwriteDAT(); void chg(char *s) main ( ) char a N; clrscr ( ); printf(“Enter a string :“); gets (a); printf(“The original string is :“); puts (a); chg (a); printf(“The string after modified :“); puts (a); readwriteDAT ( ) void readwriteDAT () int i; char a N; unsigned char *p; FILE *rf,*wf; r
3、f=fopen(“in63.dat“,“r“); wf=fopen(“out63.dat“,“w“); for(i=0;i 10;i+) fgets(a,80,rf); p=strchr(a,n); if(p) *p=0; chg(a); fprintf(wf,“%sn“,a); fclose(rf); fclose(wf); 国家三级(数据库技术)机试模拟试卷 63答案与解析 一、程序设计题 1 【正确答案】 void chg(char*s) int i, strl; char ch; strl=strlen(s); /*求字符串的长度 */ ch=*s; /*将第一个字符暂赋给 ch*/ for(i=0; i strt-1/i+) /*将字符依次左移 */ *(s+i)=*(S+i+1); *(s+strl-1)=ch; /*将第一个字符移到最后 */ 【试题解析】 本题考查的知识点如下: (1)数组中元素的移动。 (2)指针的使用。 我们可以使用一个循环实现数组中所有字符元素的左移。这里要注意的是第 1个字符要移至最后 1个字符处,所以首先要将第 1个字符保存。在移动时,要从左到右依次移动,否则,左侧的字符会在移动前被其右侧的字符覆盖。在这里使用了指针,初始时,指针指向数组的第 1个元素,随着地址的增加指针指向数组后面的元素。例如,若地址加 2,则指向数组的第 3个元素。