计算机二级C语言考试上机模拟试题.pdf_第1页
计算机二级C语言考试上机模拟试题.pdf_第2页
计算机二级C语言考试上机模拟试题.pdf_第3页
计算机二级C语言考试上机模拟试题.pdf_第4页
计算机二级C语言考试上机模拟试题.pdf_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

2014 年计算机二级 C 语言考试上机模拟试题 一、选择题(每小题 1 分,共 40 小题,共 40 分) 1算法的空间复杂度是指( )。 A算法程序的长度 B算法程序中的指令条数 C算法程序所占的存储空间 D算法执行过程中所需要的存储空间 2下列叙述中正确的是( )。 A一个逻辑数据结构只能有一种存储结构 B逻辑结构属于线性结构,存储结构属于非线性结构 C一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 3简单的交换排序方法是( )。 A快速排序 B选择排序 C堆排序 D冒泡排序 4关于结构化程序设计原则和方法的描述错误的是( )。 A选用的结构只准许有一个入口和一个出口 B复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 C不允许使用 GOT0 语句 D语言中若没有控制结构,应该采用前后一致的方法来模拟 5相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。 A可重用性差 B安全性差 C非持久性 D冗余性 6面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是( )。 A模拟现实世界中不同事物之间的联系 B强调模拟现实世界中的算法而不强调概念 C使用现实世界的概念抽象地思考问题从而自然地解决问题 D不强调模拟现实世界中的算法而强调概念 7对如下二叉树进行后序遍历的结果为( )。 AABCDEF BDBEAFC CABDECF DDEBFCA 8软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。 A模块间的关系 B系统结构部件转换成软件的过程描述 C软件层次结构 D软件开发过程 9两个或两个以上模块之间关联的紧密程度称为( )。 A耦合度 B内聚度 C复杂度 D数据传输特性 10下列描述错误的是( )。 A继承分为多重继承和单继承 B对象之间的通信靠传递消息来实现 C在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征 D类是具有共同属性、共同方法的对象的集合 11数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。 ADB 包含 DBS 和 DBMS BDBMS 包含 DB 和 DBS CDBS 包含 DB 和 DBMS D没有任何关系 12下列合法的声明语句是( )。 Aint_abc=50; Bdouble int=3+5e25; Clong do=1L: Dfloat 3_asd=3e-3; 13设 x、Y 和 z 是 int 型变量,且 x=4,y=6,z=8,则下列表达式中值为 0 的是( )。 Ax&Y Bxnext=r-next;p-:next=r;rm:next=q; Bq-:next=r;q-next=r-next;r-next=q; Cq-:next=r-next;r-next=q;p-next=r; Dq-:next=q;p-next=r;q-next=r-next; 26有下列程序: main() int i,j,x=0; for(i=0,i=20)&(i*i1;i+)f*=i; Df=1;for(i=n;i=2;i-)f*=i; 38下述程序执行的输出结果是( )。 #include main() char a24; , strcpy(a。“are“);strcpy(a1,“you“); ao3=& ; printf(“sn“,a); ) Aare&you Byou Care D& 39设 x=011050,则 x=x01252 的值是( )。 A0000001000101000 B1111110100011001 C0000001011100010 D1100000000101000 40在“文件包含, ,预处理语句的使用形式中,当#include 后面的文件名用(双引 号)括时,寻找被包含文件的方式是( )。 A直接按系统设定的标准方式搜索目录 B先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索 C仅仅搜索源程序所在目录 D仅仅搜索当前目录 二、基本操作题(共 18 分) 请补充函数 proc(),该函数的功能是计算下面公式 SN 的值: SN=1+1/3 十 4/5+ +2N-1/SN-1 例如,当 N=20 时,SN=29031674。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编 写的若干表达式或语句。 试题程序: #include #include #include double proc(int n) double s=10,sl=00; int k; for(【1】 ;knext=q,这时 r 指向的节点为 q;p-next=r,这时 P 指向的节点为 r;q-next:r-next, 因为 r 节点已经指向 q,所以执行这个语句后 q 又指向 q,所以选项 D 不正确。 26B。 【解析】在第 1 次外层 for 循环中,首先 x+得到 x=1。进入到内层 for 循 环,只有循环 j 的值为奇数时,变量 x 的值才自加 1,所以在内层 for 循环执行过程中,变 量 x 的值自加两次,当退出内层 for 循环时,x=3,然后执行 x+,得到 x=4。在进入执行第 2 次外层 for 循环中,首先 x+得到 x=5。进入到内层 for 循环,只有循环变量 J 的值为奇数 时,变量 X 的值才自加 1,所以在内层 for 循环执行过程中,变量 X 的值自加 l 两次,当退 出内层 for 循环时,x=7,然后执行 x+,得到 x=8,所以打印输出变量 x 的值为 8。 27C。 【解析】子函数 funl(double a)的功能是返回 a 的平方值的整数部分。子函数 fun2(double X, double y)的功能是返回 X 的平方值的整数部分与 Y 的平方值的整数部分的 和。又因为题中变量 W 的定义为 double 型,函数 fun(2)的定义为 int 型,按照各类数值型数 据间的混合运算,整型数据被转换为实型数据。所以双精度型变量 w 的值为 50。 28c。 【解析】在 for 循环语句中自变量 i 从 0 开始,每次自加 2,执行 s+=*(t+i) 语句,因为 C 语言规定数组名做表达式相当于数组的首地址,也就是第一个元素的地址。 因此,*(t+i)代表数组的第 i+1 个元素。所以程序运行的结果是 l+3+5+7+9=25,即变量 S 的 值等于 25。 29A。 【解析】本题在函数 int fun(int n)的定义中又出现了对函数 fun 的调用,所 以函数 fun 是递归函数。因而在主函数中调用 x=fun(x)时,当输入 10 赋给变量 X 时,递归 调用的过程为 fun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7) =10+9+8+7+fun(6)=10+9+8+7+6+fun(6) =10+9+8+7+6+5+fun(4) =10+9+8+7+6+5+4+fun(3) =10+9+8+7+6+5+4+3+fun(2) =10+9+8+7+6+5+4+3+2+fun(1) =10+9+8+7+6+5+4+3+2=55 30C。 【解析】在函数 int fun(int x,int n)的定义中,变量 sum 为一个静态局部 变量。 由于在整个程序运行期间, 静态局部变量在内存中的静态存储中占据着永久的存储单 元。函数 int fun(int x,int n)的功能是求出数组 x各个元素的和,所以在主函数中,调用 函 数 fun(a , 5) 后 , 变 量 sum=1+2+3+4+5=15 , 当 再 次 调 用 fun(b , 4) 后 , 变 量 sum=15+6+7+8+9=45,所以 s=15+45=60。 31D。 【解析】执行第一次 for 循环时,用表达式 piJ!=o来判断字符串数 组指针 P 是否到达字符串的结尾,如果没有到达,继续执行 while 中的语句。if 语句表示 (pij-o)除 2 的余数不为 0 时,即字符串所有奇数,执行后面的语句。所以退出第 1 次 for 的循环体时,输出为 397,执行第 2 次循环体。对字符串“2584”进行处理,输出结 果为 5,因而最后输出结果为 3975。 32B。 【解析】从题目中可知, O 、 t 、 分别为一个字符,而 sizeof 是求字节个数的函数,其中包括O占的字节,strlen 函数是求数组长度的函数;其以 0结束,因此 strlen 的值为 5,sizeof 的值为 20。 33C。 【解析】数组的下标是从 0 开始的,A 中越界,行下标和列下标都不能越 界;B 中,虽然是个地址,但是也同样越界了;选项 c 中表示的是第一个的首地址;选项 D 表示的为其元素的值,并不是地址。 34 B。【解析SEEK_SET 代表文件的开始, SEEK_END 代表文件末尾, SEEK_CUR 代表文件当前位置。 35 C。 【解析】 当 if 执行到第一个满足(i*i=20)&(i*i=100)这个条件的 i 出现时, 通过 break 语句跳出循环,执行下面的 prinlf 语句。 36B。 【解析】指针中存放的是变量的地址,指针也可以进行增减运算,这时指 针移动的最小单位是一个存储单元,而不是一个字节。所以题中 p+6 指的是将指针向后移 动了 6 个存储单元,即指向 b6,存放的是 b6的地址。 37D。 【解析】由 n!的数字定义可知 n!=n*(n-1)*(n-2)*1。在选项 A 中,由于 f 的初值为 0,在 for 循环语句中,f 依次乘以 l,2,3, ,n,最后计算得到 f=n!=0,所以选 项 A 不正确。在选项 B 中,f 的初值为 l,在 for 循环语句中,f 依次乘以 l,2,3, ,(n-1), 最后计算得到 f=(n-1)!,所以选项 B 不正确。在选项 C 中,f 的初值为 l,在 for 循环语句中, f 依次乘以 n,n+1,n+2, ,所以选项 C 不正确。在选项 D 中,f 的初值为 l,在 for 循 环语句中,f 依次乘以 n,n-1,n-2, ,2,最后计算得到 f=n!,所以选项 D 正确。 38A。 【解析strcpy 实现的功能是复制,该操作把 are 复制到 a 中,aE03 E33 一 ,且 strcpy(aEl, “you“)把 you 复制到 al中,故输出 a 为“are&you” 。 39A。 【解析】本题主要考查按位与运算,x=Oll050 的二进制形式为 00010010000101000 , Ol252 的 二 进 制 形 式 为 0000001010101010 , 两 者 相 与 得 0000001000101000。 40B。 【解析】#include”文件名” ,预处理程序首先在引用被包含文件的源文件 所在的目录下搜索指定的文件,如没找到,再按系统指定的标准目录搜索。 二、基本操作题程序填空题 【1】k=2【2】s+=(2*k 一 1)sl【3】s 【解析】由题目中所给公式可知,多项武的第一项为 1。变量 s 中存放多项式的和,其 初始值为 l。因此,循环从第二项开始,因此, 【1】处填“k=2” ;变量 sl 中存放各项表达武 的值,由公式可知, 【2】处填“s+=(2*k-1)sl” ;题目中要求将多项式的和返回到主函数当 中,因此, 【3】处填“s” 。 三、程序改错题 (1)错误:int j=1;正确:double j=10; (2)错误:y+=1(i*i); 正确:y+=j(i*i); 【解析】由函数 proc()可知,变量 j 的作用是控制每一项符号的变化,并且作为运算的 分子,应改为 double 型变量。因此, “int j=1; ”应改为“double j=10; ” 。变量 y 中存放多 项式的值, 多项式中的每一项符号由变量

温馨提示

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

评论

0/150

提交评论