当前位置:首页 > 新闻资讯 > IT业界 > 新闻
2012年二级考试名师指导 冲刺吧,少年
  • 2012-9-5 18:51:35
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:陈邓新
  • 作者:
【电脑报在线】2012年9月22日,下半年的全国计算机等级考试就开考试了,在最后一周的冲刺阶段,怎么才能确保万无一失地通过考试?电脑报邀请名师,结合多年出题经验和阅卷经验,帮助大家解决这个问题,助大家一举成功。

7.有以下程序
void swap(char *x,char *y)
{ char t;
  t=*x;*x=*y;*y=t;
}
main()
{ char *s1="abc",*s2="123";
  swap(s1,s2); printf("%s,%s\n",s1,s2);
}
程序执行后的输出结果是______。
A.123,abc
B.abc,123
C.1bc,a23
D.321,cba
考点:指针变量值的交换
名师解析:C语言中,字符串常量在内存中是以字符数组的形式进行存放的,因此字符指针x和y指向的是各字符串的首地址,也就是字符串第一个字符的地址,则*x与*y交换的是字符串的第一个字符,即字符“a”与“1”的交换,而字符串中其他字符保持不变。

8.设有以下语句
int a=1,b=2,c;
c=a^(b<<2);
执行后,c的值为______。
A.6 B.7 C.8 D.9
考点:位运算中的异或运算
名师解析:有括号的先算括号内的数据,所以先对b进行左移运算:b换算成二进制0000  0010,左移后变为0000  1000,然后再与a进行异或运算(参与运算的两个对应位相同,则为0,相异则为1)结果为0000  1001,换算成十进制数结果为9。对于左移运算也可直接用此规则:左移1位相当于该数乘以2,左移2位相当于该数乘以22=4,依此类推。

9.以下程序的输出结果是______。
main()
{ int i, k, a[10], p[3];
k=5;
for(i=0;i<10;i++) a[i]=i;
for(i=0;i<3;  i++) p[i]=a[i*(i+1)];
for(i=0;i<3;  i++) k+=p[i]*2;
printf("%d\n",k);
}
A.20 B.21 C.22 D.23
考点:控制语句的执行
名师解析:按照程序的流程运行一遍,我们可以得到,p[0]=0,p[1]=2,p[3]=6;执行三次k+=p[i]*2,就相当于k=5+0*2+2*2+6*2。

10.以下程序的输出结果是______。
#define  SQR(X)  X*X
main()
{  int a=16,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n",a);
}
A.16    B.2     C.9     D.1
考点:宏定义
名师解析: C语言在预编译时遇到带实参的宏名,则按命令行中指定的字符串从左到右进行置换。在做此题时,我们可以运用置换法。得到:a/=k+m*k+m/k+m*k+m=16/7=2。注:a为整型,所以在做除法时,自动取整。

11.以下程序的输出结果是______。
long  fun(int  n)
 {long  s;
 if(n==1||n==2) s=2;
 else s=n-fun(n-1);
 return s;
 }
main()
 { printf("%ld\n",fun(3));}
A.1    B.2     C.3     D.4
考点:递归算法
名师解析:这是一个递归函数。递归的结束条件是,n=1或者n=2。按照程序顺序,即可得出结果。

12.以下程序的输出结果是______。
main()
 { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for (i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
 }
A.18    B.19    C.20     D.21
考点:环控制语句的嵌套
名师解析:本题外循环执行两次,分别是i=1,i=2,内循环,第一次j从0到1,s=0+a[1][0]+a[1][1]=7;第二次j从0到2,s=7+a[2][0]+a[2][1]+a[2][2]就可算出答案。

13.下列程序的输出结果是______。
main()
 { char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
   printf("%d",*--p);
 }
A.非法    B.a[4]的地址    C.5    D.3
考点:指针与地址的运算
名师解析:本题中char *p=a+5; 即相当于p=&a[5],而--p要先减1再运算,则printf语句输出的值就是本题所求。

本文出自2012-09-10出版的《电脑报》第36期 F.APP软件
(网站编辑:吴融)


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