【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷287及答案解析.doc

上传人:twoload295 文档编号:1332101 上传时间:2019-10-17 格式:DOC 页数:3 大小:32.50KB
下载 相关 举报
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷287及答案解析.doc_第1页
第1页 / 共3页
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷287及答案解析.doc_第2页
第2页 / 共3页
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷287及答案解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C语言机试(操作题)模拟试卷 287及答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.下列给定程序中,函数 fun的功能是进行数字字符转换。若形参 ch中是数字字符09,则将0转换成9,1转换成8,2转换成7,9转换成0;若是其他字符则保持不变;并将转换后的结果作为函数值返回。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdioh *found* 【1】 fun(char ch) *found* if(ch=0

2、& 【2】 ) *found* return9(ch 【3】 ); return ch; main() char c1,c2; printf(“nThe result:n“);c1=2;c2=fun(c1); printf(“c1=c c2=cn“,c1,c2); c1=8;c2=fun(c1); printf(“cl=c c2=cn“,c1,c2); c1=a; c2=fun(c1); printf(“c1=c c2=cn“,c1,c2);(分数:2.00)_二、程序修改题(总题数:1,分数:2.00)2.下列给定程序中函数 fun的功能是:判断一个整数是否为素数,若是素数返回 1,否则返回

3、 0。在 main函数中,若 fun返回 1输出 YES,若 fun返回 0输出 NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构!试题程序:#includestdlibh#includeconioh#includestdiohint fun(intm) int k=2; while(km(mk)*found* k+*found* if(mk) return 1; else return 0 ;void main() int n; system(“CLS“); printf(“nplease enter n:“); scanf

4、(“d“,n); if(fun(n)printf(“YESn“); else printf(“NO!n“);(分数:2.00)_三、程序设计题(总题数:1,分数:2.00)3.规定输入的字符串中只包含字母和*号。编写函数 fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的水号全部删除。形参 h已指向字符串中第个字母,形参 P指向字符串中最后一个字母。在编写函数时,不得使用 C语言提供的字符串函数。例如,若字符串中的内容为“*A*BC*DEF*G*”,删除后,字符串中的内容应当是“*ABCDEFG*”。注意:部分源程序给出如下。请勿改动主函数 main和其他函数中的任何内容,仅在函数

5、fun的花括号中填入你编写的若干语句。试题程序:#includestdioh#includeconioh#includestringhvoid fun(char*a,char*h,char*P)main() char s81,*t,*f ; printf(“Enter a string:n“); gets(s); t=f=s ; while(*t) t+; t-; while(*t=*) t-; while(* f=*) f+; fun(s,f,t); printf(“The string after deleted:n“); puts(s);(分数:2.00)_国家二级 C语言机试(操作题)

6、模拟试卷 287答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.下列给定程序中,函数 fun的功能是进行数字字符转换。若形参 ch中是数字字符09,则将0转换成9,1转换成8,2转换成7,9转换成0;若是其他字符则保持不变;并将转换后的结果作为函数值返回。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #includestdioh *found* 【1】 fun(char ch) *found* if(ch=0& 【2】 ) *found*

7、return9(ch 【3】 ); return ch; main() char c1,c2; printf(“nThe result:n“);c1=2;c2=fun(c1); printf(“c1=c c2=cn“,c1,c2); c1=8;c2=fun(c1); printf(“cl=c c2=cn“,c1,c2); c1=a; c2=fun(c1); printf(“c1=c c2=cn“,c1,c2);(分数:2.00)_正确答案:(正确答案:(1)char (2)ch=9 (3)0)解析:解析:本题考查:函数定义,注意函数定义的一般形式以及有参函数和无参函数的区别;if 语句条件表达

8、式,本题的条件表达式是判断数字字符;函数返回值,其一般形式为“return 表达式;”。 填空 1:函数定义时,类型标识符指明了函数的类型,函数的类型实际上是函数返回值的类型,所以此处应该填入 char。 填空 2:通过 if条件语句判断字符串中字符是否为数字字符,即大于等于字符0,同时小于等于字符9。 填空 3:return 语句完成函数返回操作,要实现字符转换,完整语句为return9一(ch 一0)。 有参函数定义,其一般形式为: 类型标识符函数名(形式参数列表) 声明部分 语句 在形参列表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号分隔。在进行函数调用时,主调函

9、数将赋予这些形式参数实际的值。形参也是变量,必须在形参列表中给出类型说明。二、程序修改题(总题数:1,分数:2.00)2.下列给定程序中函数 fun的功能是:判断一个整数是否为素数,若是素数返回 1,否则返回 0。在 main函数中,若 fun返回 1输出 YES,若 fun返回 0输出 NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构!试题程序:#includestdlibh#includeconioh#includestdiohint fun(intm) int k=2; while(km(mk)*found* k+*fo

10、und* if(mk) return 1; else return 0 ;void main() int n; system(“CLS“); printf(“nplease enter n:“); scanf(“d“,n); if(fun(n)printf(“YESn“); else printf(“NO!n“);(分数:2.00)_正确答案:(正确答案:(1)k+ ; (2)if(m=k)解析:解析:函数 fun的功能是判断 m是否为素数:m 从 2开始作为除数,并对 m取余,若不存在一个数使得余数为 0,则 m为素数,程序的错误在于 if(m=k)语句中的逻辑表达式写成了赋值语句。三、程序

11、设计题(总题数:1,分数:2.00)3.规定输入的字符串中只包含字母和*号。编写函数 fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的水号全部删除。形参 h已指向字符串中第个字母,形参 P指向字符串中最后一个字母。在编写函数时,不得使用 C语言提供的字符串函数。例如,若字符串中的内容为“*A*BC*DEF*G*”,删除后,字符串中的内容应当是“*ABCDEFG*”。注意:部分源程序给出如下。请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。试题程序:#includestdioh#includeconioh#includestringhv

12、oid fun(char*a,char*h,char*P)main() char s81,*t,*f ; printf(“Enter a string:n“); gets(s); t=f=s ; while(*t) t+; t-; while(*t=*) t-; while(* f=*) f+; fun(s,f,t); printf(“The string after deleted:n“); puts(s);(分数:2.00)_正确答案:(正确答案:void fun(char*a,char*h,char*p) int i=0; char*q=a; *将前导*号保存到 a中* while(qh) ai=*q;q+;i+; *继续遍历数组* while(qp) if(*q!=*) *如果不是木保存到 a中* ai=*q;i+; q+; *将末尾*号保存到 a中* while(*q) ai=*q;i+;q+; ai=0;)解析:解析:本题的重点是要选择好判断条件,首先是需要判断前导*号的结束,然后判断是否指向最后一个字母,最后补充尾部*号。

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

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

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