欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机等级考试二级C模拟题及答案详解.doc

    • 资源ID:60082401       资源大小:57KB        全文页数:11页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机等级考试二级C模拟题及答案详解.doc

    计算机等级考试二级C模拟题及答案详解一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)算法的空间复杂度是指 A)算法程序的长度 B)算法程序中的指令条数 C)算法程序所占的存储空间 D)执行算法需要的内存空间(2)在结构化程序设计中,模块划分的原则是 A)各模块应包括尽量多的功能 B)各模块的规模应尽量大 C)各模块之间的联系应尽量紧密 D)模块内具有高内聚度、模块间具有低耦合度(3)下列叙述中,不属于测试的特征的是 A)测试的挑剔性 B)完全测试的不可能性 C)测试的可靠性 D)测试的经济性(4)下面关于对象概念的描述中,错误的是 A)对象就是C语言中的结构体变量 B)对象代表着正在创建的系统中的一个实体 C)对象是一个状态和操作(或方法)的封装体 D)对象之间的信息传递是通过消息进行的(5)下列关于队列的叙述中正确的是 A)在队列中只能插入数据 B)在队列中只能删除数据 C)队列是先进先出的线性表 D)队列是先进后出的线性表(6)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是 A)acbed B)decab C)deabc D)cedba(7)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为 A)n+1 B)n-1 C)2n D)n/2(8)设有如下三个关系表RSTABCABCm13m13nn13下列操作中正确的是 A) T=RS B) T=RS C) T=R×S D) T=R/S(9)下列叙述中,正确的是 A)用E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系 B)用E-R图只能表示实体集之间一对一的联系 C)用E-R图只能表示实体集之间一对多的联系 D)用E-R图表示的概念数据模型只能转换为关系数据模型(10)下列有关数据库的描述,正确的是 A)数据处理是将信息转化为数据的过程 B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变 C)关系中的每一列称为元组,一个元组就是一个字段 D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)C语言规定,在一个源程序中,main函数的位置 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后(12)以下叙述中错误的是 A)计算机不能直接执行用C语言编写的源程序 B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件 C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件 D)后缀为.obj和.exe的二进制文件都可以直接运行(13)下列选项可以正确表示字符型常量的是 A)r B)"a" C)"897" D)296(14)以下叙述中正确的是 A)构成C程序的基本单位是函数 B)可以在一个函数中定义另一个函数 C)main()函数必须放在其他函数之前 D)C函数定义的格式是K&R格式(15)设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:代表空格字符) A) 10X20Y<回车> B) 10X20Y<回车> C) 10X<回车> 20Y<回车> D) 10X<回车> 20Y<回车>(16)若有说明:int *p,m=5,n;,以下正确的程序段是 A)p=&n;scanf("%d",&p); B)p=&n;scanf("%d",*p) C)scanf("%d",&n);*p=n; D)p=&n;*p=m;(17)在执行下述程序时,若从键盘输入6和8,则结果为 main() int a,b,s; scanf("%d%d",&a,&b); s=a if(a<b) s=b; s*=s; printf("%d",s); A)36 B)64 C)48 D)以上都不对(18)若执行下面的程序时,从键盘输入5和2,则输出结果是 main() int a,b,k; scanf("%d,%d ",&a,&b); k=a; if(a<b)k=a%b; else k=b%a; printf("%dn",k); A)5 B)3 C)2 D)0(19)在C语言中,函数返回值的类型最终取决于 A)函数定义时在函数首部所说明的函数类型 B)return语句中表达式值的类型 C)调用函数时主调函数所传递的实参类型 D)函数定义时形参的类型(20)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是 A)c=(c-A)%26+a B)c=c+32 C)c=c-A+a D)c=(A+c)%26-a(21)以下选项中,当x为大于l的奇数时,值为0的表达式是 A)x%2=1 B)x/2 C)x%2!=0 D)x%2=0(22)有以下程序 main() int k=5,n=0; do switch(k) case 1: case 3:n+=1;k-;break; default:n=0;k-; case 2: case 4:n+=2;k-;break; printf("%d",n); while(k>0 && n<5); 程序运行后的输出结果是 A)235 B)0235 C)02356 D)2356(23)有如下程序 main() int n=9; while(n>6)n-; printf("%d",n); 该程序的输出结果是 A)987 B)876 C)8765 D)9876(24)有以下程序 #include<stdio.h> main() int c; while(c=getchar()!=n) switch(c-2) case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break; printf("n") 从第一列开始输入以下数据<CR>代表一个回车符。 2743<CR> 程序的输出结果是 A)66877 B) C) D)(25)有以下程序 main() int x=0,y=0,i; for (i=1;+i) if (i%2=0) x+;continue; if (i%5=0) y+;break; printf (" %d,%d",x,y); 程序的输出结果是 A)2,1 B)2,2 C)2,5 D)5,2(26)有以下程序 main() int a44=l,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,j,k,t; for(i=0;i<4;i+) for(j=0;j<3;j+) for(k=j+1;k<4;k+) if(aji>aki)t=aji;aji=aki;aki=t;/*按列排序*/ for(i=0;i<4;i+)printf("%d,",aii); 程序运行后的输出结果是 A)1,6,5,7, B)8,7,3,1, C)4,7,5,2, D)1,6,2,1,(27)有以下程序 int f(int n) if(n=1)return 1; else return f(n-1)+1; main() int i,j=0; for(i=1;i<3;i+)j+=f(i); printf("%dn",j); 程序运行后的输出结果是 A)4 B)3 C)2 D)1(28)当运行以下程序时,从键盘输入AhaMA(空格)Aha<CR>,则下面程序的运行结果是 #include<stdio.h> main() char s80,c=a; int i=0; scanf("%s",s); while(si!= if(si=c)si-32; else if(si=c-32)si=si+32; i+; puts(s); A)ahaMa B)AbAMa C)AhAMa空格ahA D)ahAMa空格ahA(29)下面程序输出的结果是 main() int i; int a33=1,2,3,4,5,6,7,8,9; for(i=0;i<3;i+) printf("%d ",a2-ii); A)1 5 9 B)7 5 3 C)3 5 7 D)5 9 1(30)现有如下程序段 #include "stdio.h" main() int a56=23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1; int i=0,j=5; printf("%dn",*(&a00+2*i+j-2); 则程序的输出结果为 A)21 B)78 C)23 D)28(31)请选出正确的程序段 A)int *p; scanf("%d",p); B)int *s, k; *s=100; C)int *s, k; char *p, c; s=&k; p=&c; *p=a; D)int *s, k; char *p, e; s=&k; p=&c; s=p; *s=1; (32)下面程序段的运行结果是 char a="lanuage",*p; p=a; while(*p!=u)printf("%c",*p-32);p+; A)LANGUAGE B)language C)LAN D)langUAGE(33)以下程序的输出结果是 #include<stdio.h> int a33=1,2,3,4,5,6,7,8,9,*p; main() p=(int*)malloc(sizeof(int); f(p,a); printf("%dn",*p); free(p); f(int *s, int p3) *s=p11; A)1 B)4 C)7 D)5(34)有以下程序 void f(int *q) int i=0; for(;i<5; i+) (*q)+; main() int a5 =1,2,3,4,5, i; f(a); for(i=0;i<5; i+) printf("%d,", ai); 程序运行后的输出结果是 A)2,2,3,4,5, B)6,2,3,4,5, C)1,2,3,4,5, D) 2,3,4,5,6,(35)以下合法的字符型常量是 A)x13 B) 081 C) 65 D)"n"(36)有以下语句,则对a数组元素的引用不正确的是 int a10=0,1,2,3,4,5,6,7,8,9,*p=a; A)ap-a B)*(&ai) C)pi D)*(*(a+i)(37)有以下程序 # include <string.h> main() char p20=a, b, c, d, q="abc", r="abcde" strcat(p, r); strcpy(p+strlen(q), q); printf("%dn",strlen(p); 程序运行后的输出结果是 A)9 B)6 C)11 D)7(38)在C语言中,变量的隐含存储类别是 A)auto B)static C)extern D)无存储类别(39)以下程序的输出结果是 main() int c=35; printf("%dn",c&c); A)0 B)70 C)35 D)1(40)有以下程序 #include <stdio.h> main() FILE *fp; int i=20,j=30,k,n; fp=fopen("d1.dat","w"); fprintf(fp,"%dn",i);fprintf(fp,"%dn",j); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d%d",&k,&n); printf("%d %dn",k,n); fclose(fp); 程序运行后的输出结果是 A)20 30 B)20 50 C)30 50 D)30 20二、填空题请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。(1)设一棵完全二叉树共有700个结点,则在该二叉树中有 【1】 个叶子结点。(2)常用的黑箱测试有等价类划分法、 【2】 和错误推测法3种。(3)数据库管理系统常见的数据模型有层次模型、网状模型和 【3】 3种。(4)通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【4】 。(5)数据库保护分为:安全性控制 、 【5】 、并发性控制和数据的恢复。(6)执行以下程序后的输出结果是 【6】 。 main() int a=10; a=(3*5,a+4);printf("a=%dn",a); (7)以下程序的输出结果是 【7】 。 #include <string.h> main() printf("%dn",strlen("IBMn0121");(8)已定义char ch=$; int i=1,j;,执行j!=ch&&i+以后,i的值为 【8】 。(9)以下程序的运行结果是 【9】 。 #include<stdio.h> long fib(int g) switch(g) case 0:return 0; case 1: case 2:return 1; return(fib(g-1)+fib(g-2); main() long k; k=fib(5); printf("k=%5ldn",k);(10)下面程序的功能是输出数组s中最大元素的下标,请填空。 main() int k, p,s=1, -9, 7, 2, -10, 3; for(p=0, k=p; p<6; p+) if(sp>sk) 【10】 printf("%dn",k);(11)以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。 main() int x10,a9,I; for(I=0; I<10; I+) scanf("%d",&xI); for( 【11】 ; I<10; I+ ) aI-1=xI+ 【12】 ;. for(I=0; I<9; I+) printf("%d ",aI); printf(""); (12)设有以下程序,为使之正确运行,请在横线中填入应包含的命令行。(注:try_me()函数在a:myfile.txt中有定义。) 【13】 main() printf("n"); try_me();printf("n");(13)以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next=NULL),请填空。 #include<stdio.h> struct list int data; struct list *next; struct list*creatlist() struct list *p,*q,*ph;int a;ph=(struct list *)malloc (sizeof(struct list); p=q=ph;printf("Input an integer number; entre-1 to end:n");scanf("%d",&a); while(a!=-1) p=(struct list*)malloc(sizeof(struct list); 【14】 =a;q->next=p; 【15】 =p;scanf("%d",&a); p->next=0;return(ph); main() struct list * head; head=creatlist();答案详解:(1)D 【解析】 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度是指执行这个算法所需要的内存空间。(2)D 【解析】 在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,也是模块划分的原则。(3)C 【解析】 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。其中,没有测试的可靠性这一说法。(4)A 【解析】 对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联系,从模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的,对象的思想广泛应用于C+、Java等语言中,因此A)错误。(5)C 【解析】 队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删除操作。其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。队列具有先进先出的特点,它是按"先进先出"的原则组织数据的。(6)D 【解析】 依据后序遍历序列可确定根结点为c;再依据中序遍历序列可知其左子树由deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成,如下图所示,求得该二叉树的前序遍历序列为选项D)。 (7)A 【解析】 对于任何一棵二叉树T,如果其终端结点(叶子)数为n1,度为2的结点数为n2,则n1=n2+1,所以该二叉树的叶子结点数等于n+1。(8)C 【解析】 对于两个关系的合并操作可以用笛卡尔积表示。设有n元关系R和m元关系S,它们分别有p和q个元组,则R与S的笛卡儿积记为R×S它是一个m+n元关系,元组个数是p×q由题意可得,关系T是由关系R与关系S进行笛卡尔积运算得到的。(9)A 【解析】 两个实体之间的联系实际上是实体集间的函数关系,这种函数关系可以有下面几种,即一对一的联系、一对多(或多对一)的联系和多对多的联系;概念模型便于向各种模型转换。由于概念模型不依赖于具体的数据库管理系统,因此,容易向关系模型、网状模型和层次模型等各种模型转换。(10)D 【解析】 数据处理是指将数据转换成信息的过程,故选项A)叙述错误;数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,故选项B)叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项C)叙述错误。(11)C 【解析】 不论main函数在整个过程中的位置如何,一个C程序总是从main函数开始执行的。(12)D 【解析】 一个C语言的源程序(后缀名为.c)在经过编译器编译后,先生成一个汇编语言程序,然后由编译程序再将汇编语言程序翻译成机器指令程序,即目标程序(后缀名为.obj),目标程序不可以直接运行,它要和库函数或其他目标程序连接成可执行文件(后缀名为.exe)后方可运行。(13)A 【解析】 C语言中,一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号括起来作为字符常量,字符常量的的范围是0127。由于字符常量用单引号括起来,所以选项B),C)错误,选项D)超过了字符常量的表示范围。(14)A 【解析】 本题考查C语言的综合基础知识。构成C程序的基本单位是函数,不论main函数在整个程序中的位置如何,一个C程序总是从main函数开始执行,C语言的函数定义都是互相平行、独立的,在定义函数时,一个函数内不能定义另一个函数。C函数定义的一般格式有两种:传统格式和现代格式。传统格式也称K&R格式,是早期编译系统使用的格式;现代格式又称ANSI格式,是现代编译系统使用的格式。(15)D 【解析】 本题中,scanf函数的格式控制没有空格,所以,对于选项A)、B)、C),输入的第一个空格会作为字符赋值给变量c1,而不会被解释成分隔符。(16)D 【解析】 "&"是求址运算符,"*"是指变量说明符。选项A)、B)应改为scanf("%d",p);选项C)中指针变量p未指向一确定的内存单元,不能为其赋值,并且这样做很危险,建议不使用。(17)B 【解析】 本题中a的值为6,b的值为8,最后s的值为8,s*=s等价于s=s*s。(18)C 【解析】 本题考查简单的ifelse语句。先执行条件if(a<b),显然不成立,在执行else语句。(19)A 【解析】 在C语言中,应当在定义函数时指定函数值的类型,凡不加类型说明的函数,一律按整型处理。在定义函数时,对函数值说明的类型一般应该和return语句中的表达式类型一致。如果函数值的类型和return语句中的表达式类型不一致,则以函数类型为主,即函数类型决定返回值的类型。(20)D 【解析】 C语言中,字符数据参加运算时,实际上是其ASCII码参与运算。大写字母的ASCII码比其对应的小写字母的ASCII码小32。因此大写字母转化为小写字母只需将其加上32即可。所以选项B)、C)都符合条件,因为变量c中存储的是大写字母,所以"c-'A'"的值一定小于26,故选项A)与选项C)的含义相同。(21)D 【解析】 因为x的值为大于1的奇数,所以x除以2的余数等于1,因此,选项A)、C)中表达式的结果为真,不为0;对于选项B)来说,x除以2的商不会等于0;选项D)中表达式的结果为假,即等于0。(22)A 【解析】 因为变量的初始值分别为"k=5,n=0",所以程序第一次进入循环时,执行default语句,这时k=4,执行"case 4:"这个分支,结果是"n=2,k=3",打印出2;程序然后进行第二次循环,这时"n=2,k=3",执行"case 3:"这个分支,结果是"n=3,k=2",打印出3;程序进行第三次循环,这时"n=3,k=2",执行"case 2: case 4:"这两个分支,结果是"n=5,k=1",打印出5,这时因为n=5不满足n<5的循环条件,因此退出循环,程序运行结束,故输出结果为235。(23)B 【解析】 该题目应该根据循环体第一次和最后一次执行时的输出结果来决定哪一项是正确的。第一次进入循环时,n的值是9,循环体内,先经过n-运算,n的值变为8,所以第一次的输出值是8,由此可以排除选项A)和D)。由循环条件n>6可以知道,最后一次循环开始时,n的值应该为7,所以最后一次执行循环时,输出为6,由此可以排除选项C)。(24)A 【解析】 本题主要考查了字符输入输出函数getchar和putchar的使用。getchar函数用来从标准输入设备上读入一个字符,putchar(c)函数是将字符变量c中的字符输出到标准输出设备上,并且字符可以看作整数参与运算。(25)A 【解析】 本题考查了continue和break语句在循环语句中的作用。break语句的作用是结束本层循环,而continue语句的作用是结束本次循环直接进入到下次循环。(26)A 【解析】 本题利用多重 for循环的嵌套来实现对二维数组元素的按列排序。利用最外层循环来实现对列的控制。内部循环利用选择法对数组元素按照从小到大的顺序进行排列,最后输出对角线上的元素值。(27)B 【解析】 在main函数中,对f(1)和f(2)的值进行了累加。 f(1)=1 f(2)=f(1)+1=2 最后,j的值为1+2=3(28)A 【解析】 本题主要考查的知识点是大写字母比它对应的小写字母ASCII码值小32,并且字符可以看作整数进行算术运算等操作。(29)B 【解析】 本题用循环的方法考查对数组概念的掌握。首先,当i=0时,数组中的位置是a20=7,当然,如果用排除法,就不用考虑后面的循环,因为在4个选项中,第1个数为7的选项只有B)。本题执行第2次循环时,i的值为1,则printf函数中的数组指向为a11=5,依次循环,可求出答案。(30)A 【解析】 通过地址来引用二维数组,若有以下定义:int a34,i,j;且当0i3,0j<4则可以有以下几种方式来引用数组中的第i行,第j列的元素:aij,*(ai+j),*(*(a+i)+j),(*(a+i)j,*(&a00+4*i+j)。表达式&a00+2*i+j-2相当于是地址&a00加上多少偏移量。(31)C 【解析】 本题的选项A)和B)犯了同样的错误,即指针变量在定义后并没有指向具体的变量。也就是说,指针变量中没有确定的地址值,它的值是不可预见的,所指的单元也是不可预见的,因此不能进行赋值操作。另外,在选项D)中,s是int型指针变量,p是char型指针变量,所指向的内存单元所占用的字节数是不同的,因而不能将字符指针变量p的值赋给整型指针变量s。(32)C 【解析】 本段程序的作用是输出字符串"lanuage"中字母u之前的字符,并将其转化为大写字母。 注意:如果一个字符数组用来作为字符串使用,那么在定义该字符数组时,数组的大小就应该比它将要实际存放的最长字符多一个元素,以存放'0'。(33)D 【解析】 本题考查了二维数组元素引用的方法。题中用动态存储分配函数malloc分配了一个int型数据长度大小的内存,然后指针p指向了这段内存,函数f()中对p所指向的数据进行了赋值,p11为二维数组第二行第二列的元素,对应于实参a的元素5,所以输出结果为5。(34)B 【解析】 调用函数f()时,将数组a的地址传递给了指针q,此时q指向的就是数组a的第一个元素a0。在5次循环过程中,q始终指向a0,因此a0的值增加了5。最后的输出结果为"6,2,3,4,5"。(35)A 【解析】 C语言的字符常量是用单引号(即撇号)括起来的一个字符。除此之外,在C语言中还允许用一个"" 开头的字符序列来表示字符常量。其中,形式"ddd"表示1到3位8进制数所代表的字符;形式"xhh"表示1到2位16进制数所代表的字符。在本题中,'x13'表示回车符,是一个字符常量;'081'用8进制数所代表的字符,但形式不正确,因为8进制数所代表的字符中不会出现数字"8";'65'不是一个字符,而是一个十进制数字;"n"是用双引号括起来的一个字符,表示一个字符串,而不是字符常量。(36)D 【解析】 本题考查数组指针的应用。选项D)第一层括号中为数组a中第i项元素的值,外面再加指针运算符没有意义。(37)B 【解析】 strcpy()函数的功能是将字符串q复制到从p3位置开始的存储单元,同时复制字符串结束标志'0' 到p6中。函数strlen()返回的是字符串中不包括'0'在内的实际长度,故本题答案为B)(38)A 【解析】 auto变量:无static声明的局部变量。用auto作存储类别的声明时,可以不写auto,存储类别隐含确定为auto(自动存储类别),是动态存储方式。大多数变量是自动变量。用static声明的局部变量是静态局部变量。函数调用结束后静态局部变量占据的内存存储单元空间不释放,局部变量保留原值,下次调用时可以继续使用该值。用extern声明外部变量,外部变量即全局变量,可以用extern声明来改变全局变量的作用域,实际上,关键字"auto "可以省略,auto不写则隐含确定为"自动存储类别",属于动态存储方式。(39)C 【解析】 本题考查按位与"&"。因为1&1=1,0&0=0,所以任何数与自身按位与,结果仍为此数,不发生变化。(40)A 【解析】 本题中,最主要的是掌握几个有关文件函数的应用。 函数名:fopen 功能:打开一个文件 调用方式FILE *fp ; fp=fopen(文件名,使用文件方式); 函数名:fprintf 功能:传送格式化输出到一个文件中 调用方式:fprintf(文件指针,格式字符串,输出表列); 函数名:fclose 功能:关闭一个文件 调用方式:fclose(文件指针); 函数名:fscanf 功能:从磁盘文件执行格式化输入 调用方式:fscanf(文件指针,格式字符串,输入列表)。二、填空题【1】 350 【解析】 完全二叉树中,设高度为n,则除h层外其它层结点数都到达最大,可以算出h=10,1至9层结点个数为29-1=511,最后一层结点个数为700-511=189个,189/2=95,除最后一层外共有结点2(9-1)-95=161个,所以所有的结点个数为:189+161=350个。【2】 边界值分析法 【解析】 黑箱测试法完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例。常用的黑箱测试有等价类划分法、边界值分析法和错误推测法3种。【3】 关系模型 【解析】 数据库管理系统是位于用户与操作系统之间的一层系统管理软件,属于系统软件是用户与数据库之间的一个标准接口,其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。【4】 软件生命周期 【解析】 软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。【5】 完整性控制 【解析】 安全性控制:防止未经授权的用户有意或无意存取数据库中的数据,以免数据被泄露、更改或破坏;完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作;并发控制:正确处理好多用户、多任务环境下的并发操作,防止错误发生;恢复:当数据库被破坏或数据不正确时,使数据库将其恢复到正确的状态。【6】 a=14 【解析】 本题考查的是表达式的优先级问题。先计算表达式3*5=15,再计算a+4=14,将数据14赋值给a,根据printf()函数内的输出格式控制串,最后的输出结果应为"a=14"。【7】 9 【解析】本题的字符串中共有9个字符,它们分别是'I'、'B'、'M'、'n'、 '0'、'1'、'2'、'1'、'',其中,"n"表示换行,""表示反斜杠字符"",所以本题的最后输出结果为9。【8】 1 【解析】 在执行逻辑表达式"j=!ch&&i+"时,首先判断j=!ch的值,因为"ch='$'"不为0,所以"j=!ch=0",编译系统便不再计算表达式"i+"的值,i的值不变,仍为1。【9】 k=5 【解析】 本题主要考查了函数的递归调用方法。g=0或g=1或g=2是递归的终止条件,然后用回代的方法从一个已知值推出下一个值,直到计算出最终结果。【10】 k=p; 【解析】 为寻找数组中最大元素的下标,需先预设1个临时最大元素的下标,并顺序逐一考查数组的元素,当发现当前元素比临时

    注意事项

    本文(计算机等级考试二级C模拟题及答案详解.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开