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

上传人:unhappyhay135 文档编号:1325024 上传时间:2019-10-17 格式:DOC 页数:6 大小:31.50KB
下载 相关 举报
【计算机类职业资格】二级C语言-211 (1)及答案解析.doc_第1页
第1页 / 共6页
【计算机类职业资格】二级C语言-211 (1)及答案解析.doc_第2页
第2页 / 共6页
【计算机类职业资格】二级C语言-211 (1)及答案解析.doc_第3页
第3页 / 共6页
【计算机类职业资格】二级C语言-211 (1)及答案解析.doc_第4页
第4页 / 共6页
【计算机类职业资格】二级C语言-211 (1)及答案解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、二级 C 语言-211 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充 main()函数,该函数的功能是:从键盘输入一组字符串,以“*”结束输入,并显示出这个字符串。 例如,输入 ABCDEFG*,结果显示 ABCDEFG。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在 main()函数的横线上填入所编写的若干表达式或语句。 试题程序: #includestdlib.h #includestdio.h #define M 80 void main() int i=-1,j=0; char

2、 strM; system(“CLS“); printf(“/n Input a string/n“); do i+; scanf( 1); while( 2); printf(“/n*display the string*/n“); while(ji) printf( 3); j+; (分数:30.00)二、程序改错题(总题数:1,分数:30.00)2.下列给定程序中,函数 proc()的功能是:将 str 所指字符串中的字母转换为按字母序列的后续字母(但Z 转化为 A,Z 转化为 a),其他字符不变。 请修改函数 proc()中的错误,使它能得出正确的结果。 注意:不要改动 main()函

3、数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdlib.h #includestdio.h #includectype.h #includeconio.h void proc(char*str) /*found* while(*str!=“) if(*str=“A“ else if(*str=“z“)*str=“a“; else*str+=1; /*found* (*str)+; void main() char str80; system(“CLS“); printf(“/n Enter a string with length 80:/n/n“);gets(s

4、tr); printf(“/n The string:/n/n“);puts(str); proc(str); printf(“/n;n The Cords:/n/n“);puts(str); (分数:30.00)三、程序设计题(总题数:1,分数:40.00)3.请编写函数 proc(),该函数的功能是:将两个两位数的正整数 num1,num2 合并形成一个整数放在 num中。合并的方式是:将 num1 数的十位和个位数依次放在 num 数的十位和千位上,num2 数的十位和个位数依次放在 c 数的百位和个位上。 例如,当 num1=64,num2=18 时,调用到该函数后,num=4168。

5、 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includestdlib.h #includestdio.h #includeconio.h void proc(int num1,int num2,long*num) void main() int num1,num2; long num; system(“CLS“); printf(“Input num1,num2:“); scanf(“%d%d“, proc(num1,num2, printf(“The result is:%1d/n“,

6、num); (分数:40.00)_二级 C 语言-211 (1)答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充 main()函数,该函数的功能是:从键盘输入一组字符串,以“*”结束输入,并显示出这个字符串。 例如,输入 ABCDEFG*,结果显示 ABCDEFG。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在 main()函数的横线上填入所编写的若干表达式或语句。 试题程序: #includestdlib.h #includestdio.h #define M 80 void main() in

7、t i=-1,j=0; char strM; system(“CLS“); printf(“/n Input a string/n“); do i+; scanf( 1); while( 2); printf(“/n*display the string*/n“); while(ji) printf( 3); j+; (分数:30.00)解析:“%c“, else if(*str=“z“)*str=“a“; else*str+=1; /*found* (*str)+; void main() char str80; system(“CLS“); printf(“/n Enter a strin

8、g with length 80:/n/n“);gets(str); printf(“/n The string:/n/n“);puts(str); proc(str); printf(“/n;n The Cords:/n/n“);puts(str); (分数:30.00)解析:错误:while(*str!=“) 正确:while(*str) 错误:(*str)+; 正确:str+; 解析 字符串不结束的标志为*s。因此,“while(*str!=“)”应改为“while(*str)”。每执行完一次循环,指针变量 str 向后移动一个位置,而不是 str 指向的内容加 1。因此,“(*str)

9、+;”应改为“str+;”。三、程序设计题(总题数:1,分数:40.00)3.请编写函数 proc(),该函数的功能是:将两个两位数的正整数 num1,num2 合并形成一个整数放在 num中。合并的方式是:将 num1 数的十位和个位数依次放在 num 数的十位和千位上,num2 数的十位和个位数依次放在 c 数的百位和个位上。 例如,当 num1=64,num2=18 时,调用到该函数后,num=4168。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includestdlib.h #i

10、ncludestdio.h #includeconio.h void proc(int num1,int num2,long*num) void main() int num1,num2; long num; system(“CLS“); printf(“Input num1,num2:“); scanf(“%d%d“, proc(num1,num2, printf(“The result is:%1d/n“,num); (分数:40.00)_正确答案:()解析:void proc(int num1,int num2,long*num) *num=num1%10*1000+num2/10*100+ num1/10*10+num2%10; 解析 要算出变量 num 的值,首先需要得到变量 num1 和 num2 个位和十位上的数字。然后将在千位上的数字乘以 1000,百位上的数字乘以 100,十位上的数字乘以 10,各位上的数字乘以 1,就能得到要求的num。

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

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

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