2012年二级考试名师指导 冲刺吧,少年
- 2012-9-5 18:51:35
- 类型:原创
- 来源:电脑报
- 报纸编辑:陈邓新
- 作者:
【电脑报在线】2012年9月22日,下半年的全国计算机等级考试就开考试了,在最后一周的冲刺阶段,怎么才能确保万无一失地通过考试?电脑报邀请名师,结合多年出题经验和阅卷经验,帮助大家解决这个问题,助大家一举成功。
24.下面的函数strcat(str1,str2)实现将字符串str2拼接到字符串str1后面的功能。请填空使之完整。
char *strcat(str1,str2)
char *str1,*str2;
{ char *t=str1;
while(______)str1++;
while(______);
return(t);}
考点:字符串连接函数strcat()
名师解析:函数strcat(str1,str2)实现将字符串str2连接到字符串str1后面,所以首先要找到字符串str1的串尾,根据C语言的语法规定,一个串的串尾一定是一个隐含字符“\0”,而在程序中,对字符串中字符的访问是通过两个指针变量来完成的,因此要找到字符串str1的串尾,要判断*str1是否为“\0”,字符串str2也同理,程序中必须可以使字符串中字符逐一顺序体现。
25.以下程序的输出结果是______。
main()
{ int x=0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int *a,int n,int k)
{ if(k<=n) sub(a,n/2,2*k);
*a+=k;
}
考点:一个完整的递归调用
名师解析:主函数中调用sub函数流程如下:
sub(*x,8,1)-sub(*x,4,2)-sub(*x,2,4)-x=x+k
| |
x=x+k=7 x=x+k=6
26.设有如下宏定义
#define MYSWAP(z,x,y) {z=x; x=y; y=z;}
以下程序段通过宏调用实现变量a,b内容的交换,请填空。
float a=5,b=16,c;
MYSWAP(______,a,b)
考点:宏的应用
名师解析:本题最重要的是理解宏MYSWAP(z,x,y)的作用:通过z实现x,y的内容交换。所以MYSWAP(c,a,b)可以通过c实现a,b内容的交换。
27.以下程序运行后的输出结果是______。
#include <stdio.h>
main()
{ FILE *fp; int x[6]={1,2,3,4,5,6},i;
fp=fopen("test.dat","wb");
fwrite(x,sizeof(int),3,fp);
rewind(fp);
fread(x,sizeof(int),3,fp);
for(i=0;i<6;i++) printf("%d",x[i]);
printf("\n");
fclose(fp);
}
考点:文件操作
名师解析:“fp=fopen("test.dat","wb"); ”表示文件test.dat以二进制形式打开,然后对该文件进行写操作。“fwrite(x,sizeof(int),3,fp); ”表示要从数组x中输出3次(每次sizeof(int)个字节)数据到fp所指向的文件中,其中sizeof(int)=2。rewind函数的功能是使文件的位置指针回到文件的开头。“fread(x,sizeof(int),3,fp); ”表示从fp所指向的文件读入3次(每次2个字节)数据,存储到数组x中。最后通过for循环依次输出数组x中元素,就可以得到输出结果。
本文出自2012-09-10出版的《电脑报》第36期 F.APP软件
(网站编辑:吴融)
读者活动
48小时点击排行
编辑推荐
论坛热帖
网站地图 | 版权声明 | 业务合作 | 友情链接 | 关于我们 | 招聘信息
报纸客服电话:4006677866 报纸客服信箱:pcw-advice@vip.sina.com 友情链接与合作:987349267(QQ) 广告与活动:675009(QQ) 网站联系信箱:cpcw@cpcw*.c*m
Copyright © 2006-2011 电脑报官方网站 版权所有 渝ICP备10009040号
报纸客服电话:4006677866 报纸客服信箱:pcw-advice@vip.sina.com 友情链接与合作:987349267(QQ) 广告与活动:675009(QQ) 网站联系信箱:cpcw@cpcw*.c*m
Copyright © 2006-2011 电脑报官方网站 版权所有 渝ICP备10009040号