国家二级(C语言)机试模拟试卷25(题后含答案及解析)_0
国家二级(C语言)机试模拟试卷25 (题后含答案及解析)
题型有:1. 程序填空题 2. 程序修改题 3. 程序设计题
程序填空题(30分)
1. 请补充函数fun( ),该函数的功能是按条件删除一个字符串指定字符一半的数目,具体要求如下:如果该字符串所包含的指定字符的个数是奇数,则不予删除,如果其数目是偶数,则删除原串后半部分的指定字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,c中存放指定的字符。 例如:当a输入“abababa”,c=‘a’时,b的输出为“ababb”; 如果a的输入为”ababa”,则b的输出为“ababa”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #include<conio.h> #define LEN 80 void fun(char a[],char b[],char C) { int
i=0,j=0; int n=0; int m=0; while(a[i]!=‘\0’)
{ if(a[i]==c)n++; i++; } 【 】; if(n%2)
{while(a[j]!=‘\0’){ b[j]=a[j]; j++;}b[j]=‘\0’; } else
while(a[i]!=‘\0’){b[j++]=a[i];if(a[i]==c) m+十;if((m>n/2)&&(a[i]==c))【 】;i++; } 【 】; } } main( ) { char a[LEN],b[LEN]; char c; clrscr( ); printf(“Enter the string:\n”);
gets(a); printf(“Enter the character of the string deleted:”);
scanf(“%c”,&c); fun(a,b,c); printf(“The new string iS:%s\n”,b); }
正确答案:i=0j-- b[j]=‘\0’
解析:第一空:执行完while循环后,变量i的值为数组a[]中元素的个数,而后面的while循环中通过变量i访问数组a[]的各元素,所以,在这里需要对变量i清零。第二空:当找到原字符串中后半部分的指定字符时,这个字符不应该存入数组b中,所以要将数组b的下标减l,让下一个非指定宁符去覆盖它。第三空:按条件删除后的字符串存于数组b后,还要在数组b的最后加上字符串结束标记符’\0’。
程序修改题(30分)
2. 下列给定程序中,函数fun( )的功能是:对N名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <conio.h> #include <string.h> #include <stdio.h> #include <alloc.h> #define N 10 typedef
struct SS { char num[10]; int s; }STU; STU *fun(STU a[],int m) { STU b[N],*t; int i, j,k;
/*************found*************/ *t=calloc(m,sizeof(STU));
for(i=0;i<N;i++) b[i]=a[i]; for(k=0;k<m;k++)
{ /*************found*************/ for(i=j=0;i<N;j++) if(b[i].s<b[j],s) j=i; /*************found*************/ t[k].s=b[j].s;
b[j].s=100; } return t; }outresult(STU a[],FILE *pf) {int
i; for(i=0;i<N;i++) fprintf(pf,”NO=%S Mark=%d\n”,a[i].num,a[i].S); fprintf(pf,”\n\n”); } main( ) { STU
a[N]={{“A01”,77},{“A02”,85}, {“A03”,96},{“A04”,65},{“A05”,75},{“A06”,96},{“A07”,76},{“A08”,63}, {“A09”,69},{“A10”,78}}; STU *porder; int i,m; clrscr( ); printf(“*****THE
RESULT*****\n”); outresult(a,stdout); printf(“\nGive the number of the
students who have lower score:”); scanf(“%d”,&m); while(m>10)
{ printf(“\nGive the number of the students who have lower score:”);
scanf(“%d”,&m); } porder=fun(a,m); printf(“*****THE
RESULT*****\n”); printf(“The low:\n”); for(i=0;i<m;i++)
printf(“%s %d\n”,porder[i].num, porder[i].s); free(porder); }
正确答案:(1)错误:*t=calloc(m,sizeof(STU)); 正确:t=calloc(m,sizeof(STU));(2) 错误:for(i=j=0;i<N;j++) 正确:for(i=j=0;i<N;i++)(3) 错误:t[k].s=b[j].s; 正确:t[k]=b[j];
解析:错误1:calloc也用于分配内存空间。调用形式: (类型说明符*)calloc(n,size),功能:在内存动态存储区中分配n块长度为“size”字节的连续区域。函数的返回值为该区域的首地址,而本题中t定义为指针类型。(类型说明符*)用于强制类型转换。calloc函数与malloc函数的区别仅在于一次可以分配n块区域。例如:ps=(stmet stu*)calloc(2,sizeof(stmct stu));其中的sizeof(stmct stu)是求stu的结构长度。因此该语句的意思是:按stu的长度分配两块连续区域,强制转换为sm类型,并把其首地址赋予指针变量ps。错误2:此循环中,变量i递增。错误3:本题旨在考查对结构体概念的掌握和灵活应用程度。
程序设计题(40分)
3. 请编写函数fun( ),其功能是:将s所指字符串中下标为奇数的字符删除,串中剩余字符形成的新串放在t所指数组中。 例如,当s所指字符串中的内容为siegAHdied,则在t所指数组中的内容应是seAde。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<conio.h>
#include<stdio.h> #include<string.h> void fun(char*S,char t[]) { }
main( ) { char s[100],t[100]; clrscr( ); printf(“\nPlease enter
string s:”); scanf(“%S”,S); fun(S,t); printf(“\nThe result is:%s\n”,t); }
正确答案:void fun (char *S,char t[]) {int i,j=0,k=strlen(s); /*k为字符串的长度*/for(i=0;i<k;i=i+2) /*将s所指字符串中下标为偶数的字符存入t所指字符串中*/t[j++]=s[i]; t[j]=‘\0’;/*在字符串最后加上结束标志
*/ }
解析:本题使用了一种i永远是偶数的循环方法,即for(i=0;i<k;i=i+2),因为开始时i的值为0,当i+2循环时,此值永远是偶数。
国家二级C语言机试模拟题2019年(16)_真题-无答案
国家二级(C语言)机试模拟题2019年(16)
(总分100,考试时间120分钟)
选择题
1. 一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次人栈,然后再依次出栈,则元素出栈的顺序是( )。
A. 12345ABCDE
B. EDCBA54321
C. ABCDEl2345
D. 54321 EDCBA
2. 下列叙述中正确的是( )。
A. 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B. 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D. 循环队列中元素的个数是由队头指针和队尾指针共同决定的
3. 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
A. D(n)
B. D(n2)
C. D(log2n)
D. D(nlog2n)
4. 下列叙述中正确的是( )。
A. 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B. 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C. 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D. 链式存储结构比顺序存储结构节省存储空间
5. 数据流图中带有箭头的线段表示的是( )。
A. 控制流 B. 事件驱动
C. 模块调用 D. 数据流
6. 在软件开发中,需求分析阶段可以使用的工具是( )。
A. N-S图 B. DFD图
C. PAD图 D. 程序流程图
7. 在面向对象方法中,不属于“对象”基本特点的是( )。
A. 一致性 B. 分类性
C. 多态性 D. 标识唯一性
8. 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。
A. 一对一 B. 一对多
C. 多对一 D. 多对多
国家二级C语言机试(公共基础知识)模拟试卷6(题后含答案及解析)
国家二级C语言机试(公共基础知识)模拟试卷6 (题后含答案及解析)
题型有:1. 选择题
选择题
1. 在E-R图中,用来表示实体联系的图形是
A.椭圆形
B.矩形
C.菱形
D.三角形
正确答案:C
解析:构成E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型(Entity)一用矩形表示;属性(Attribute)-椭圆形表示,联系(Relationship)一用菱形表示,菱形框内写明联系名。 知识模块:公共基础知识
2. 在E-R图中,用来表示实体的图形是
A.矩形
B.椭圆形
C.菱形
D.三角形
正确答案:A
解析:在E一R图中,用矩形表示实体集,在矩形内写上该实体集的名字;用椭圆形表示属性;用菱形(内部写上联系名)表示联系。 知识模块:公共基础知识
3. 数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
A.需求分析阶段
B.逻辑设计阶段
C.概念设计阶段
D.物理设计阶段
正确答案:C
解析:E—R模型(实体联系模型)是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们间的两种基本联接关系,并且可用一种图非常直观地表示出来。它属于数据库设计的概念设计阶段。 知识模块:公共基础知识
4. 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是
A.一对一
B.一对多
C.多对一
D.多对多
正确答案:B
解析:两个实体集间的联系可以有下面几种:一对一的联系、一对多或多对一的联系和多对多的联系。由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。 知识模块:公共基础知识
5. 一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是
A.一对一
B.一对多
C.多对多
D.多对一
正确答案:C
解析:如果一个工作人员只能使用一台计算机且一台计算机只能被一个工作人员使用,则关系为一对一:如果一个工作人员可以使用多台计算机,但是一台计算机只能被一个工作人员使用,则关系为一对多;如果一个工作人员可以使用多台计算机,一台计算机也可以被多个工作人员使用,则关系为多对多。 知识模块:公共基础知识
国家二级C语言机试模拟试卷124_真题(含答案与解析)-交互
国家二级(C语言)机试模拟试卷124
(总分86, 做题时间90分钟)
1. 选择题
1.
下列数据结构中,能用二分法进行查找的是( )。
SSS_SINGLE_SEL
A 无序线性表
B 线性链表
C 二叉链表
D 顺序存储的有序表
分值: 2
答案:D
解析:二分法查找只适用于顺序存储的有序表,表中的元素按值从小到大排列。
2.
下列叙述中,不属于设计准则的是( )。
SSS_SINGLE_SEL
A 提高模块独立性
B 使模块的作用域在该模块的控制域中
C 设计成多入口、多出口模块
D 设计功能可预测的模块
分值: 2
答案:C
解析:大量软件设计表明,以下的设计准则是可以借鉴为设计的指导和对软件结构图进行优化,这些准则是:提高模块独立性;模块规模适中:深度、宽度、扇出和扇入适当;使模块的作用域在该模块的控制域中;应减少模块的接口和界面的复杂性;设计成单入口、单出口的模块;设计功能可预测的馍块。
3.
下列队列的描述中,正确的是( )。
SSS_SINGLE_SEL
A 队列属于非线性表
B 队列在队尾删除数据
C 队列按“先进后出”进行数据操作
D 队列按“先进先出”进行数据操作
分值: 2
答案:D
解析:队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。队列的操作数是依据先进先出的原则进行的。因此队列亦称作先进先出的线性表,或后进后出的线性表。
4.
对下列二叉树进行前序遍历的结果为( )。
SSS_SINGLE_SEL
A ABCDEFGH
B ABDGEHCF
C GDBEHACF
D GDHEBFCA
分值: 2
答案:B
解析:遍历就是不重复地访问二叉树的所有结点。二叉树遍历的方法有3种:前序遍历、中序遍历和后序遍历。记住3种遍历的顺序:①前序,访问根→按前序遍历左子树→按前序遍历右子树;②中序,按中序遍历左子树→访问根→按中序遍历右子树;③后序,按后序遍历左子树→按后序遍历右子树→访问根。所以对该二叉树的中序遍历结果为ABDGEHCF。
国家二级C语言机试(选择题)模拟试卷83
国家二级C语言机试(选择题)模拟试卷83
(总分:80.00,做题时间:90分钟)
一、 选择题(总题数:40,分数:80.00)
1.算法的时间复杂度是指( )。
(分数:2.00)
A.算法的长度
B.执行算法所需要的时间
C.算法中的指令条数
D.算法执行过程中所需要的基本运算次数 √
解析:解析:算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
2.以下数据结构中,属于非线性数据结构的是( )。
(分数:2.00)
A.栈
B.线性表
C.队列
D.二叉树 √
解析:解析:二叉树属于非线性结构。栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作;队列可看作是插入在一端进行,删除在另一端进行的线性表。
3.数据结构中,与所使用的计算机无关的是数据的( )。
(分数:2.00)
A.存储结构
B.物理结构
C.逻辑结构 √
D.线性结构
解析:解析:数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。
4.内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是( )。
(分数:2.00)
A.顺序内聚
B.偶然内聚 √
C.时间内聚
D.逻辑内聚
解析:解析:内聚是从功能角度来衡量模块的联系,它描述的是模块内的功能联系。内聚有如下种类,它们之间的内聚度由弱到强排列: 偶然内聚一一模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块为巧合强度模块。 逻辑内聚一一这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的参数来确定该模块应完成哪一种功能。 时间内聚一一这种模块顺序完成一类相关功能,比如初始化模块,它顺序地为变量置初值。 过程内聚一一如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。 通信内聚一一这种模块除了具有过程内聚的特点外,还有另外一种关系,即它的所有功能都通过使用公用数据而发生关系。 顺序内聚一一如果一个模块内各个处理元素和同一个功能密切相关,而且这些处理必须顺序执行,处理元素的输出数据作为下一个处理元素的输入数据,则称为顺序内聚。 功能内聚一一如果一个模块包括为完成某一具体任务所必需的所有成分,或者说模块中所有成分结合起来是为了完成一个具体的任务,此模块则为功能内聚模块。
国家二级(C++)机试-试卷23
国家二级(C++)机试-试卷23
(总分:86.00,做题时间:90分钟)
一、 选择题(总题数:40,分数:80.00)
1.有如下程序:int x=3; do { x-=2;cout<
(分数:2.00)
A.1
B.30
C.1-2 √
D.死循环
解析:解析:本题考查do...while语句,执行do...while语句时,先执行循环体内的语句,然后判断while中表达式的值,表达式为非零时,返回重新执行循环体语句。在本题中,先执行循环体内的语句,输出1,然后判断表达式,为非零,且此时x为0;再次执行循环体时,输出-2,然后判断表达式为0,不执行,退出,所以答案为C。
2.下列有关继承和派生的叙述中,正确的是( )。
(分数:2.00)
A.如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员
B.派生类的成员函数可以访问基类的所有成员
C.基类对象可以赋值给派生类对象
D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类 √
解析:解析:私有继承方式为基类的公用成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有,但派生类对象可以访问基类的保护成员,所以基类对象不能赋值给派生类对象。抽象类是指含有纯虚拟函数的类,所以选项D正确。
3.下列控制格式输入/输出的操作符中,能够设置浮点数精度的是( )。
(分数:2.00)
A.setprecision √
B.setw
C.setfill
D.showpoint
解析:解析:iomanip中定义的操纵符包括:setfill(ch)用ch填充空白、setprecision(n)将浮点精度置为n、setw(w)、读写w个字符的值showpoint设置小数点。
4.有如下定义:int a[5]={1,3,5,7,9},*p=a;下列表达式中不能得到数值5的是( )。
(分数:2.00)
A.a[2]
国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷13
国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷13
(总分:56.00,做题时间:90分钟)
一、 选择题(总题数:28,分数:56.00)
1.有以下定义和语句: struct workers {int num;char name[20];char c; struct {int day;int month;int year;}s;}; struct workers w,*pw; pw:&w; 能给w中year成员赋1980的语句是
(分数:2.00)
A.w.year=1980;
B.pw->year=1980;
C.w.s.year=1 980; √
D.*pw.year=1980;
解析:解析:本题主要考查的是结构体变量的嵌套定义,也就是说一个结构体变量也可以是一个结构体。在本题中works这个结构体中包含了结构体s。所以对结构体变量w中year成员的引用是w.s.year。
2.有以下程序 #include struct tt {int x;struct tt *y;)*p; struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a}; main() {int i; p=a; for(i=1;i<=2;i++){printf("%d,",p->x);p=p->y;} }
程序的运行结果是
(分数:2.00)
A.20,15, √
B.30,17
C.15,30,
D.20,30,
解析:解析:程序定义了结构体类型tt,其成员包括一个整型数据x和指向其自身结构的指针变量y。程序在定义结构体数组a的同时对其进行了初始化。其元素a[0]的成员y被赋值为元素a[1]的地址,a[1].y被赋值为a[2]的地址,a[2].y被赋予a[3]的地址,a[3].y被赋予a[0]的地址。这就形成了一个单向的循环链表,每个元素的指针成员都指向下一个元素的地址。在主函数中,通过一个for循环语句,输出该链表前2个节点数值成员的值,即a[0].x和a[1].x。
国家二级C++机试(选择题)模拟试卷210(题后含答案及解析)
国家二级C++机试(选择题)模拟试卷210 (题后含答案及解析)
题型有:1.
1. 下列叙述中正确的是
A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D.循环队列中元素的个数是由队头指针和队尾指针共同决定
正确答案:D
解析:循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。 知识模块:数据结构与算法
2. 下面是关于派生类声明的开始部分,其中正确的是( )。
A.class virtual B:public A
B.virtual class B:public A
C.class B:public A virtual
D.class B:virtual public A
正确答案:D
解析:声明派生类的一般形式为:class派生类名:[继承方式]基类名。其中继承方式包括:public,private,protected,而virtual为C++中的关键字。虚函数的使用方法是在基类用virtual声明成员函数为虚函数。
3. 下列选项中不属于结构化程序设计原则的是( )。
A.可封装
B.自顶向下
C.模块化
D.逐步求精
正确答案:A
解析:结构化设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用goto语句。 知识模块:程序设计基础
4. 下列选项中不属于面向对象程序设计特征的是( )。
A.继承性
B.多态性
C.类比性
D.封装性
正确答案:C
解析:面向对象程序设计的三个主要特征是:封装性、继承性和多态性。封装性即只需知道数据的取值范围和可以对该数据施加的操作,而无需知道数据的具体结构以及实现操作的算法。继承性是指使用已有的类定义作为基础建立新类的定义技术。对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。 知识模块:程序设计基础
国家二级C语言(公共基础知识)机试模拟试卷11
国家二级C语言(公共基础知识)机试模拟试卷11
(总分:60.00,做题时间:90分钟)
一、 选择题(总题数:30,分数:60.00)
1.下面描述中不属于软件需求分析阶段任务的是( )。
(分数:2.00)
A.撰写软件需求规格说明书
B.软件的总体结构设计 √
C.软件的需求分析
D.软件的需求评审
解析:解析:软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求规格说明书和需求评审。软件的总体结构设计属于软件设计阶段的任务。
2.下面不属于软件需求规格说明书内容的是( )。
(分数:2.00)
A.软件的可验证性 √
B.软件的功能需求
C.软件的性能需求
D.软件的外部接口
解析:解析:软件需求规格说明应重点描述软件的目的,软件的功能需求、性能需求、外部接口、属性及约束条件等。
3.下面可以作为软件需求分析工具的是( )。
(分数:2.00)
A.N-S图
B.程序流程图
C.PAD图
D.数据流程图(DFD图) √
解析:解析:常见的需求分析方法有结构化分析方法和面向对象的分析方法。结构化分析方法工具包括数据流图(DFD)、数据字典(DD)、判定表和判定树等。程序流程图、N-S图、PAD图属于软件设计阶段使用的工具。
4.数据流图(DFD)中的有向箭头(→)表示( )。
(分数:2.00)
A.控制流
B.数据流 √
C.输入流
D.输出流
解析:解析:数据流图中的主要图形元素与说明如下:加工(转换):输入数据经加工变换产生输出。
→数据流:沿箭头方向传送数据的通道,一般在旁边标注数据流名。存储文件:表示处理过程中存放各种数据的文件。数据的原点和终点:表示系统和环境的接口,属系统之外的实体。
5.下列数据流图(DFD)构造规则中正确的是( )。
(分数:2.00)
A.子图的输入输出数据流与父图中相关加工的输入输出数据流必须一致 √
国家二级C语言选择结构循环结构机试模拟试卷1_真题(含答案与解析)-交互
国家二级C语言(选择结构、循环结构)机试模拟试卷1
(总分66, 做题时间90分钟)
1. 选择题
1.
下列选项中,当x为大于1的奇数时,值为0的表达式是( )。
SSS_SINGLE_SEL
A x%2==0
B x/2
C x%2!=0
D x%2==1
分值: 2
答案:A
解析:算术运算符的优先级高于关系运算符的优先级,所以当x为大于1的奇数时,A选项的值为假,即0。B选项的值为不定值,但绝对不是O。C选项的值为真,即1。D选项的值为真,即1。
2.
若a是数值类型,则逻辑表达式(a==1)‖(a!=1)的值是( )。
SSS_SINGLE_SEL
A 1
B 0
C 2
D 不知道a的值,不能确定
分值: 2
答案:A
解析:逻辑或“‖”要求只要两边的运算对象有一个非零,结果就为真。虽然不知道a的值,但是若a为l,则左边运算对象为1;若a的值不是l,则右边运算对象的值为1,所以总能保证一边非零。
3.
当变量e的值不为2、4、6时,值为“真”的表达式是( )。
SSS_SINGLE_SEL
A (c>=2&&e<=6)&&(c%2 1=1)
B (c==2)‖(c==4)‖(c==6)
C (c>=2&&c<=6)&&!(c%2)
D (c>=2&&c←6)‖(c!=3)lI(c!=5)
分值: 2
答案:D
解析:逻辑或运算符中只要有一个运算量为真,结果就是真,当c>=2&&c<=6条件不成立时,c的值肯定不是2、3、4、5、6,所以c!:3与c!:5均成立,所以D选项的结果一定为真。
4.
有以下程序: #include main() { int a=1,b=2,c=3,d=0;
if(a==1&&b++==2) if(b!=2‖c一!=3) prinff(“%d,%d,%d\n”,a,
b,c); else prinff(“%d,%d,%d\n”,a,b,c); else prinff(“%d,%d,%d\n”,a,b,c); } 程序的运行结果是( )。
国家二级C语言程序设计机试选择题模拟试卷2_真题-无答案
国家二级C语言程序设计机试(选择题)模拟试卷2
(总分80,考试时间90分钟)
1. 选择题
1. 下列叙述中正确的是( )。
A. 一个算法的空间复杂度大,则其时间复杂度也必定大
B. 一个算法的空间复杂度大,则其时间复杂度必定小
C. 一个算法的时间复杂度太,则其空间复杂度必定小
D. 算法的时间复杂度与空间复杂度没有直接关系
2. 下列叙述中正确的是( )。
A. 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化
B. 循环队列中的元素个数随队头指针的变化而动态变化
C. 循环队列中的元素个数随队尾指针的变化而动态变化
D. 以上说法都不对
3. 一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
A. 1,2,3,A,B,C B. C,B,A,1,2,3
C. C,B,A,3,2,1 D. 1,2,3,C,B,A
4. 一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为( )。
A. 219 B. 229
C. 230 D. 231
5. 对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为( )。
A. 9 B. 10
C. 45 D. 90
6. 下列各项中,对对象概念描述正确的是( )。
A. 对象间的通信靠消息传递 B. 对象是名字和方法的封装体
C. 任何对象必须有继承性 D. 对象的多态性是指一个对象有多个操作
7. 下列各项中,不属于软件设计阶段任务的是( )。
A. 软件总体设计 B. 算法设计
C. 制订软件并确认测试计划 D. 数据库设计
8. 一般情况下,当对关系R和S进行自然连接时,要求R和s含有一个或者多个共有的( )。
A. 记录 B. 行
C. 属性 D. 元组
9. 下列各项与栈结构有关联的是( )。
