首页 > 全部 > 二级C语言 > 二级C语言选择题专项强化真题试卷13

二级C语言选择题专项强化真题试卷13

本单篇文档共7912字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 真题试卷 2481人下载
价格: 0.80 原价:¥8.80
收藏

二级C语言选择题专项强化真题试卷13

选择题

1.有以下程序:

#include<stdio.h>

main()

{

int a=1,b=1;

while(a——)

b——;

printf(\\(C)

A. —1 —1

B. 0 0

C. —1 0

D. 1 1

解析:while循环的判定条件为“a——”,即a先作为循环条件判定,然后再自减1。第一次循环判定条件为真,执行完毕后a=0,b=0,第二次循环判定条件为假,循环不成立,所以只执行判定表达式“a——”,所以最终a=—1,b=0,答案选C。

2.有以下程序:

#include<stdio.h>

int f(int x);

main(,)

{

int n=1,m;

m=f(f(f(n)));

printf(\\(C)

A. 4

B. 2

C. 8

D. 1

解析:考查函数的递归调用。m=f(f(f(n)))=f(f(2))=f(4)=8,答案选C。

3.计算机能直接执行的程序是( )。(D)

A. 源程序

B. 目标程序

C. 汇编程序

D. 可执行程序

解析:计算机能直接执行的程序是二进制的可执行程序,扩展名为.exe。所以选择D选项。

4.二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为( )。(C)

A. DCBA

B. BDCA

C. ABCD

D. BADC

解析:二叉树遍历可以分为3种:前序遍历(访问根结点在访问左子树和访问右子树之前)、中序遍历(访问根结点在访问左子树和访问右子树两者之间)、后序遍历(访问根结点在访问左子树和访问右子树之后)。本题中中序序列为BDCA,后序序列为DCBA,可知A为根结点,BDC为左侧结点,C是B右子结点,D是C右子结点,故前序序列为ABCD,C选项正确。

5.有以下程序:

#include<stdio.h>

main( )

{int y=10;

while(y–);

printt(\\(A)

A. y=–1

B. y=0

C. y=1

D. while构成无限循环

解析:y–表示y使用后再自减1。所以最后-次y的值为0,条件不成立但仍要执行自减操作,y的值为-1,跳出循环。打印y的值-1。

6.有以下程序:

#include<stdio.h>

struet ord

{int x,y;}dt[2]={1,2,3,4};

main( )

{

struet ord*p=dt:

printf(\\(C)

A. 3,4

B. 4,1

C. 2,3

D. 1,2

解析:本题考查结构体数组的相关操作,dt为结构体数组,那么指针p指向了结构体数组的一个元素,所以p->x为1,p->y为2,结果为2,3。选项C正确。

7.某循环队列的存储空间为Q(1:m),初始状态为front=rear=m。现经过一系列的入队操作和退队操作后,front=m一1,real=m,则该循环队列中的元素个数为( )。(B)

A. m一1

B. 1

C. m

D. 0

解析:循环队列长度为m,由初始状态为front=rear=m可知此时循环队列为空。入队运算时,首先队尾指针(rear)进1(即rear+1),然后在rear指针指向的位置插入新元素。特别的,当队尾指针:rear=m+1时,置lear=1。退队运算时,排头指针(front)进1(即front+1),然后删除front指针指向的位置上的元素,当排头指针front=m+1时,置front=1。从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,则该循环队列中的元素个数为m一(m一1)=1。故选择B选项。

8.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是( )。(D)

A. 学生成绩管理系统

B. ERP系统

C. 办公自动化系统

D. LINIX系统

解析:系统软件是管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件。应用软件是为了应用于特定的领域而开发的软件。D选项属于系统软件,A、B、C选项属于应用软件。故选D选项。

9.有以下程序:

#nclude

main()

{ int y=9;

for(;y>0;y- -)

if(y%3= =0)printf(\\(A)

A. 852

B. 963

C. 741

D. 875421

解析:第一次for循环,y的值为9,y%3的值为0,满足条件打印–y,即先减一后打印,所以打印8;

第二次for循环,y的值为7,y%3的值为1,不执行打印语句;

第三次for循环,y的值为6,y%3的值为0,满足条件打印–y,即先减一后打印,所以打印5;

第四次for循环,y的值为4,不满足if条件,不执行打印语句;

第五次for循环,y的值为3,满足if条件,打印输出2;

第六次for循环,y的值为1,不满足条件,不执行打印语句。

10.以下选项中叙述错误的是( )。(C)

A. C程序函数中定义的自动变量,系统不自动赋确定的初值

B. 在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内

C. C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

D. C程序函数的形参不可以说明为static型变量

解析:A选项描述正确,自动变量未赋初值,为随机值;B选项描述正确,变量定义除在函数开始位置外,在复合语句开始也可以;C选项描述是错误的,函数内的静态变量,只在第一次调用时候赋值,以后调用保留上次值;D选项描述也正确,形参属于局部变量,占用动态存储区,而static型变量占用静态存储区。因此C选项正确。

11.有如下程序:

#include

main()

{

int a=0,b=1;

if(a++&&b++)

printf(\\(A)

A. FALSE_OUT:a=1,b=1

B. FALSE_OUT:a=0,b=2

C. TRUE_OUT:a=1,b=2

D. TRUE_OUT:a=0,b=1

解析:逻辑与运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数。表达式(a++&&b++)中,左操作数a++的值为0,已经可以确定整个逻辑表达式的结果为0,因此右操作数b++不再求解,进入else分支执行

本文档预览:3600字符,共7912字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
二级C语言选择题专项强化真题试卷13

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号