《2023年下半年全国计算机二级C语言检测试题.docx》由会员分享,可在线阅读,更多相关《2023年下半年全国计算机二级C语言检测试题.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 2023下半年全国计算机二级C语言检测试题 一、选择题 1). 在软件设计中,不属于过程设计工具的是( ) A.PDL(过程设计语言) B.PAD图 C.N-S图 D.DFD图 正确答案:D 答案解析:DFD(数据流图Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的规律模型的图形表示。它直接支持系统功能建模。在软件具体设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。常见的过程设计工具有:图形工具:程序流程图,N-S,PAD,HIPO;表格工具:判定表;语言工具:PDL(伪码)。 2). 数据构造中,与所使用的计算机无关的是数据的( )。 A.
2、存储构造 B.物理构造 C.规律构造 D.线性构造 正确答案:C 答案解析:数据的规律构造反映的是数据元素之间的规律关系,与使用的计算机无关。 3). 设有定义: int x=2; 以下表达式中,值不为6的是( ) A.2*x, x+=2 B.x+,2*x C.x*=(1+x) D.x*=x+1 正确答案:A 答案解析:此题考察逗号表达式。逗号表达式的求解过程是:先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值,因此,选项A中值为4;选项B中,值为6。选项C中x*=x+1 等价于x=x*(x+1),所以等于6;选项D与选项C等价,结果也为6。 4). 在长度为64的有序线性表中
3、进展挨次查找,最坏状况下需要比拟的次数为( ) A.63 B.64 C.6 D.7 正确答案:B 答案解析:挨次查找又称挨次搜寻。挨次查找一般是指在线性表中查找指定的元素,其根本方法是:从线性表的第一元素开头,依次将线性表中的元素与被查找的元素进展比拟,若相等则表示找到(即查找胜利),若线性表中全部元素都与被查元素进展了比拟但都不相等,则表示线性表中没有要找的元素(即查找失败)。假如线性表中的第一个元素就是要查找的元素,则只需要做一次比拟就查找胜利;但假如要查找的.元素是线性表中的最终一个元素,或者要查找元素不在线性表中,则需要与线性表中全部元素进展比拟,这是挨次查找的最坏状况,比拟次数为线性
4、表的长度。 5). 以下特征中不是面对对象方法的主要特征的是( )。 A.多态性 B.标识惟一性 C.封装性 D.耦合性 正确答案:D 答案解析:面对对象设计方法与面对过程设计方法有本质的不同,其根本原理是:使用现实世界的概念抽象地思索问题从而自然地解决问题。其特点包括:标识惟一性、多态性、封装性、模块独立性、继承和多态性好。 二、填空题(每空2分,共30分) 请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。 (1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,假如bottom
5、=49,top=30(数组下标),则栈中具有【1】个元素。 (2)软件测试可分为白盒测试和黑盒测试。根本路径测试属于 【2】测试。 (3)符合构造化原则的三种根本掌握构造是:选择构造、循环构造和【3】。 (4)数据库系统的核心是 【4】 (5)在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【5】框。 (6)表达式(int)(double)(5/2)+2.5)的值是【6】 (7)若变量x、y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(【7】,x/y);补充完整,使其输出的计算结果形式为:x/y=11 (8)有以下程序 #include main(
6、) char c1,c2; scanf(“c”,c1); while(c165|c190) scanf(“c”,c1); c2=c1+32; printf(“c, cn”,c1,c2); 程序运行输入65回车后,能否输出结果、完毕运行(请答复能或不能)【8】。 (9)以下程序运行后的输出结果是【9】 #include main( ) int k=1,s=0; do if(k2)!=0)continue; s+=k;k+; while(k)10); printf(“s=d/n”,s); (10)以下程序运行时,若输入labced12df回车输出结果为【10】 #include main( ) c
7、har a =0,ch; while(ch=getchar()!=n) if(a2!=0(chach=z) ch=ch-a+A; a+;putchar(ch); printf(“n”); (11)有以下程序,程序执行后,输出结果是【11】 #include void fun (int *a) a0=a1; main() int a10=10,9,8,7,6,5,4,3,2,1,i; for(i=2;i=0;i-) funa; for(i=0;i10;i+) printf(“d”,a); printf(“n”); (12)请将以下程序中的函数声明语句补充完整 #include int【12】 ;
8、 main( ) int x,y,(*p)(); p=max; printf(“dn”,x,y); Int max(int a,int b) return (ab/a:b); (13)以下程序用来推断指定文件是否能正常翻开,请填空 #include main( ) FILE *fp; if (fp=fopen(“test.txt”,”r”)=【13】) printf(“未能翻开文件!n”); else printf(“文件翻开胜利!n”); (14)以下程序的运行结果为【14】 #include #include struct A int a;char b10;double c; void f
9、 (struct A *t); main() struct A a=(1001,”ZhangDa”,1098,0); f(a);printf(“d,s,6,ifn”,a.a,a.b,a.c); void f(struct A *t) strcpy(t-b,”ChangRong”); (15)以下程序把三个NODETYPE型的变量链接成一个简洁的链表,并在while循环中输出链表结点数据域中的数据,请填空 #include struct node int data; struct node *next; typedef struct node NODETYPE; main() NODETYPE a,b,c,*h,*p; a. data=10;b.data=20;c.data=30;h=a; b. next=b;b.next=c;c.next=0; p=h; while(p)printf(“d”,p-data);【15】;