最新全国计算机等级考试二级C语言真题库之选择题.pdf
《最新全国计算机等级考试二级C语言真题库之选择题.pdf》由会员分享,可在线阅读,更多相关《最新全国计算机等级考试二级C语言真题库之选择题.pdf(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 全 国 计 算 机 等 级 考 试 二 级 C 语 言 真 题 库 之 选 择 题(1 1)精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 全国计算机等级考试等级考试真题库之选择题(11)1.下列叙述中正确的是 A)一个算法的空间复杂度大,则其时间复杂度也必定大 B)一个算法的空间复杂度大,则其时间复杂度必定小 C)一个算法的时间复杂度大,则其空间复杂度必定小 D)算法的时间复杂度与空间复杂度没有直接关系 参考答案:D【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为 D。2.
2、下列叙述中正确的是 A)循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 B)循环队列中的元素个数随队头指针的变化而动态变化 C)循环队列中的元素个数随队尾指针的变化而动态变化 D)以上说法都不对 参考答案:A【解析】在循环队列中,用队尾指针 rear指向队列中的队尾元素,用排头指针front 指向排头元素的前一个位置。因此,从排头指针 front 指向的后一个位置直到队尾指针 rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化,A正确。其时间复杂度必定小一个算法的时间复杂度大则其空间复杂度必定小算法的时间复杂度与空间复杂度没有直
3、接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随队头指针与队尾指针的变化 变化以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 3.一棵二叉树中共有 80个叶子结点与 70个度为 1的结点,则该二叉树中的总结点 数为 A)219 B)229 C)230 D)231 参考答案:B【解析】二叉树中,度为 0的节点数等于度为 2的节点数加 1,即 n2=n0-1,叶子节点即度为 0,则 n2=79,总结点数为 n0+n1+n2=80+70+7
4、9=229,答案为 B。4.对长度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 A)9 B)10 C)45 D)90 参考答案:C【解析】冒泡法是在扫描过程中逐次比较相邻两个元素的大小,最坏的情况是每次比较都要将相邻的两个元素互换,需要互换的次数为9+8+7+6+5+4+3+2+1=45,选 C。5.构成计算机软件的是 A)源代码 B)程序和数据 C)程序和文档 D)程序、数据及相关文档 参考答案:D 其时间复杂度必定小一个算法的时间复杂度大则其空间复杂度必定小算法的时间复杂度与空间复杂度没有直接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随
5、队头指针与队尾指针的变化 变化以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除【解析】软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数 据和有关的文档,选 D。6.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段 任务的是 A)测试 B)设计 C)可行性研究 D)实现 参考答案:C【解析】开发阶段包括分析、设计和实施两类任务。其中分析、设计包括需求分析、总体设计和详细设计 3个阶段,实施则包括编码和测试两个阶段,C不属于开发阶段。7.下面不能作为
6、结构化方法软件需求分析工具的是 A)系统结构图 B)数据字典(DD)C)数据流程图(DFD 图)D)判定表 参考答案:A【解析】结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。8.在关系模型中,每一个二维表称为一个 其时间复杂度必定小一个算法的时间复杂度大则其空间复杂度必定小算法的时间复杂度与空间复杂度没有直接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随队头指针与队尾指针的变化 变化以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵
7、权请联系网站删除 A)关系 B)属性 C)元组 D)主码(键)参考答案:A【解析】关系模型采用二维表来表示,即每个二维表称为一个关系。9.若实体 A 和 B是一对多的联系,实体 B和 C是一对一的联系,则实体 A 和 C的联系是 A)一对一 B)一对多 C)多对一 D)多对多 参考答案:B【解析】A和 B为一对多的联系,则对于 A中的每一个实体,B中有多个实体与之联系,而 B与 C为一对一联系,则对于 B中的每一个实体,C中之多有一个实体与之联系,则可推出对于 A中的每一个实体,C中有多个实体与联系,所以为一对多联系。10.其时间复杂度必定小一个算法的时间复杂度大则其空间复杂度必定小算法的时间
8、复杂度与空间复杂度没有直接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随队头指针与队尾指针的变化 变化以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 A)选择 B)投影 C)交 D)并 参考答案:D【解析】关系 T中的元素与关系 R和关系 S中不同元素的总和,因此为并操作。11.我们所写的每条 C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是 A)一条 C语句可能会被转换成零条机器指令 B)一条 C语句可能会被
9、转换成多条机器指令 C)一条 C语句对应转换成一条机器指令 D)某种类型和格式的 C语句被转换成机器指令的条数是固定的 参考答案:C 其时间复杂度必定小一个算法的时间复杂度大则其空间复杂度必定小算法的时间复杂度与空间复杂度没有直接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随队头指针与队尾指针的变化 变化以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除【解析】一个 C语句经过编译后产生若干条机器指令 声明部分不是语句,不产生 机器指令,
10、只是对有关数据的声明 而且固定类型和格式的 C语句被转换成机器指 令的条数固定 所以选择 C选项 12.关于 while(条件表达式)循环体,以下叙述正确的是 A)循环体的执行次数总是比条件表达式的执行次数多一次 B)条件表达式的执行次数总是比循环体的执行次数多一次 C)条件表达式的执行次数与循环体的执行次数一样 D)条件表达式的执行次数与循环体的执行次数无关 参考答案:B【解析】while循环是先判断条件,满足条件后执行循环体,执行完后接着判断条件,执行,直到最后一次判断条件后不成立,跳出循环,所以最后一次执行了条件表达式,但是没有执行循环体,所以选择 B选项 13.关于 C语言的符号常量,
11、以下叙述中正确的是 A)符号常量的符号名是标识符,但必须大写 B)符号常量是指在程序中通过宏定义用一个符号名来代表一个常量 C)符号常量在整个程序中其值都不能再被重新定义 D)符号常量的符号名必须是常量 参考答案:B 其时间复杂度必定小一个算法的时间复杂度大则其空间复杂度必定小算法的时间复杂度与空间复杂度没有直接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随队头指针与队尾指针的变化 变化以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除【
12、解析】在 C语言中,可以用一个标识符来代表一个常量,称为符号常量 这个标识 符必须在程序中进行特别的 指定,并符合标识符的命名规则 用作符号常量的标识符通常采用大写字母表示,在主函数中其值不能再被定义 所以选择 B选项 14.若有以下程序#include main()int b=10,a=-11;a%=b%=4;printf(%d%dn,a,b);则程序的输出结果是 A)1 2 B)-1 2 C)-1-2 D)1-2 参考答案:B【解析】先计算 b%=4,即 b=b%4,结果为 2,然后计算 a%=2,结果为-1,最后 a的值为-1,b的值为 2,所以选择 B选项 15.若有以下程序#incl
13、ude main()int a=0,b=0,c=0;c=(a-=+a),(a+=b,b+=4);printf(%d,%d,%dn,a,b,c);则程序的输出结果是 A)0,4,0 B)0,4,4 C)1,4,1 D)1,4,4 其时间复杂度必定小一个算法的时间复杂度大则其空间复杂度必定小算法的时间复杂度与空间复杂度没有直接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随队头指针与队尾指针的变化 变化以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系
14、网站删除 参考答案:A【解析】逗号运算符的结合性从左到右,因此逗号表达式将从左到右进行计算。且逗号运算符的优先级最低,所以先计算 c=(a-=+a)这部分。其中,赋值运算符从右往左计算,先执行+a,a自增 1后再赋值,所以 a的值为 1,执行 a=a-1,即 a=1-1,a 的值为 0,并将 0赋给变量 c 第二部分(a+=b,b+=4),先执行 a=a+b,a=0+0,即 a的值为 0,然后执行 b+=4,b=0+4,即 b的值为 4 所以打印结果为 0,4,0,选择 A选项 16.若有以下程序#include main()int a=0,b=0,c=0,d;c=(a+=b,b+=a);/*
15、第 4行*/d=c;/*第 5行*/;/*第 6行*/;printf(%d,%d,%dn,a,b,c);/*第 7行*/编译时出现错误,你认为出错的是 A)第 4行 B)第 5行 C)第 6行 D)第 7行 参考答案:A【解析】第 4行逗号表达式中间的第二个表达式为空,是不合法的,可以去掉写成 a+=b,b+=a,也可以在里面补一个表达式,如 a+=b,a,b+=a 所以选择 A选项 其时间复杂度必定小一个算法的时间复杂度大则其空间复杂度必定小算法的时间复杂度与空间复杂度没有直接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随队头指针与队尾指针的变化 变化
16、以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 17.若有以下程序#include main()int a=1,b=2,c=3,d=4;if(a=2)|(b=1)c=2;if(c=3)&(d=-1)a=5;printf(%d,%d,%d,%dn,a,b,c,d);则程序的输出结果是 A)1,2,3,4 B)2,1,2,-1 C)5,1,2,-1 D)2,2,2,4 参考答案:D【解析】第一个 if语句的判断条件中是逻辑或表达式,所以只要有一个运算对象为真结果就为真,且如果前
17、面的已经为真,后面的表达式不再进行执行判断 执行第一个 if判断条件时 a的值为 2,整个表达式的值为真,b的值不变,c的值为 2 判断第二个 if条件为逻辑与表达式,只有两个运算对象均非零,才为真,第一个表达式 c=3,不成立,不再判断第二个运算对象,所以不执行 d=-1 操作和 a=5操作 所以结果为选项 D 18.若有以下程序#include main()int a=1,b=2,c=3,d=4,r=0;if(a!=1);else r=1;if(b=2)r+=2;else;if(c!=3)r+=3;else;if(d=4)r+=4;printf(%dn,r);其时间复杂度必定小一个算法的时
18、间复杂度大则其空间复杂度必定小算法的时间复杂度与空间复杂度没有直接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随队头指针与队尾指针的变化 变化以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 则程序的输出结果是 A)10 B)7 C)6 D)3 参考答案:B【解析】else总是和与之最近的上面的 if配对,执行第一个 if,判断条件不成立,执行else r=1;语句 再执行第二个 if语句中的判断条件,成立,左移执行 r+=2,r的值为
19、 3,再执行第三个 if的判断条件,不成立执行第 7行 else后面的空语句;再执行第四个 if的判断条件 d=4成立,执行 r+=4,r的值为 7 然后打印输出 19.若有以下程序#include main()int s=0,n;for(n=0;n4;n+)switch(n)default:s+=4;case 1:s+=1;case 2:s+=2;case 3:s+=3;printf(%dn,s);则程序的输出结果是 A)6 B)18 C)10 D)24 参考答案:D【解析】第一次 for 循环,n的值为 0,所以从 default 后面的语句开始执行,s+=4,s+=1,s+=2,s+=3
20、,s 的值为 10 在进入第二次 for 循环,n的值为 1,所以执行其时间复杂度必定小一个算法的时间复杂度大则其空间复杂度必定小算法的时间复杂度与空间复杂度没有直接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随队头指针与队尾指针的变化 变化以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 s+=1,s+=2,s+=3,s 的值为 16 在进入第三次 for 循环,n的值为 2,所以执行 s+=2,s+=3,s的值为 21 在进入第四次
21、 for 循环,n的值为 3,所以执行 s+=3,s的值为 24 20.若有以下程序#include main()int a=-2,b=0;while(a+)+b;printf(%d,%dn,a,b);则程序的输出结果是 A)1,2 B)0,2 C)1,3 D)2,3 参考答案:A【解析】第一次 while判断条件中 a+,先用后加,为-2 不为 0条件为真,执行 a的自加与+b操作,a的值变为-1,b 的值变为 1 第二次 while判断后,a的值变为 0,b的值变为 2 第三次 while判断条件为假,但是仍要执行自加操作,即值为 1,跳出循环 打印 1和 2 21.若有以下程序#incl
22、ude main()int a=6,b=0,c=0;for(;a;)b+=a;a-=+c;printf(%d,%d,%dn,a,b,c);则程序的输出结果是 A)1,14,3 B)0,14,3 C)0,18,3 其时间复杂度必定小一个算法的时间复杂度大则其空间复杂度必定小算法的时间复杂度与空间复杂度没有直接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随队头指针与队尾指针的变化 变化以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 D)0
23、,14,6 参考答案:B【解析】本循环的条件判断时只要 a为 0就退出循环体,初始值 a的值为 6,满足条件执行完循环体,b的值为 6,a-=+c 即 a=a-(+c),所以 a的值为 5,c的值为 1 第二次循环后 b的值为 11,a的值为 3,c的值为 2 第三次也是最后循环后,a的值为 0,b的值 14,c的值为 3 22.以下选项中非法的 C语言字符常量是 A)007 B)b C)aa D)xaa 参考答案:C【解析】C选项中是字符串常量,应该用双引号表示即 aa 所以选择 C选项 23.若有以下程序#include char f(char x)return x*x+a;main()c
24、har a,b=0;for(a=0;a4;a+=1)b=f(a);putchar(b);则程序的输出结果是 A)abcd B)ABEJ C)abej D)ABCD 参考答案:C 其时间复杂度必定小一个算法的时间复杂度大则其空间复杂度必定小算法的时间复杂度与空间复杂度没有直接关系参 计算工作量两者之间并没有直接关系答案为下列叙述中正确的是循环队列中的元素个数随队头指针与队尾指针的变化 变化以上说法都不对参考答案解析在循环队列中用队尾指针指向队列中的队尾元素用排头指针指向排头元素的前一个精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除【解析】该题目首先初始化变量 a和 b,通
25、过 for 循环语句使 a取值为 0、1、2、3,f函数的功能是将 a*a+a 的值返回给 b,即 b为 a、b、e、j。最后通过字符输出函数 putchar()将 b输出。因此 C选项正确。24.若有以下程序#include void sp(int*a)int b=2;a=&b;*a=*a*2;printf(%d,*a);main()int k=3,*p=&k;sp(p);printf(%d,%dn,k,*p);则程序的输出结果是 A)4,3,3 B)4,3,4 C)6,3,6 D)6,6,6 参考答案:A【解析】首先在主函数中给整型变量 k赋值为 3,将变量 k的地址赋给指针变量p;调用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 全国 计算机等级考试 二级 语言 题库 选择题
限制150内