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软件
(网站编辑:吴融)
读者活动
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号