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

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

1、二级 C 语言-316 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.从键盘输入一组小写字母,并保存在字符数组 str 中。请补充函数 proc(),该函数的功能是:把字符数组 str 中 ASCII 码为奇数的小写字母转换成对应的大写字母,结果仍保存在原数组中。 例如,输入“abcdefghi”,输出“AbCdEfGhI”。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdlib.h #includest

2、dio.h #define M 80 void proc(char str) int i; for( 1; 2; j+) if( 3) stri-=32; void main() char strM; system(“CLS“); printf(“/n Input a string:/n“); gets(str); printf(“/n*original string*/n“); puts(str); proc(str); printf(“/n*new string*/n“); puts(str); (分数:30.00)二、程序改错题(总题数:1,分数:40.00)2.函数 proc()的功能

3、是:求输入的两个整数中较小的数。 例如,若输入:“20,10”,则输出结果为“min is 10”。 请修改 proc()程序中的错误,使它能得出正确的结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h #includeconio.h /*found* int proc(int x, y) int z; z=xy?x:y; return(z); void main() int a, b, c; printf(“please input two integer:/n“); scanf(“%d, %d“, c=proc(a,

4、 b); printf(“min is%d/n“, c); (分数:40.00)_三、程序设计题(总题数:1,分数:30.00)3.请编写一个函数 proc(),它的功能是将一个数字字符书转换为一个整数(不得调用 C 语言提供的将字符串转为整数的函数)。 例如,若输入字符串“1234”,则函数把它转换为整数值 1234。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includestdio.h #includestring.h long proc(char*p) void main() ch

5、ar str6; long n; printf(“Enter a string:/n“); gets(str); n=proc(str); printf(“%1d/n“, n); (分数:30.00)_二级 C 语言-316 (1)答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.从键盘输入一组小写字母,并保存在字符数组 str 中。请补充函数 proc(),该函数的功能是:把字符数组 str 中 ASCII 码为奇数的小写字母转换成对应的大写字母,结果仍保存在原数组中。 例如,输入“abcdefghi”,输出“AbCdEfGhI”。 注意:

6、部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdlib.h #includestdio.h #define M 80 void proc(char str) int i; for( 1; 2; j+) if( 3) stri-=32; void main() char strM; system(“CLS“); printf(“/n Input a string:/n“); gets(str); printf(“/n*original string*/n“); puts(str

7、); proc(str); printf(“/n*new string*/n“); puts(str); (分数:30.00)解析:i=0 stri!=“/0“ stri%2!=0 或 stri%2=1解析 由函数 proc()可知,变量 i 为字符数组str 的下标,字符数组的下标从 0 开始,因此,第一处填“i=0”;要将字符数组 str 中 ASCII 码为奇数的小写字母转换成对应的大写字母,需要检查字符串 str 中每一个字符,因此,第二处填“si!=“/0“”;判断字符数组中的每一个字符的 ASCII 是否为奇数,将每一个 ASCII 码为奇数的字符转化为相应的大写字母,因此,第三处

8、填“si%2!=0”或“si%2=1”。二、程序改错题(总题数:1,分数:40.00)2.函数 proc()的功能是:求输入的两个整数中较小的数。 例如,若输入:“20,10”,则输出结果为“min is 10”。 请修改 proc()程序中的错误,使它能得出正确的结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h #includeconio.h /*found* int proc(int x, y) int z; z=xy?x:y; return(z); void main() int a, b, c; printf(

9、“please input two integer:/n“); scanf(“%d, %d“, c=proc(a, b); printf(“min is%d/n“, c); (分数:40.00)_正确答案:()解析:错误:int proc(int x, y) 正确:int proc(int x, int y) 解析 在函数的定义时,其形参不能同时用一个类型来定义,因此把“int proc(int x, y)”改为“int proc(int x, inty)”。三、程序设计题(总题数:1,分数:30.00)3.请编写一个函数 proc(),它的功能是将一个数字字符书转换为一个整数(不得调用 C

10、语言提供的将字符串转为整数的函数)。 例如,若输入字符串“1234”,则函数把它转换为整数值 1234。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includestdio.h #includestring.h long proc(char*p) void main() char str6; long n; printf(“Enter a string:/n“); gets(str); n=proc(str); printf(“%1d/n“, n); (分数:30.00)_正确答案:()解析:long proc(char*p) long n=0; int flag=1; if(*p=“-“) /if 是判断其字符串是否含负号 p+; flag=-1; else if(*p=“+“) p+; while(*p!=“/0“) n=n*10+*p-“0“; /把字符转化为数组 p+; return n*flag; /确定正负号并一起返回到主函数中 解析 要将数字字符串转换为二个整数,首先判断该字符串的正负号。然后将数字字符转换为相应的数字,将各个数字合并为整数。最后将得到的整数乘以字符串中的符号。将最后的结果返回到主函数中。

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

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

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