【计算机类职业资格】二级C语言-308 (1)及答案解析.doc

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

1、二级 C 语言-308 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.函数 fun()的功能是:从 3 个形参 a,b,c 中找出中间的那个数,作为函数值返回。 例如,当 a=3,b=5,c=4 时,中问的数为 4。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在 fun()函数的横线上填入所编写的若干表达式或语句。试题程序: #includestdio.h int fun(int a, int b, int c) int t; t=(ab)?(bc? b:(ac? c: 1); (ac)? 2

2、: (hc)? c: 3); return t; void main() int a1=3, a2=5, a3=4, r; r=fun(a1, a2, a3); printf(“/nThe middle number is: %d/n“, r); (分数:30.00)二、程序改错题(总题数:1,分数:40.00)2.下列给定程序中,函数 fun()的功能是:将 p 所指字符串中的所有字符复制到 b 中,要求在每复制 3 个字符之后插入 1 个空格。 例如,若给 a 输入字符串:“ABCDEFGHIJK”,调用函数后,字符数组 b 中的内容为:“ABC DEF GHI JK”。 请改正程序中的错

3、误,使它能得出正确结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h void fun(char*p, char*b) int i, k=0; while(*p) i=1; while(i=3 k+; p+; i+; if(*p) /*found* bk+=“ “; bk=“/0“; void main() char a80, b80; printf(“Enter a string:“); gets(a); printf(“The original string:“); puts(a); fun(a, b); print

4、f(“/nThe string after insert space:“); puts(b); printf(“/n/n“); (分数:40.00)_三、程序设计题(总题数:1,分数:30.00)3.编写函数 fun(),其功能是:求 ss 所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串“123412132”,输入字符为“1”,则输出 3。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 fun()的花括号中填入你编写的若干语句。 试题程序: #includestdlib.h #includeconio.h #includestdio.h

5、#define M 81 int fun(char*ss, char c) void main() char aM, ch; system(“CLS“); printf(“/n Please enter a string:“); gets(a); printf(“/nPlease enter a char:“); ch=getchar(); printf(“/nThe number of the char is:%d/n“, fun(a, ch); (分数:30.00)_二级 C 语言-308 (1)答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.0

6、0)1.函数 fun()的功能是:从 3 个形参 a,b,c 中找出中间的那个数,作为函数值返回。 例如,当 a=3,b=5,c=4 时,中问的数为 4。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在 fun()函数的横线上填入所编写的若干表达式或语句。试题程序: #includestdio.h int fun(int a, int b, int c) int t; t=(ab)?(bc? b:(ac? c: 1); (ac)? 2: (hc)? c: 3); return t; void main() int a1=3, a2=5, a3=4, r; r

7、=fun(a1, a2, a3); printf(“/nThe middle number is: %d/n“, r); (分数:30.00)解析:a a b解析 考查条件运算符嵌套构成复杂的条件表达式的能力。条件运算符规则为:表达式?a:b,首先判断表达式值,若为真(即非零)则取 a 值作为整条语句的值,否则取 b 作为整条语句的值。其中条件 fun()函数的功能是:从 3 个形参 a,b,c 中找出中间的那个数,作为函数值返回。fun()函数中复杂的表达式可以转换成 ifelse 语句,则可以清楚地判断出第一处填“a”,第二处填“a”,第三处填“b”。二、程序改错题(总题数:1,分数:40

8、.00)2.下列给定程序中,函数 fun()的功能是:将 p 所指字符串中的所有字符复制到 b 中,要求在每复制 3 个字符之后插入 1 个空格。 例如,若给 a 输入字符串:“ABCDEFGHIJK”,调用函数后,字符数组 b 中的内容为:“ABC DEF GHI JK”。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h void fun(char*p, char*b) int i, k=0; while(*p) i=1; while(i=3 k+; p+; i+; if(*p)

9、/*found* bk+=“ “; bk=“/0“; void main() char a80, b80; printf(“Enter a string:“); gets(a); printf(“The original string:“); puts(a); fun(a, b); printf(“/nThe string after insert space:“); puts(b); printf(“/n/n“); (分数:40.00)_正确答案:()解析:(1)错误:bk=p; 正确:bk=*p; (2)错误:bk=“/0“; 正确:bk=“; k+ 解析 此题,首先要知道函数的参数类型可

10、以是整型、实型、字符型和指针型。此处正是指针类型变量作为函数的参数,因此应该是“bk=*p”,而不是“bk=p”;题目要求在 3 个字符后加 1 个空格,通过条件表达式“i=3 k+”,继续执行直到处理到字符串 p 的最后一个字符。三、程序设计题(总题数:1,分数:30.00)3.编写函数 fun(),其功能是:求 ss 所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串“123412132”,输入字符为“1”,则输出 3。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 fun()的花括号中填入你编写的若干语句。 试题程序: #include

11、stdlib.h #includeconio.h #includestdio.h #define M 81 int fun(char*ss, char c) void main() char aM, ch; system(“CLS“); printf(“/n Please enter a string:“); gets(a); printf(“/nPlease enter a char:“); ch=getchar(); printf(“/nThe number of the char is:%d/n“, fun(a, ch); (分数:30.00)_正确答案:()解析:int fun(char*ss, char c) int i=0; for(; *ss!=“/0“; ss+) if(*ss=c) i+; /求出 ss 所指字符串中指定字符的个数 return i; 解析 此题考查用 for 循环遍历字符串和通过条件表达式*ss!=“/0“来判断字符串是否结束。给字符串加上结束标识“/0“,通过 for 循环遍历字符串中每一个字符,在遇到结束标识前,如果遇到指定(即用户输入)字符,变量 i 加 1,最后将变量 i 返回,即用户输入字符在字符串中出现的次数。

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

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

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