【计算机类职业资格】计算机三级数据库技术-135及答案解析.doc

上传人:王申宇 文档编号:1337431 上传时间:2019-10-17 格式:DOC 页数:4 大小:28.50KB
下载 相关 举报
【计算机类职业资格】计算机三级数据库技术-135及答案解析.doc_第1页
第1页 / 共4页
【计算机类职业资格】计算机三级数据库技术-135及答案解析.doc_第2页
第2页 / 共4页
【计算机类职业资格】计算机三级数据库技术-135及答案解析.doc_第3页
第3页 / 共4页
【计算机类职业资格】计算机三级数据库技术-135及答案解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、计算机三级数据库技术-135 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.下列程序的功能是:把 s 字符串中的所有字母改成该字母的下一个字母,字母 z 改成字母 a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符保持不变。请编写函数 chg()实现程序功能,最后调用函数 readwriteDAT(),读取 IN.DAT 中的字符串,并把结果输出到文件 OUT.DAT 中。 例如,s 字符串中原有的内容为 Mn 123Zxy,则调用该函数后,结果为 No 123Ayz。 注意:请勿改动主函数 main()和输入输出函数 read

2、writeDAT()的内容。 【试题程序】 #include stdio.h #include string.h #include stdlib.h #include ctype.h #define N 81 void readwriteDAT(); void chg(char * s) void main() char aN; system (“CLS“) ; printf (“Enter a string:“) ; gets (a) ; printf (“The original string is : “) ; puts (a) ; chg (a) ; printf (“The stri

3、ng after modified: “) ; puts (a) ; readwriteDAT () ; void readwriteDAT () int i ; char aN ; FILE * rf,* wf; rf = fopen (“IN.DAT“, “r“) ; wf = fopen ( “OUT. DAT“, “w“ ) ; for(i =0;i 10;i +) fgets (a,81, rf) ; chg (a) ; fprintf (wf, “%s“, a) ; fclose (rf) ; fclose (wf) ; (分数:100.00)_计算机三级数据库技术-135 答案解

4、析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.下列程序的功能是:把 s 字符串中的所有字母改成该字母的下一个字母,字母 z 改成字母 a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符保持不变。请编写函数 chg()实现程序功能,最后调用函数 readwriteDAT(),读取 IN.DAT 中的字符串,并把结果输出到文件 OUT.DAT 中。 例如,s 字符串中原有的内容为 Mn 123Zxy,则调用该函数后,结果为 No 123Ayz。 注意:请勿改动主函数 main()和输入输出函数 readwriteDAT()的内容。 【试题程

5、序】 #include stdio.h #include string.h #include stdlib.h #include ctype.h #define N 81 void readwriteDAT(); void chg(char * s) void main() char aN; system (“CLS“) ; printf (“Enter a string:“) ; gets (a) ; printf (“The original string is : “) ; puts (a) ; chg (a) ; printf (“The string after modified:

6、“) ; puts (a) ; readwriteDAT () ; void readwriteDAT () int i ; char aN ; FILE * rf,* wf; rf = fopen (“IN.DAT“, “r“) ; wf = fopen ( “OUT. DAT“, “w“ ) ; for(i =0;i 10;i +) fgets (a,81, rf) ; chg (a) ; fprintf (wf, “%s“, a) ; fclose (rf) ; fclose (wf) ; (分数:100.00)_正确答案:()解析:void chg(char *s) while(*s)

7、 /*若当前字符不是字符串结束符,则循环一直进行*/ if(*s=“z“|*s=“Z“) /*将当前字母是“z“或者“Z“*/ *s-=25; /*则分别将其改成“a“或“A“*/ s+; /*取下一个字母*/ else if(*s=“a“ s+; /*取下一个字母*/ else if(*s=“A“ s+; /*取下一个字母*/ else s+; /*取下一个字母*/ 考点 本题考查对字符串中字符的替换。考查的知识点主要包括:指针对字符串元素的访问,C 语言循环结构,if 判断结构,逻辑表达式。 解析 此题属于字符替换题型;分析题干要求,可以归纳出 2 个关键点:关键点 1 用指针实现对字符串元素的逐一访问;关键点 2 根据要求“把所有的小写字母改写成该字母的下一个字母“对字符进行替换。 接着分析具体的解决方法,首先通过指针的移动来实现对字符串的遍历,当指针指向位置的数值不为空,通过 if 判断结构和逻辑表达式来实现对所有字母的替换操作;其中对于字母“z“和“Z“,要分别将其替换成字母“a“和“A“。 对字符数组进行逐元素访问;if 判断结构中的逻辑表达式。

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

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

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