2011年计算机二级考试C语言十套上机题

上传人:平*** 文档编号:17438900 上传时间:2017-11-16 格式:DOCX 页数:11 大小:34.77KB
返回 下载 相关 举报
2011年计算机二级考试C语言十套上机题_第1页
第1页 / 共11页
2011年计算机二级考试C语言十套上机题_第2页
第2页 / 共11页
2011年计算机二级考试C语言十套上机题_第3页
第3页 / 共11页
2011年计算机二级考试C语言十套上机题_第4页
第4页 / 共11页
2011年计算机二级考试C语言十套上机题_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《2011年计算机二级考试C语言十套上机题》由会员分享,可在线阅读,更多相关《2011年计算机二级考试C语言十套上机题(11页珍藏版)》请在金锄头文库上搜索。

1、2011 年计算机二级考试 C 语言十套上机题1.填空题请补充函数 fun(),该函数的功能是:把从主函数中输入的字符串 str2 接在字符串 str1 的后面。例如:str1=“How do”,str2=“ you do?”,结果输出:How do you do?注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的横线上填入所编写的若干表达式或语句。试题程序:#include#include#define N 40void fun(char *str1,char *str2)int i=0;char *p1=str1;char *p2=str2;w

2、hile(【 1】)i+;for( ;【2 】;i+)*(p1+i)=【3 】;*(p1+i)=0;main()char str1N,str2N;clrscr();printf(*Input the string str1 &str2*n);printf( nstr1:);gets(str1);printf( nstr2:);gets(str2);printf(*The string str1 & str2*n);puts(str1);puts(str2);fun(str1,str2);printf(*The new string *n);puts(str1);答案及评析:【1】*(p1+i)

3、 【2】*p2 【3】*p2+【解析】填空 1:变量 i 用来记录字符串 str1 的长度,当指针指到字符串str1 结束标志符0 时,while 循环结束,变量 i 停止累加。填空 2:指针 p2 指向字符串 str2,通过 for 循环将字符串 str2 接在 str1 后面,循环结束的条件是指针 p2 所指的字符是字符串结束标志符 0。填空 3:指针 p2 最初指向字符串str2 的首字符,通过自加 1,使指针 p2 依次向后移动,指向 str2 的各个字符,实现将字符串 str2 接在 str1 后面的功能。1.填空题请补充函数 fun(),该函数的功能是求一维数组 xN的平均值,并对

4、所得结果进行四舍五入(保留两位小数)。例如:当 x10=15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0,结果为: avg=15.030000。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的横线上填入所编写的若干表达式或语句。试题程序:#include#includedouble fun(double x10)int i;long t;double avg=0.0;double sum=0.0;for(i=0;i=A&*p=a&*p #define N 80 void fun(char *s,i

5、nt *num) int i,n=0; for(i=0;【1】;i+) if(si=a&si #define N 80 int bbN; int fun(char s,int bb,int num) int i,n=0; for(i=0;i= 0 &si5) 【2】; return【3】; main() int xxN; int yyN; int num=0,n=0,i=0; printf(Input number :n); do scanf(%u,&xxnum); while(xxnum+!=0); n=fun(xx,yy,num); printf(nyy=); for(i=0;iprint

6、f(%u ,yyi); 答案及评析 :【1 】xxi 【2】bbn+=xxi 【3】n 【解析】填空 1:将一个整数对 10 取余,则得到这个整数的个位数,将一个整数除以 10 再对 10 取余,则得到这个整数的十位数。由程序可以看出,变量 s 保存了整数的十位数,所以应该将整数的个位数保存于变量 g 中。填空2:当整数的个位与十位的数字之和大于 5 时,则将这个整数存于数组 bb 中,同时,变量 n 记录了满足条件的无符号整数的个数。填空 3:题目要求满足条件的无符号整数的个数由 fun 函数返回,所以函数返回 n。 1.填空题 请补充函数 fun(),该函数的功能是判断一个数的个位数字和百

7、位数字之和是否等于其十位上的数字,是则返回“yes!”,否则返回 “no!”。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include char *fun(int n) int g,s,b; g=n%10; s=n/10%10; b=【1】; if(g+b)=s) return【2】; else return【3】; main() int num=0; clrscr(); printf(*Input data *n); scanf(%d,&num); printf(

8、nnn); printf(* The result *n); printf(nnn%s,fun(num); 答案及评析:【1 】n/100%10 【2】yes! 【3】no! 【解析】填空 1:由程序可以知道,变量 g 保存了整数的个位数,变量 s保存了整数的十位数,所以变量 b 应该保存整数的百位数。将整数除以 100 再对 10 取余,则得到这个整数的百位数。填空 2:当个位数字和百位数字之和等于十位数字时,则返回yes!。填空 3:当个位数字和百位数字之和不等于十位数字时,则返回no!。 1.填空题 请补充 main 函数,该函数的功能是:从一个字符串中截取前面若干个给定长度的子字符串。

9、其中,str1 指向原字符串,截取后的字符存放在 str2 所指的字符数组中,n 中存放需截取的字符个数。 例如:当 str1=“cdefghij”,然后输入 4,则 str2=“cdef”。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #define LEN 80 main() char str1LEN,str2LEN; int n,i; clrscr(); printf(Enter the string:n); gets(str1); printf(

10、Enter the position of the string deleted:); scanf(【1 】); for(i=0;i #include #define LEN 80 main() char str1LEN,str2LEN; char *p1=str1,*p2=str2; int i=0,j=0; clrscr(); printf(Enter the string:n); scanf(【1 】); printf(*the origial string*n); while(*(p1+j) printf(【2】,*(p1+j); j+; for(i=0;ij;i+=2) *p2+=*

11、(str1+i); *p2=0; printf(nThe new string is:%sn,【3】); 答案及评析:【1 】%s,str1 【2 】%c 【3】str2 【解析】填空 1:本题考查对标准输入函数 scanf()的调用格式,当输入字符串时,格式控制字符串为%s,题目要求输入的字符串保存在 str1 中,所以地址表列应为字符串的首地址,即为 str1。填空 2:本题考查对标准输出函数 printf()的调用格式,当输出为字符型变量时,格式控制字符串为%c。填空 3:题目要求将 str1 中下标为偶数的字符保存在字符串 str2 中并输出,所以 printf()函数的输出表列是 str2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号