当前位置:首页 > 新闻资讯 > IT业界 > 新闻
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软件
(网站编辑:吴融)


我来说两句(0人参与讨论)
发表给力评论!看新闻,说两句。
匿名 ctrl+enter快捷提交
读者活动
48小时点击排行
论坛热帖