计算机二级C语言考试考前模拟试题1.docx

上传人:b****0 文档编号:53181 上传时间:2022-10-01 格式:DOCX 页数:25 大小:294.20KB
下载 相关 举报
计算机二级C语言考试考前模拟试题1.docx_第1页
第1页 / 共25页
计算机二级C语言考试考前模拟试题1.docx_第2页
第2页 / 共25页
计算机二级C语言考试考前模拟试题1.docx_第3页
第3页 / 共25页
计算机二级C语言考试考前模拟试题1.docx_第4页
第4页 / 共25页
计算机二级C语言考试考前模拟试题1.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

计算机二级C语言考试考前模拟试题1.docx

《计算机二级C语言考试考前模拟试题1.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言考试考前模拟试题1.docx(25页珍藏版)》请在冰豆网上搜索。

计算机二级C语言考试考前模拟试题1.docx

计算机二级C语言考试考前模拟试题1

一、选择题(每小题1分,共40分)

  1[单选题]若有定义语句:

doublea,*P=&a;以下叙述中错误的是(  )。

  A.定义语句中的*号是一个间址运算符

  B.定义语句中的*号是一个说明符

  C.定义语句中的P只能存放double类型变量的地址

  D.定义语句中,*P=&a把变量a的地址作为初值赋给指针变量P

  参考答案:

A

  参考解析:

在变量定义doublea,*P=&a;中,*号是一个指针运算符,而非间址运算符,所以A错误。

  2[单选题]有以下程序:

  程序运行后的输出结果是(  )。

  A.321

  B.12300

  C.1

  D.123

  参考答案:

D

  参考解析:

程序首先将数组a[10]中的元素1、2、3分别写入了文件dl.dat文件中,然后又将dl.dat文件中的数据123,整体写入到了变量n的空间中,所以打印n时输出的数据为123。

  3[单选题]有以下程序:

  程序运行后的输出结果是(  )。

  A.1,0,7,0,

  B.1,2,3,4,

  C.1,4,5,9,

  D.3,4,8,l0,

  参考答案:

A

  参考解析:

该程序首先在定义变量时,对二维数组a[][N]进行赋值操作;调用函数fun,函数fun的功能是将二维数组中的a[0][0]、a[1][1]、a[2][2]和a[3][3]赋值给一维数组,最后将一维数组元素1,O,7,0,输出。

  4[单选题]有以下程序段:

  

  程序运行后的输出结果是(  )。

  A.a=10b=50c=30

  B.a=10b=50c=10

  C.a=10b=30c=10

  D.a=50b=30c=50

  参考答案:

B

  参考解析:

本题中a>b的条件不满足,所以不执行逗号表达式a=b,b=c;的操作,而是执行c=a操作,即c的值为10。

  5[单选题]有以下程序:

  

  程序执行后的输出结果是(  )。

  A.y=0

  B.y=-1

  C.y=1

  D.while构成无限循环

  参考答案:

B

  参考解析:

执行y--直到值为0,由于y--是先用再减,所以退出循环时,y的值为-l。

  6[单选题]若有定义语句:

intx=10;,则表达式x-=x+x的值为(  )。

  A.0

  B.-20

  C.-10

  D.10

  参考答案:

C

  参考解析:

算术运算符+的优先级高于-=,且-=的结合方向为自右向左,所以表达式x-=x+x可以表示成x=x-(x+x)=10-(10+10)=-10,选择C。

  7[单选题]有以下程序段:

  程序段:

  

  当执行上述程序段,从键盘上输入555667777abc后,Y的值为(  )。

  A.566.0

  B.55566.0

  C.7777.0

  D.566777.0

  参考答案:

A

  参考解析:

它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。

其中的格式命令可以说明最大域宽。

在百分号(%)与格式码之间的整数用于限制从对应域读入的最大字符数。

所以j的值为55,y的值为566.0,字符数组name为7777abc。

  8[单选题]若有定义语句:

