冲刺必看!名师讲解二级C真题之选择题(1)
技术与开发
开学了,4月的全国计算机二级C语言考试悄然临近,你作好了冲刺的准备了吗?为此,我们特意邀请资深名师孙顾天为2007年9月那次考试作精彩解析,希望对广大考生有所裨益。
孙顾天:全国计算机等级考试技术组成员、浙江省计算机等级考试资深名师。参与全国计算机等级考试评卷及《全国计算机等级考试——习题集》、《C语言程序设计》等10多本教材与参考书籍的编写。
全国计算机等级考试二级C语言笔试部分总体上仍然是围绕考试大纲进行的。和历年试题比较,考察的范围更广,几乎涵盖了C语言的各个知识点;考察知识点也更细,考生如果对知识点没有深入掌握极易失分。
在这次的考题中,还加大了对指针的考核力度,指针是C语言的精华,但也是最难掌握的,考生应对指针重点掌握。另外,考试逐渐趋向考察考生对各个知识点的融合把握情况,特别在程序题目中,把数组、指针、函数等结合在一起,没有充足准备的考生很难理解这类题目。
第7题:冒泡排序在最坏情况下的比较次数是
A)n(n+1)/2 B)nlog2n
C)n(n-1)/2 D)n/2
本题难度:★★
涉及知识:基本排序算法
名师解析:冒泡排序的基本思想是将表中两个相邻元素依次比较,若不符合排序要求,则交换位置,这样经过n-1次比较后,将确定出最大(或最小)元素的位置,这称为一趟扫描。经过n-1次扫描后,就完成了整个表的排序。第一趟扫描的比较次数是n-1,第二趟扫描的比较次数是n-2……,总的比较次数是(n-1)+(n-2)+……+1=n(n-1)/2。
本题答案:C
第8题:一棵二杈树中共有70个叶子结点与80个度为1的结点,则该二杈树中的总结点数为
A)219 B)221 C)229 D)231
本题难度:★★
涉及知识:二杈树
名师解析:这道题是考查考生对二杈树的掌握。在任意一棵二杈树中,若终端结点(叶子)的个数为n1,则度为2的结点数n2=n1-1。故总结点数=度为0的结点数+度为1的结点数+度为2的结点数。
本题答案:A
第16题:以下关于long、int和short类型数据占用内存大小的叙述中正确的是
A)均占4个字节 B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义 D)由C语言编译系统决定
本题难度:★★★
涉及知识:C语言的数据类型
名师解析:在ANSI标准中,int型数据占两个字节、long型数据占4个字节、short型数据(在微机中)占两个字节。但实际上,在某些C语言编译系统中,int和short都占四个字节。故而,各类型数据占用空间大小是由C语言编译系统决定的。很多考生都死记教科书的标准答案,在这道题上出错了。
本题答案:D
第17题:若变量均已正确定义并赋值,以下合法的C语言赋值语句是
A)x=y==5; B)x=n%2.5;
C)x+n=I; D)x=5=4+1;
本题难度:★★
涉及知识:赋值表达式
名师解析:C语言在书写时很灵活,同时在书写过程中也容易出错。B答案错误,取模运算要求%两侧均为整型数据;C答案错误的原因是在赋值运算中赋值符号的左侧必须是变量。D答案错误,但如果改为x=y=5;就正确了。A选项中,体现了赋值运算的优先级,即x=(y==5)。
本题答案:A
第18题:有以下程序段
int j; float y; char name[50];
scanf("%2d%f%s",&j,&y,name);
当执行上述程序段,从键盘上输入55566 7777abc后,y的值为
A)55566.0 B)566.0
C)7777.0 D)566777.0
本题答案:B
本题难度:★★
涉及知识:scanf函数
名师解析:此题考查scanf函数中格式控制符的应用,j变量所对应的格式控制符为“%2d”,即只接收输入数据的前两位,即j的值为55,从第三位开始的数据将存入单精度浮点型变量y中,遇到空格(或者回车或者TAB键)后输入结束,因此y的值为566,并保存为相应的类型,自动添加小数部分。
第19题:若变量已正确定义,有以下程序段
i=0;
do printf("%d,",i);
while(i++);
printf("%d\n",i);
其输出结果是
A)0,0 B)0,1 C)1,1
D)程序进入无限循环
本题难度:★★
涉及知识:循环语句
名师解析:此题考查do… while型循环与自增运算的应用,执行次数>=1,先执行循环体(do与while之间的语句段),再判断循环是否继续。所以,题中第一次输出为0。循环条件I++,若表达式值为非0时,即条件为真,继续执行;反之,不执行。
本题答案:B
其他较基础题的解析请到http://www.cpcw.com/bzsoft下载。