全国计算机二级C选择题题库第35套_第1页
全国计算机二级C选择题题库第35套_第2页
全国计算机二级C选择题题库第35套_第3页
全国计算机二级C选择题题库第35套_第4页
全国计算机二级C选择题题库第35套_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机二级 C 选择题题库第 35 套1、下列叙述中正确的是A) 程序可以作为算法的一种表达方式 B) 算法的有穷性是指算法的规模不能太大C) 算法的复杂度用于衡量算法的控制结构D) 算法的效率与数据的存储结构无关参考答案:A算法的有穷性是指操作步骤有限且能在有限时间内完成,如果一个算法执行耗费的时间太长,即使最终得出了正确结果,也是没有意义的。B选项错误。一个算法复杂度的高低体现在运行该算法所需要的计算机资源的多少。C选项错误。算法的效率是指算法执行的时间,算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗的时间来度量,这就与算法本身设计的优劣以及具体的编程实现有关,数据的存储结构会极大的影响程序的执行时间。D选项错误。算法在实现时需要用具体的程序设计语言来实现,所以程序可以作为实现算法的一种表达方式。故选A选项。2、某循环队列的存储空间为Q(1:m),初始状态为front=rear=m。现经过一系列的入队操作和退队操作后,front=m-1,rear=m,则该循环队列中的元素个数为A) m-1B) 1 C) mD) 0参考答案:B循环队列长度为m,由初始状态为front=rear=m可知此时循环队列为空。入队运算时,首先队尾指针(rear)进1(即rear+1),然后在rear指针指向的位置插入新元素。特别的,当队尾指针rear=m+1时,置rear=1。退队运算时,排头指针(front)进1(即front+1),然后删除front指针指向的位置上的元素,当排头指针front=m+1时,置front=1。从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,则该循环队列中的元素个数为m-(m-1)=1。故选择A选项。3、能从任意一个结点开始没有重复地扫描到所有结点的数据结构是A) 循环链表B) 双向链表C) 二叉链表D) 有序链表参考答案:A在单链表的第一个结点前增加一个表头结点,队头指针指向表头结点,最后一个结点的指针域的值由NULL改为指向表头结点,这样的链表称为循环链表。在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发没有重复地扫描到表中其他所有的结点。双向链表与二叉链表都可以扫描到所有结点,但是会有重复。有序链表如果是单链表的情况下,不能扫描到所有结点。故A选项正确。4、某棵树中共有25个结点,且只有度为3的结点和叶子结点,其中叶子结点有7个,则该树中度为3的结点数为A) 不存在这样的树B) 7C) 8D) 6参考答案:A树是一种简单的非线性结构,直观地来看,树是以分支关系定义的层次结构。在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。首先假设这样的树是存在的,由于只有度为3的结点和叶子结点,可知最后一层都为叶子结点,倒数第二层一部分结点的度为3,一部分结点为叶子结点。结点总数为25,叶子结点有7个,则度为3的结点有18个,由于(3 4-1-1)/2,能把字符1输入给变量c、数值2输入给变量d的输入语句是A) scanf(“%d%lf“, B) scanf(“%c%lf“, C) scanf(“%c%f“, D) scanf(“%d%f“, 参考答案:B%lf是针对double的,如果仅用%f,输入的数据可能没有被完全接收,数据的精度可能不足,选项C,D错误。%f主要针对float类型的变量的输入。%d主要针对整型数据的输入, %c主要针对字符类型的数据的输入,选项A错误。故答案为B选项。13、输出语句:printf(“%dn“,11+011);的输出结果是A) 20B) 22C) 022D) 021参考答案:Aprintf(“%dn“,11+011) 中,11为十进制,011为八进制形式,打印格式%d表示十进制格式输出, ,因此,先将八进制数转化为十进制,011 (8)=81*1+1*80=9,相当于printf(“%dn“,11+9),故答案为20,A选项正确。14、以下叙述正确的是A) 有些算法不能用三种基本结构来表达B) C语言程序不编译也能直接运行C) 结构化程序的三种基本结构是循环结构、选择结构、顺序结构D) 如果C语言程序实现的算法很简单,则计算机不进行任何代码转换就能执行程序参考答案:C算法的三种基本结构可以表达任何算法,只是不同的实现复杂度不相同。因此选项A错误。C语言是编译型语言,程序必须先编译、链接才能运行,因此选项B错误。C语言是高级程序语言,计算机不能识别除了机器语言以外的任何语言,因此C程序代码转换为机器语言才能在计算机上运行。因此选项D错误。答案为C选项。15、若有定义: double x;,则表达式:x=0,x+10,x+ 的值是A) 11.0B) 10.0 C) 0.0D) 1.0参考答案:CC 语言中,逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式。逗号运算符的优先级是所有运算符中级别最低的,逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算,并以最右边表达式值作为整个逗号表达式的值。1、后置自增运算:k+表示先运算,后自加。 2、前置自增运算:+k表示先自加,后运算。因此,表达式x=0,x+10,x+的计算过程为首先赋值x=0,然后将x加10,但是并不对x进行赋值,最后计算x+,并,根据后置自增运算的计算结果,即为x=0.0。 ,故答案为C选项。16、有以下程序#include main() int x=1, y=0, a=0, b=0;switch ( x ) case 1:switch(y) case 0: a+; break;case 1: b+; break;case 2: a+; b+; break;case 3: a+; b+;printf(“a=%d, b=%dn“, a, b);程序的运行结果是A) a=2,b=2B) a=2,b=1C) a=1,b=1D) a=1,b=0参考答案:BC语言还提供了一种用于多分支选择的switch语句,计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。x=1;进入第一层switch,y=0;进入第二层switch,执行a+;break;后a=1;在进入case 2, (这里case 1:没有break, )执行了a+,b+,由于存在break,则跳出switch,得到a=2,b=1,因此答案为B选项。左边所有副作用都结束后,才对其右边的子表达式进行运算,并以最右边表达式值作为整个逗号表达式的值。1、后置自增运算:k+表示先运算,后自加。 2、前置自增运算:+k表示先自加,后运算。因此,表达式x=0,x+10,x+的计算过程为首先赋值x=0,然后将x加10,但是并不对x进行赋值,最后计算x+,并,根据后置自增运算的计算结果,即为x=0.0。 ,故答案为C选项。17、以下程序段中的变量已正确定义for( i=0; imain( ) char c;for (; ( c=getchar() != #; ) if ( c=a main() int n=1,m;m=f(f(f(n); printf(“%dn“,m);int f(int x) return x*2; 程序运行后的输出结果是A) 4B) 2C) 8D) 1参考答案:C在C语言中,需要在main函数后面定义函数,需要提前声明,否则调用报错,无法找到该函数。m=f(f(f(n),一共调用3次f()函数,f()函数是对n*2,因此,结果是n*2*2*2,得到结果为8。故答案为C选项20、关于地址和指针,以下叙述正确的是A) 可以通过强制类型转换让char型指针指向double型变量B) 函数指针p指向一个同类型的函数f时,必须写成:p = C) 指针p指向一个数组f时,必须写成:p = D) 一个指针变量p可以指向自身参考答案:A函数指针p指向一个同类型的函数f时,可以写成:p = f,而不能写成for( i=0; i#define N 3void fun( int xN, int *r1, int *r2 ) int i, j;*r1 = *r2 =0;for( i=0; i“,);可知scanf()的第二个参数是地址,因此,从四个答案中可以判断,只有选项A是pi的地址,其他的均是变量本身。故答案为A选项。25、有以下程序#include main() char s=“012xy08s34f4w2“;int i, n=0;for ( i=0; si!=0; i+ )if(si = 0 return init *= va

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论