- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机2级考试C语言答题注意事项
计算机二级考试C语言答题注意事项
10分
基本原则是计划好做题的时间,不要急燥,保持稳定的答题速度,应将熟悉的、会做的、容易的先做。 选择题和操作题在进行的过程中,都一定要看清题目,审好题,弄清题目要考核的知识点,能够迅速回忆相关的知识,综合运用平时上课老师所教授的做题的方法和技巧,进行答题。 例如:以下C语言用户标识符中,不合法的是 A)_1 B)AaBc C)a_b D)a—b? 这个题目是考核的是标识符的命名规则的问题,我们知道C中合法的标识符必须以字母、下划线开头,由字母、数字、下划线组成,据此应该选择D。 再如:有以下程序 #include main() {int?a=1,b=0; if(!a)?b++; else?if(a==0)if(a)b+=2; else?b+=3; printf(”%d\n”,b); } 程序运行后的输出结果是 A)0 B)1 C)2 D)3 这个题目考核选择结构的控制流程。题目采用的是else~if结构,实际上是if的嵌套。不管怎样,始终牢记这种嵌套的if语句的执行流程:从上向下逐一对if后的表达式进行检测。当某一个表达式的值为非0时,就执行与此有关子句中的语句,其余部分不执行,直接越过去。如果所有表达式的值都为0,则执行最后的else子句。 当执行以上程序时,首先定义a、b并赋初值1、0,然后进入if语句。当从上向下逐一检测时,!a?的值为0,则越过b++,进入else?后的if语句,检测到a=?=0的值为0,则越过if(a)b+=2;语句,因为前面所有if子句中的表达式的值都为0,因此执行最后else子句中的语句b+=3,求出b为3,然后退出if结构,接着输出b的值,所以选择D。 (3)选择题(21)-(40),这20个都有一定难度,涉及C后面的章节,如函数、数组、指针、字符串、结构体、预处理等内容,有部分都会给定出一段代码,根据代码做选择,因此,需要读懂C的简单代码然后做了选择。 例如:有以下程序(函数fun只对下标为偶数的元素进行操作) #?include<stdio.h void?fun(int?*a;int?n) {int?i,j,k,t; for?(i=0;i<n-1;i+=2) {k=i; for(j=i;ja[k])k=j; t=a[i];a[i]=a[k];a[k]=t; }} main() {int?aa「10」={1,2,3,4,5,6,7},i; fun(aa,7); for(i=0;i7;i++)printf(”%d,”,aa[i])); printf(”\n”); } 程序运行后的输出结果是 A)7,2,5,4,3,6,1 B)1,6,3,4,5,2,7 C)7,6,5,4,3,2,1 D)1,7,3,5,6;2,1 通过对代码的阅读,采用模拟运行的方法,可知此题的算法是将数组元素中偶数下标的元素进行从大到小的排序,它使用的是选择排序法。因为数组的初始值为 a下标:?? 0????????? 1?????????? 2????????? 3???????? 4???????? 5???????? 6
1234567对偶数下标的元素进行由大到小排序后: a下标:?? 0????????? 1?????????? 2????????? 3???????? 4???????? 5???????? 6
7254361所以很快就可以选择出答案是A。 (4)填空题仔细读题、审题,理解考题考核知识点,回忆相关知识。牵涉到程序填空的题目,也需读得懂C程序,还需判断出题意图,弄清程序功能,找到编程的思路,才能填好空要。难度较高。 如:以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。 #include?<stdio.h main() {int?a〔10],*p,*s; for(p=a;p-a10;p++)scanf(”%d”,p); for(p=a,s=a;p-a10;p++)if(*p*s)s=p; printf(max=%d\n”,【14】); } 这个题目是利用指针对数组元素求最大值的算法。此题采用的算法是使s指针总是指向最大值。刚开始时,假设s?指向第一个元素,p是工作指针,也指向第一个元素,然后进行*p*s的比较,若满足条件,说明s所指的元素不是最大的,就执行s=p;将当前
文档评论(0)