




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2011年3月计算机二级C语言考试真题一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除 B)栈顶元素最后才能被删除C)栈底元素永远不能被删除 D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构 D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划 B)软件详细设计说明书C)用户手册 D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构 B)GOTO跳转 C)选择(分支)结构 D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言 D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是A)1:1联系 B)1:m联系C)m:1联系 D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接 B)交 C)除 D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369 B)369 C)0.369 D)整数集合1,2,3,4,5(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件 (13)以下选项中不能用作C程序合法常量的是A)1,234 B)123 C)123 D)x7G(14)以下选项中可用作C程序合法实数的是A).1e0 B)3.0e0.2 C)E9 D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1; C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name20;int num;scanf(name=%s num=%d,name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001后,name的值为A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值 B)必须是整数值 C)必须是正数 D)可以是任意合法的数值(18)有以下程序#include main() int x=011;printf(%dn,+x);程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序main() int s;scanf(%d,&s);while(s0) switch(s) case1:printf(%d,s+5);case2:printf(%d,s+4); break;case3:printf(%d,s+3);default:printf(%d,s+1);break;scanf(%d,&s);运行时,若输入1 2 3 4 5 0,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i=0&si=9) n+;printf(%dn,n);程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k+) printf(*n);下面关于语句执行情况的叙述中正确的是A)循环体执行两次 B)循环体执行一次C)循环体一次也不执行 D)构成无限循环(23)有以下程序main() char b,c; int i;b=a; c=A;for(i=0;i=a&*c=z) *c=*c-(a-A);c+;main() char s81;gets(s); fun(s); puts(s):当执行程序时从键盘上输入Hello Beijing,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#define N 10void fun(int xN)int i=0;while(iN) scanf(“%d”,_);在程序中下划线处应填入的是A)x+i B)&xi+1 C)x+(i+) D)&x+i(31)有以下程序main()char a30,b30;scanf(%s,a);gets(b);printf(%sn %sn,a,b);程序运行时若输入:how are you? I am fine则输出结果是A)how are you? B)howI am fine are you?I am fineC)how are you? I am fine D)row are you?(32)设有如下函数定义int fun(int k) if (k1) return 0;else if(k=1) return 1;else return fun(k-1)+1;若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是A)2 B)3 C)4 D)5(33)有以下程序int fun (int x,int y) if (x!=y) return (x+y)/2);else return (x);main() int a=4,b=5,c=6;printf(%dn,fun(2*a,fun(b,c);程序运行后的输出结果是A)3 B)6 C)8 D)12(34)有以下程序int fun() static int x=1;x*=2;return x;main()int i,s=1;for(i=1;ix); printf(%dn,+(p-y);程序运行后的输出结果是A)1,2 B)4,1 C)3,4 D)2,3 (38)有以下程序struct S int a,b;data2=10,100,20,200;main() struct S p=data1;printf(%dn,+(p.a);程序运行后的输出结果是A)10 B)11 C)20 D)21(39)有以下程序main()unsigned char a=8,c;c=a3;printf(%dn,c);程序运行后的输出结果是A)32 B)16 C)1 D)0(40)设fp已定义,执行语句fp=fopen(file,w);后,以下针对文本文件file操作叙述的选项中正确的是A)写操作结束后可以从头开始读 B)只能写不能读C)可以在原有内容后追加写 D)可以随意读和写二、填空题(1)有序线性表能进行二分查找的前提是该线性表必须是【1】存储的。 (2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为 【2】。(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为 【3】 测试。(4)实体完整性约束要求关系数据库中元组的 【4】 属性值不能为空。(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称 【5】 是关系A的外码。(6)以下程序运行后的输出结果是 【6】 。main() int a;a=(int)(double)(3/2)+0.5+(int)1.99*2);printf(%dn,a);(7)有以下程序main() int x;scanf(%d,&x);if(x15) printf(%d,x-5);if(x10) printf(%d,x);if(x5) printf(%dn,x+5);若程序运行时从键盘输入12,则输出结果为 【7】 。(8)有以下程序(说明:字符0的ASCII码值为48)main() char c1,c2;scanf(%d,&c1);c2=c1+9;printf(%c%cn,c1,c2);若程序运行时从键盘输入48,则输出结果为 【8】。(9)有以下函数void prt(char ch,int n) int i;for(i=1;i0)开始的后续元素全部向前移动一个位置。请填空。void fun(int aN,int k) int i;for(i=k;iN;i+) a【11】 = ai;(12)有以下程序,请在 【12】 处填写正确语句,使程序可正常编译运行。【12】;main() double x,y,(*p)();scanf(%lf%lf,&x,&y);p=avg;printf(%fn,(*p)(x,y);double avg(double a,double b) return(a+b)/2); (13)以下程序运行后的输出结果是 【13】 。main() int i,n5=0;for(i=1;i=0;i-) putchar(*(p+i);printf(n-); free(p);(15)以下程序运行后的输出结果是 【15】 。main() FILE *fp; int x6=1,2,3,4,5,6,i;fp=fopen(test.dat,wb);fwrite(x,sizeof(int),3,fp);rewind(fp);fread(x,sizeof(int),3,fp);for(i=0;i编译(.obj)链接可执行文件(.exe)参考教材P5。12:D解析:C程序开发过程:编辑编译(.obj)链接可执行文件(.exe)经过编译可以成为计算机可直接运行的二进制的.obj目标程序,编译成功后可进行链接,将目标程序和程序中用到的库函数链接到一起,形成可执行文件.exe。exe文件是不需要开发环境就可以运行的。参考教材P5。13:B解析:A中的,在编译时会出错的,直接写成1234即可,B是一个三位八进制数代表的字符,C是一个数字常量,D是一个字符串,其中x7是一个一位十六进制数代表的字符,也即D中的字符串是两个字符,如果sizeof的话是3,如果strlen的话是2。参考教材P16。14:A解析:实型指数表示方式“E前E后比有数,E后必须是整数”,故选A,参考教材P15。15:A解析:赋值不能给表达式赋值,故选择A。16:A解析:scanf中格式字符串的非格式字符串原样输入,如其中的name=和num=,所以接受到的name值是后面的Lili,num值为1001。故选A。17:D解析:表达式不限于关系表达式、逻辑表达式,也可以是任意的数值类型,其中非0为真,0为假。故选D,参考教材P41。18:C解析:011是一个八进制的数,转为十进制则为1*8+1=9;+x是x先自增1再参与其他运算,所以先x自增1为10再输出即为10,故选C,参考教材P21。19:A解析:while循环s fun(2) fun(1) ;fun(1)1 fun(2)2 fun(3)3n;所以fun总共被调用的次数是3,最后n为3。故选B。33:B解析:fun(8,fun(5,6),其中fun(5,6)因为5!=6, return (x+y)/2)为5,所以fun(8,fun(5,6)为fun(8,5),8!=5, return (x+y)/2)为6,故选B。34:D解析:静态变量static类型,在函数执行完后空间并不释放,而且只初始化一次。所以第一次调用后,x的值为2,返回后s的值为2,第二次调用后,x的值为2*2=4,返回后s的值为2*4=8,第三次调用后,x的值为4*2=8,返回后s的值为8*8=64,故选D。参考教材P120。35:B 解析:#define宏定义,只是机械简单的置换。S(k+j)= S(5+2)=4*(5+2)*5+2+1=143,故选B。36:解析:结构体以及结构体成员的赋值,需要类型一致,所有选项都满足,但是mark是结构体中的字符数组的数组名,其数组的首地址,是一个指针常量,只能在初始化的时候赋值,故C错误。参考教材P83。37: D解析:dt是一个结构体类型的数组,其有两个结构体元素,p是结构体类型指针,其指向dt即指向结构体数组的首地址,p-x和p-y分别是结构体数组第一个元素的x成员和y成员的值,+在前则是先自增1再参与运算,所以输出的是1+1=2,和2+1=3,故选D。38:D解析:结构体变量p赋值为结构体数组第二个元素的值,即p.a=20,p.b=200;所以输出+(p.a)为21,故选D。39:C解析:位运算左移一位相当于乘以2,右移一位相当于除以2,右移三位相当于除以8,故选择C。参考教材P26。40:B解析:文件打开方式,w只能向该文件写入,如打开的文件不存在则以指定的文件名建立文件,如存在,则先删除再重建一个文件。故选B,参考教材P133。二、填空题1:有序 解析:二分查找的前提:a.必须是有序表b.必须是采用顺序存储形式。参考公共基础教材P14。2:DEBFCA 解析:根据前序遍历结果可知:A为根节点,B为A的左孩子,根据中序遍历结果可知:D为B的左孩子,E是B的右孩子,F、C是A的右子数,结合前序遍历结果可知,C是A的右孩子,F是C的左孩子。故后序遍历为DEBFCA。参考公共基础教材P13。3:单元 解析:软件测试过程一般有3个步骤进行:单元测试、集成测试和系统测试。单元测试是对软件设计的最小单位模块进行正确性检测的测试。集成测试是测试和组装软件的过程,它把模块在按照设计要求组装起来的同时进行测试。系统测试的目的在于通过与系统的需求定义进行比较,发现软件与系统定义不符合或者与之矛盾的地方。参考公共基础教材P30。4:主 解析:数据约束包括实体完整性约束、参照完整性约束和用户定义完整性约束,实体完整性约束要求关系数据库中主键的属性不能为空值。参考公共基础教材P37-38。5:D 解析:若A中的某个属性集是表B的候选码或者主键,则称该属性集为表A的外码。参考公共基础教材P37。6:3 解析:(3/2)=1,(double)(3/2)+0.5=1.5,(int)1.99*2=2,所以(double)(3/2)+0.5+(int)1.99*2=3.5,故a=3。7:1217 解析:输入12,比较不大于15所以不执行if(x15)内的语句;大于10执行printf(%d,x);输出12;大于5执行printf(%d,x+5);输出17。8:09 解析:输入48,则c1=48,c2=48+9,以字符输出c1和c2,则为输出ASCII码为48和57对应的字符,分别为0和9。9:4 解析:调用语句prt(*,24);循环执行24次,如果能被6整除则输出*号的同时回车,否则只输出*,结果如下,*10:20 0 解析:x=10,y=20,所以x=y为false,t=x;不执行,直接执行x=y;y=t;x为20,y为0。注意和if(x=y)t=x;x=y;y=t;区别。11:i-1 解析:ai的值赋给ai-112:double avg(double a,double b); 解析:当函数定义在调用之后,调用前必须对函数进行申明,申明的形式和函数定义中的函数头部分相同,最后加分号即可。或者不写形参名,只有类型如double avg(double ,double ); 也可,参考教材P89。13:13715 解析:n1=1,n2=1*2+1=3,n3=3*2+1=7,n4=7*2+1=1514:emoclew 解析:(char *)malloc(sizeof(char)*20)申请一个20个字符大小的空间,首地址赋给字符指针变量p,strcpy(p,welcome);将字符串welcome赋值给p所指向的空间,for循环实现从后往前输出这个字符串,free(p)为释放申请的空间。15:123456 解析:fwrite(x,sizeof(int),3,fp);将数组内的前三个元素即1,2,3输出到文件中去,rewind(fp);文件回到开头,fread(x,sizeof(int),3,fp);将文件的内容读出并存到x数组的前三个元素中,把1,2,3写到数组的前三个元素中去,所有数组中的元素值均没变。参考教材P139。2011年 9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90 分钟,满分100分)一、选择题(每小题2分,共70分) 1.下列叙述中正确的是 D 。A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对2.下列关于线性链表的叙述中,正确的是 C. A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素 D.以上三种说法都不对3.下列关于二叉树的叙述中,正确的是 B A.叶子结点总是比度为2的结点少一个B.叶子结点总是比度为2的结点多一个C.叶子结点数是度为2的结点数的两倍D.度为2的结点数是度为1的结点数的两倍4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统5.某系统总体结构图如下图所示:该系统总体结构图的深度是 C A.7B.6C.3D.26.程序调试的任务是 D A.设计测试用例B.验证程序的正确性 C.发现程序中的错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是 A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括 A.概念模式B.内模式C.外模式D.数据模式9.有三个关系R、S和T如下:RSTABCABCABCa12a12c31b21b21c31则由关系R和S得到关系T的操作是 A.自然连接B.差C.交D.并10.下列选项中属于面向对象设计方法主要特征的是 A.继承B.自顶向下C.模块化D.逐步求精11.以下叙述中错误的是 A.C语言编写的函数源程序,其文件名后缀可以是CB.C语言编写的函数都可以作为一个独立的源程序文件C.C语言编写的每个函数都可以进行独立的编译并执行D.一个C语言程序只能有一个主函数12.以下选项中关于程序模块化得叙述错误的是 A.把程序分成若干相对独立的模块可便于编码和调试B.把程序分成若干相对独立,功能单一的模块,可便于重复使用这些模块C.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序13.以下选项中关于C语言常量的叙述错误的是: A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量 D.经常被使用的变量可定义成常量14.若有定义语句:int a=10;double b=3.14;,则表达式A+a+b值得类型是 A.charB.intC.doubleD.float15.如有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y,则z的值为 A.1.9 B.1 C.2 D.2.416.若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是 A.3 5B.3,5C.3;5D.3517.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1k2)&(k2=k2k1)后,k1和k2的值分别为 A.0和1B.0和20C.10和1D.10和2018.有以下程序 #include Main() int a=1,b=0; If(-a) b+; Else if(a=0) b+=2;Elseb+=3;Printf(“%dn”,b); 程序运行后的输出结果是 A.0 B.1 C.2 D.319.下列条件语句中输出结果与其他语句不同的是 A.if(a) printf(“%dn”,x); else printf(“%dn”,y);B.if(a=0) printf(“%dn”,y); else printf(“%dn”,x);C.if(a!=0) printf(“%dn”,x); else printf(“%dn”,y);D.if(a=0) printf(“%dn”,x); else printf(“%dn”,y);20.有以下程序:#include Main() int a=7; While(a-);Printf(“%dn”,a);程序运行后的输出结果是 A.- 1 B.0 C.1 D.721.以下不能输出字符A的语句是 (注:字符A的ASCII码值为65,字符a的ASCII码值为97)A.printf(“%cn”,A-32);B.printf(“%dn”,A);C.printf(“%cn”,65); D.printf(“%cn”,B-1);22.有以下程序(注:字符a的ASCII码值为97)#include Main() char *s=“abc”; Doprintf(“%d”,*s%10);+s;While(*s);程序运行后的输出结果是 A.abcB.789C.7890D.97989823.若有定义语句:double a,*p=&a;以下叙述中错误的是 A.定义语句中的*号是一个地址运算符B.定义语句中的*号只是一个说明符C.定义语句中的p只能存放double类型变量的地址D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p24.有以下程序: #include Double f(double x);Main() double a=0; int I; For(i=0;i30;i+=10) a+=f(double)i);Printf(“%5.0fn”,a);Double f(double x)return x*x+1;程序运行后的输出结果是 A.503B.401C.500D.140425.若定义语句:int year=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是 A.*p+=1;B.(*p)+;C.+(*p);D.*p+;26.以下定义数组的语句中错误的是 A.int num=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 爆破与拆除工程公司合伙协议书
- 人教版四年级上册语文-观潮-教学设计与反思(公开课获奖作品)
- 2025年A股市场展望分析报告:科技浪潮引领资产价值重估
- 岩石的组成课件
- 岩土力学课件3
- 小麻雀课件重点
- 和平分手协议离婚财产分割子女监护及共同财产协议
- 跨国并购项目股份变更及整合协议
- 智能交通系统工程结算付款协议书范本
- 旅行团导游综合服务合同
- 小学生洒扫应对班会
- 厨房管理知识第一章厨房管理概述
- 四川2022年1月自考00285《中国福利思想》真题
- 《GMP实务教程》 完整全套教学课件 项目1-14 GMP基础知识-药品生产行政检查
- 第二学期六年级家长会PPT名师优质课获奖市赛课一等奖课件
- 房屋租赁交接家私清单
- 公对私转账借款协议书
- 人教鄂教版六年级科学上册知识点总结
- 宇宙中的地球 1.3地球的历史(第1课时)课件
- 静脉治疗现状与发展趋势
- 如何书写个案护理报告
评论
0/150
提交评论