doublex,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是(  )。

  A.scanf(”%If%le”,px,py);

  B.scanf(”%f%f”&x,&y);

  C.sceanf(”%f%f”,x.y);

  D.scanf(”%If%If'’,x,y);

  参考答案:

A

  参考解析:

因为x,y都是double型数据,所以输入时的格式字符应为%lf,所以B与C错误。

D选项中scanf("%lf%If",x,y);应为scanf(“%If%If"”,&x,&y);。

  9[单选题]有以下程序:

  

  程序运行后的输出结果是(  )。

  A.1,2

  B.1,0

  C.3,2

  D.0,0

  参考答案:

A

  参考解析:

首先打印b=a+b=1+0=1的值1,此时已给b赋值为1。

然后打印a=2*b=2*1=2的值2。

所以结果是1,2。

  10[单选题]有两个关系R、S如下:

   

  由关系R通过运算得到关系S,则所使用的运算为(  )。

  A.选择

  B.投影

  C.插入

  D.连接

  参考答案:

B

  参考解析:

投影运算是指对于关系内的域指定可引入新的运算。

本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。

所以选择B。

  11[单选题]下列数据结构中,属于非线性结构的是(  )。

  A.循环队列

  B.带链队列

  C.二叉树

  D.带链栈

  参考答案:

C

  参考解析:

树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。

  12[单选题]若有以下程序段:

  

  程序运行后的输出结果是(  )。

  A.16

  B.8

  C.4

  D.2

  参考答案:

C

  参考解析:

本题考查位运算,属于基础知识,题目中将整型变量8,二进制表达为00001000,右移一位为00000100,即4,选项C正确。

  13[单选题]对于循环队列,下列叙述中正确的是(  )。

  A.队头指针是固定不变的

  B.队头指针一定大于队尾指针

  C.队头指针一定小于队尾指针

  D.队头指针可以大于队尾指针,也可以小于队尾指针

  参考答案:

D

  参考解析:

循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。

因为是循环利用的队列结构,所以队头指针有时可能大于队尾指针,有时也可能小于队尾指针。

  14[单选题]设有定义:

  char*c;

  以下选项中能够使c正确指向一个字符串的是(  )。

  

  ABCD参考答案:

A

  参考解析:

A选项为正确用法,先将字符串存于字符数组中,然后将数组名赋给字符指针(数组名代表数组首地址,定义数组时为其分配确定地址)。

C选项错误,getchar()函数只能输入一个字符给字符型变量,而不是字符指针。

B选项和D选项有类似的错误,两个选项并无语法错误,但运行时可能会出现问题。

因为在B选项和D选项中,字符指针没有被赋值,是个不确定的值,指向一个不确定的内存区域。

这个区域可能存放有用的指令或致据。

在这个不确定的区域重新存放字符串,可能会发生无法预知的错误。

因此A选项正确。

  15[单选题]若变量已正确定义,在if(W)printf(”%d\n”,k);中,以下不可替代w的是(  )。

  A.a<>b+c

  B.ch=getchar()

  C.a==b+c

  D.a++

  参考答案:

A

  参考解析:

选项A是非法的表达式,C语言中没有<>运算符。

  16[单选题]下列排序方法中,最坏情况下比较次数最少的是(  )。

  A.冒泡排序

  B.简单选择排序

  C.直接插入排序

  D.堆排序

  参考答案:

D

  参考解析:

冒泡排序与筒单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n。

  17[单选题]有以下程序:

  

  程序运行后的输出结果是(  )。

  A.500

  B.401

  C.503

  D.1404

  参考答案:

C

  参考解析:

本题重点考察函数的定义和调用,第一次循环,a=0,i=0,返回值a=0*0+1+0=1;第二次循环,a=1,i=10,返回值a=10*10+1+1=102;第三次循环,a=102,i=20,返回值a=20*20+1+102=503;第四次循环,a=503,i=30;不符合i<30,跳出循环,最后结果输出a=503。

  18[单选题]数据库管理系统是(  )。

  A.操作系统的一部分

  B.在操作系统支持下的系统软件

  C.一种编译系统

  D.一种操作系统

  参考答案:

B

  参考解析:

数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。

是一种在操作系统之上的系统软件。

  19[单选题]有以下函数:

  

  该函数的功能是(  )。

  A.计算s所指字符串的长度

  B.比较两个字符串的大小

  C.计算s所指字符串占用内存字节的个数

  D.将s所指字符串复制到字符串t中

  参考答案:

A

  考解析:

首先char*s接受一个字符型数组的首地址并将这个首地址赋给另一个字符型指针char*t,while(*t++)不断循环直到*t为'\0',再将t-1,这时字符指针t指向字符串的最后一个字符,又因为s指向字符数组的首地址即字符串的首地址所以return(t-s)便是返回字符数组中字符串的长度。

  20[单选题]以下选项中,能用作用户标识符的是(  )。

  A._0_

  B.8_8

  C.void

  D.unsigned

  参考答案:

A

  参考解析:

C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。

另外,关键字不能作为标识符。

B中以数字8开头,所以错误。

C与D中用的是关键字void与unsigned,所以错误。

  21[单选题]以下叙述中错误的是(  )。

  A.使用三种基本结构构成的程序只能解决简单问题

  B.结构化程序由顺序、分支、循环三种基本结构组成

  C.C语言是一种结构化程序设计语言

  D.结构化程序设计提倡模块化的设计方法

  参考答案:

A

  参考解析:

使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以A错误。

  22[单选题]下列叙述中正确的是(  )。

  A.栈是“先进先出”的线性表

  B.队列是“先进后出”的线性表

  C.循环队列是非线性结构

  D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

  参考答案:

D

  参考解析:

栈是先进后出的线性表,所以A错误;队列是先进先出的线性表,所以B错误;循环队列是线性结构的线性表,所以C错误。

  23[单选题]有以下程序:

  

  程序运行后的输出结果是(  )。

  A.2,1,1,2

  B.1,2,1,2

  C.2,1,2,1

  D.1,2,2,1

  参考答案:

D

  参考解析:

intm=1,n=2,*P=&m,*q=&n,*r;即指针变量p指向m,指针变量q指向n,r=p;p=q;q=r;即通过指针变量r,将指针p和指针q的指向交换。

因此最后输出1,2,2,1。

  24[单选题]有以下程序:

  

  若想通过键盘输入,使得a1的值为12,a2的值为34,cl的值为字符a,c2的值为字符b,程序运行后的输出结果是:

l2,a,34,b。

则正确的输入格式是(以下︺代表空格,代表回车)(  )。

  

  ABCD参考答案:

D

  参考解析:

在输入多个数据时,若格式控制串中无非格式字符,则认为所有输人的字符均为有效字符。

所以应按选项D的顺序输入数据。

  25[单选题]以下不构成无限循环的语句或语句组是(  )。

  A.n=0:

  do{++n;}while(n<=0);

  B.n=0;

  while

(1){n++;}

  C.n=10;

  whil

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1