计算机等级考试 二级C语言 笔试模拟试题 北邮九.docx_第1页
计算机等级考试 二级C语言 笔试模拟试题 北邮九.docx_第2页
计算机等级考试 二级C语言 笔试模拟试题 北邮九.docx_第3页
计算机等级考试 二级C语言 笔试模拟试题 北邮九.docx_第4页
计算机等级考试 二级C语言 笔试模拟试题 北邮九.docx_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

一、选择题(1-11每题2分,11-21每题1分,21-40每题2分,共70分) 下列各题A、B、C、D四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。1如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是_。(A)选择(B)投影(C)连接(D)并2设有下列二叉树:对此二叉树中序遍历的结果为_。(A)ABCDEF(B)DBEAFC(C)ABDECF(D)DEBFCA3若一个具有n个结点、k条边的非连通无向图是一个森林(nk),则该森林中必有_棵树。(A)k(B)n_(C)nk(D)n+k4结构化程序设计的三种基本逻辑结构为_。(A)输入、处理、输出(B)树形、网形、环形(C)顺序、选择和循环(D)主程序、子程序、函数5当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的_。(A)可读性(B)连续性(C)一致性(D)以上答案都不对6软件危机的主要表现中包括软件质量差,而引起软件质量差的主要原因是_。(A)没有软件质量标准(B)软件开发人员素质较差(C)用户经常干预软件开发工作(D)软件开发人员未遵循国际软件质量标准7如果一个模块访问另一个模块的内部数据,则模块间的耦合属于_耦合。(A)数据(B)内容(C)环境(D)控制8回归测试是_中最常用的方法。(A)完善性维护(B)适应性维护(C)纠正性维护(D)预防性维护9视图是一个虚表,视图的构造基于_。(A)基本表(B)视图(C)基本表或视图(D)数据字典10在数据库设计中,表示用户业务流程的常用方法是_。(A)DFD(B)E-R图(C)程序流程图(D)数据结构图11一个C语言的程序中,_。(A)必须有一个main函数(B)可以没有main函数(C)必须有main函数和其他函数(D)可以有多个main函数12在下列符号中,不属于转义字符的是_。(A)013(B)x12(C)(D)0513C语言提供的合法关键字是 _。(A)dafault(B)Char(C)while(D)swicth14若t为double类型,则表达式t=1,t-5,t+的值是_。(A)1(B)6.0(C)2.0(D)1.015下面程序的输出结果是_。main() unsigned a=32768; printf(a=%dn,a); (A)a=32768(B)a=32767(C)a=-32768(D)a= -116设有如下定义:int x=10,y=3,z; 则语句printf(%dn,z=(x%y,x/y); 的输出结果是_。(A)1(B)0(C)4(D)317下面程序的输出结果是_。main() int x=8,y=8;printf(%d %dn,x+,-y); (A)8 8(B)9 9(C)9 10(D)8 718C语言中最基本的数据类型包括_。(A)整型、实型、逻辑型(B)整型、实型、字符型(C)整型、字符型、逻辑型(D)整型、实型、逻辑型、字符型19合法的数组定义是_。(A)int a=string;(B)int a5=0,1,2,3,4,5;(C)char s=string;(D)char a=0,1,2,3,4,5;20执行下面的程序后,a值为_。main() int a,b;for (a=1,b=1;a=20) break;if(b%3=1) b+=3; continue; b-=5; (A)7(B)8(C)9(D)1021若有定义和语句:char s10;s=abcd;printf(%sn,s);则结果是(以下u代表空格) _。(A)输出abcd(B)输出a(C)输出abcduuuuu(D)编译不通过22若有定义和语句:int *pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf(%dn,*p,*pp);则输出结果是 _。(A)10,20(B)10,10(C)20,10(D)20,2023下面程序的输出结果是_。main() char *s=121; int k=0, a=0, b=0; do k+; if(k%2=0) a=a+sk-0;continue; b=b+sk-0;a=a+sk-0; while (sk+1); printf(k=%d a=%d b=%dn,k,a,b);(A)k=3 a=2 b=3(B)k=3 a=3 b=2(C)k=2 a=3 b=2(D)k=2 a=2 b=324根据下面的定义,能打印出字母M的语句是 。struct person char name9; int age;struct person class10=John,17,Paul,19,Mary,18,Adam,16;(A)printf(%cn,);(B)printf(%cn,0);(C)printf(%cn,1);(D)printf(%cn,1);25下面函数的功能是_。int funl(char * x) char * y=x; while(*y+); return(y-x-1);(A)求字符串的长度(B)比较两个字符串的大小(C)将字符串x复制到字符串y(D)将字符串x连接到字符串y后面26若有以下程序段char str=abn012;printf(%dd,strlen(str);则其输出结果是_。(A)3(B)4(C)6(D)1227下面程序的输出结果是_。int w=3;main() int w=10; printf(%dn,fun(5)*w); fun(int k) if(k=0) return w; return(fun(k-1)*k); (A)360(B)3600(C)1080(D)120028C语言规定,程序中各函数之间_。(A)既允许直接递归调用也允许间接递归调用(B)不允许直接递归调用也不允许间接递归调用(C)允许直接递归调用不允许间接递归调用(D)不允许直接递归调用允许间接递归调用29下列程序的运行结果是_。 main( ) static char a=AbcdefGH,b=abCDefGh; char *pt1,*pt2; int k; pt1=a; pt2=b; for(k=0;kn(B)pn + +(C)(*p).n + +(D)+ +pn34在宏定义 #define PI 3.14159中,用宏名PI代替一个_。(A)单精度数(B)双精度数(C)常量(D)字符串35字符(char)型数据在内存中的存储形式是_。(A)反码(B)补码(C)EBCDIC码(D)ASCII码36字符 0 的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的执行结果是_。#includemain() union int i2; long k; char c4; a,*s=&a; s-i0=0x39; s-i1=0x38; printf(%cn,s-c0);(A)39(B)9(C)38(D)837若a=1,b=2,则a|b的值是_。(A)0(B)1(C)3(D)238请选择以下程序段的输出结果_。#include#define MIN(x,y) (x)=a&stri0)if(fp=fopen(argvi+,r)=NULL) printf(Cannot open file! n);exit(1);else fc(fp); fclose(fp); void fc(ifp)FILE *ifp; char c;while(c=getc(ifp)!=#) putchar(c-32);上述程序经编译、连接后生成可执行文件名为cpy.exe。假定磁盘上有3个文本文件,其文件名和内容分别为:文件名 内容 a aaaa# b bbbb# c cccc#那么如果在DOS下键入:cpy a b c程序输出应为_【11】_。 8下面程序以每行4个数据的形式输出a数组,请填空。#define N 20main() int aN,I;for(I=0;Ifor(I=0; I if( _【13】_) printf(n); printf(%3d,aI); printf(n); 9设x和y均为int型变量,且x=1,y=2,则以下表达式的值为_【14】_。1.0+x/y 10设i,j,k均为int型变量,则执行完下面的for循环后,k的值为_【15】_。for(i=0,j=10;iday5【6】2【7】26【8】w【9】stri-32【10】r7【11】AAAABBBBCCCC8【12】&ai【13】I%4=09【14】1.010【15】10 答案及简单分析一、选择题1分析:选择是从关系中满足条件的组,因此属性个数不会减少,投影是选择关系中,每个元组的满足条件的属性所对的应组后所组成的新的关系,因此属性个数会减少。连接是按某个要求将两个关系合并为一个大的关系,最后得到的关系中的属性个数会大于或等于原来的关系的属性个数。并是将两个具有相同属性的关系合并成一个大的关系,合并的得到的关系中的属性个数与原来的相同。2分析:中序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树:并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。根据题目所给二叉树,可以得出其中序遍历的结果为DBEAFC。3分析:假设该森林中有s棵树:T1,T2,TS ,且每个Ti有ni 个结点,ki条边(i=1,2,,S),由树的等价条件可知: kini1,则kk1+k2+ks=(n11)+(n21)(ns1)ns,故s=nk,所以该森林中必有nk棵树。4分析:结构化程序设计的三种基本逻辑结构为顺序、选择和循环。5分析:当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性;应该给所有的输出加注释,并设计输出报表格式。6分析:在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。软件危机中的软件质量差,而引起软件质量差的主要原因是没有软件质量标准来统一和约束所开发出来的软件。7分析:内容耦合的定义是:如果一个模块直接访问另一个模块的内容,则这两个模块称为内容耦合。8分析:回归测试是纠正性维护中最常用的方法。9分析:在SQL语言中关系数据库称为基本表,子模式(外模式)称为视图,存储模式(内模式)称为存储数据文件。在SQL语言中:关系的元组称为行,属性称为列;一个表由行集构成,行是列的序列,每列对应一个数据项;一个表或为一个基本表,或为一个视图。10分析:在数据库设计中,表示用户业务流程的常用方法是数据流程图(DFD)。用DFD表达数据和处理过程的关系。对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。11分析:C程序中必须有且只有一个主函数,C程序从main函数开始执行。12分析:略13分析:略14分析:表达式t=1,t-5,t+是逗号表达式、表达式t+的值是整个逗号表达式的值,因+运算符位于t的右侧,所以整个逗号表达式的值为1.0。15分析:变量a是unsigned类型的数据,a=32768=(1000000000000000)2,以%d格式输出变量a时,二进制数1000000000000000表示补码,其对应的十进制整数为-32768。16分析:printf函数的输出结果是z=(x%y,x/y)的值,该赋值表达式的右侧是逗号表达式(x%y,x/y),表达式x/y的值是整个逗号表达式的值,故z=x/y=10/3=3。17分析:因+运算符位于x的右侧,所以首先输出x的当前值8,然后执行x=x+1;- -运算符位于变量y的左侧,所以首先执行y=y-1=8-1=7,然后输出y的值7。18分析:C语言中没有逻辑类型的数据类型。19分析:选项A中数组a是整型数组,不能将一个字符串付给整型数组a;选项B中数组a的初值个数超过数组a的元素个数;选项C中s是一个字符变量,不能将符号串赋给字符变量s。20分析:for循环语句的执行过程如下:第1次循环:a=1、b=1、b%3=1,执行b+=3得b=1+3=4;第2次循环:a=2、b=4、b%3=1,执行b+=3得b=4+3=7;第3次循环:a=3、b=7、b%3=1,执行b+=3得b=7+3=10;第4次循环:a=4、b=10、b%3=1,执行b+=3得b=10+3=13;第5次循环:a=5、b=13、b%3=1,执行b+=3得b=13+3=16;第6次循环:a=6、b=16、b%3=1,执行b+=3得b=16+3=19;第7次循环:a=7、b=19、b%3=1,执行b+=3得b=19+3=22;第8次循环:a=8、b=22、b20成立,执行break语句,中止for循环。所以a=8。21分析:C语言中不能使用赋值运算符=直接对字符数组名赋值,对字符数组名赋值必须使用strcpy函数,但可以使用赋值运算符直接对字符指针变量赋值。22分析:略23分析:本题dowhile循环的执行过程如下:第一次循环:k=0,执行k+得k=1,if条件不成立,执行b=b+sk-0=s1-0=2-0=2和a=a+sk-0= s1-0=2-0=2,得k=1、a=2、b=2;第二次循环:k=1,执行k+得k=2,if条件成立,执行a=a+sk-0= 2+s2-0= 2+1 -0=3,得k=2、a=3、b=2。24分析:略25分析:略26分析:字符串abn012中n、012、和是转义字符,故有效字符个数为6。27分析:C语言规定当局部变量与全局变量同名时,在局部变量的作用域内全局变量 不起作用,因此在main函数中w=10,在函数fun中w=3。函数fun是递归函数,其执 行过程如下:fun(5)=fun(4)*5,fun(4)=fun(3)*4,fun(3)=fun(2)*3,fun(2)=fun(1)*2,fun(1)=fun(0)=3;所以fun(2)=3*2=6,fun(3)=fun(2)*3=6*3=18,fun(4)=fun(3)*4=18*4=72,fun(5)=fun(4)*5=72*5=360。因此printf函数的输出结果为fun(5)*w=360*10=3600。28分析:略29分析:本程序的功能是比较字符数组a中的字符串与字符数组b中的字符串,并输出相同的字符。30分析:略31分析:略32分析:函数strlen是求字符串第一个0以前的字符个数。本题中执行完strcpy(s1,s2)后s1指向的符号串为123400,故有效字符个数为4。33分析:略34分析:略35分析:略36分析:变量a是共用体变量,其成员变量在内存中的存储关系如图1所示。所以s-c0=0x39=(57)10,ASCII值

温馨提示

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

评论

0/150

提交评论