2月来临,离开学也就只有一个多月了,小伙伴们的计算机考级都复习到什么阶段了呢?
今天,官微君决定带大家解锁二级复习的程序。
首先,同学们要先了解二级我们都可以考什么。文科生可以考高级MS office,理科生则可以考C语言及C++。
展开全文
那么今天我们就先来复习两个可爱的字母C——C语言和C++。
在复习之前,我们要先要了解这两门的成绩的分布和基本要求:
C语言:
单项选择题40分(含公共基础知识部分10分)、操作题60分(包括程序填空题、程序修改题及程序设计题)
基本要求
1.熟悉Visual C++集成开发环境。
2.掌握结构化程序设计的方法,具有良好的程序设计风格。
3. 掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
4. 在Visual C++集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力。
C++:
单项选择题40分(含公共基础知识部分10分)、操作题60分(包括基本操作题、简单应用题及综合应用题)
基本要求
1. 掌握C++语言的基本语法规则。
2. 熟练掌握有关类与对象的相关知识。
3. 能够阅读和分析C++程序。
4. 能够采用面向对象的编程思路和方法编写应用程序。
5. 能熟练使用Visual C++6. 0 集成开发环境编写和调试程序。
了解了这些后,小伙伴们不妨在复习的过程中来看看官微君为你们整理的一些题目以及详细的解析吧~
壹
选择题
01
C语言
1). 在软件设计中,不属于过程设计工具的是( )
A.PDL(过程设计语言)
B.PAD图
C.N-S图
D.DFD图
正确答案:D
答案解析:DFD(数据流图Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。它直接支持系统功能建模。在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。常见的过程设计工具有:图形工具:程序流程图,N-S,PAD,HIPO;表格工具:判定表;语言工具:PDL(伪码)。
2). 数据结构中,与所使用的计算机无关的是数据的( )。
A.存储结构
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的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )
A.63
B.64
C.6
D.7
正确答案:B
答案解析:顺序查找又称顺序搜索。顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功),若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。如果线性表中的第一个元素就是要查找的元素,则只需要做一次比较就查找成功;但如果要查找的元素是线性表中的最后一个元素,或者要查找元素不在线性表中,则需要与线性表中所有元素进行比较,这是顺序查找的最坏情况,比较次数为线性表的长度。
5). 下列特征中不是面向对象方法的主要特征的是( )。
A.多态性
B.标识惟一性
C.封装性
D.耦合性
正确答案:D
答案解析:面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:标识惟一性、多态性、封装性、模块独立性、继承和多态性好。
6). 下列叙述中正确的是( )。
A.调用printf( )函数时,必须要有输出项
B.使用putchar( )函数时,必须在之前包含头文件stdio.h
C.在C语言中,整数可以以二进制、八进制或十六进制的形式输出
D.调节getchar( )函数读入字符时,可以从键盘上输入字符所对应的ASCII码
正确答案:B
答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。
7). 以下结构体类型说明和变量定义中正确的是( )
A.typedef struct { int n; char c; } REC; REC t1,t2;
B.struct REC ; { int n; char c; }; REC t1,t2;
C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;
D.struct { int n; char c; } REC; REC t1,t2;
正确答案:A
答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。
8). 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( )
A.一对一
B.一对多
C.多对一
D.多对多
正确答案:B
答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。
9). 关于C语言的变量,以下叙述中错误的是( )
A.所谓变量是指在程序运行过程中其值可以被改变的量
B.变量所占的存储单元地址可以随时改变
C.程序中用到的所有变量都必须先定义后才能使用
D.由三条下划线构成的符号名是合法的变量名
正确答案:B
答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。变量命名要符合标识符的规定,其中下划线是标识符的组成字符。程序中所有变量都必须先定义后使用。
10). 当变量c的值不为2、4、6时,值也为″真″的表达式是( )
A.(c==2)||(c==4)||(c==6)
B.(c>=2 && c<=6)&& !(c%2)
C.(c>=2 && c<=6)&&(c%2!=1)
D.(c>=2 && c<=6) || (c!=3) || (c!=5)
正确答案:D
答案解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项D中c的值不为2、4、6时,那么表达式(c>=2 && c<=6)以及(c!=3)、(c!=5)必有一个成立,表达式的值也为真。
C++
02
1). 如果进栈序列为e1、e2、e3、e4,则可能的出栈序列是( )。
A.e3、e1、e4、e2
B.e2、e4、e3、el1
C.e3、e4、e1、e2
D.任意顺序
正确答案:B
答案解析:根据栈先进后出的特点可知el肯定是最后出栈的,因此正确答案为选项B。
2).下面关于C++流的叙述中,正确的是( )。
A.cin是一个输入流对象
B.可以用ifstream定义一个输出流对象
C.执行语句序列char* y=″PQMN″;cout<
D.执行语句序列char x[80];cin.getline(x,80);时,若输入Happy new year,则x中的字符串是″Happy″
正确答案:A
答案解析:本题考查C++流的概念和I/()的格式化。cin是istream类的对象,即输入流对象。ifstream是输入文件流,类不能定义个输出流对象。getline函数的功能是允许从输入流中读取多个字符,并且允许指定输入终止,在读取完成后,从读取的内容中删除该终止字符,所以D选项中的语句序列后x中字符串应该是Happy new year。
3). 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。
A.函数调用可以作为独立的语句存在
B.函数调用可以无返回值
C.函数调用可以出现在表达式中
D.函数调用可以作为、一个函数的形参
正确答案:D
答案解析:本题考查函数的调用方式。函数的形参和实参具有以下特点:①形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放分配的内存单元,因此,形参只有在函数内部有效,函数调用结束返回主调函数后则不能再使用该形参变量;②实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参,因此应通过预先用赋值、输入等办法使实参获得确定值;③实参和形参在数量上、类型上、顺序上应严格一致,否则会发生″类型不匹配″的错误;④函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
4). 设int a=10,b=11,c=12;,表达式(a+b)
A.2
B.0
C.-2
D.1
正确答案:B
答案解析:本题考察的是运算符的优先级,应该先计算a+b的值为21,然后与c比较大小的值为0,根据"&&"的运算规则,整个表达式的值为0。
5). 若要对Date类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。
A.Data+( Data);
B.Data operator+( Data);
C.Data+operator( Data);
D.operator+( Data.Data);
正确答案:B
答案解析:重载运算符的函数一般格式如下:函数类型operator运算符名称(形参列表),因此选B。
6). 下列叙述中正确的是( )
A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化
B.循环队列中的元素个数随队头指针的变化而动态变化
C.循环队列中的元素个数随队尾指针的变化而动态变化
D.以上说法都不对
正确答案:A
答案解析:在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化,A正确。
7). 关系模型允许定义3类数据约束,下列不属于数据约束的是( )。
A.实体完整性约束
B.参照完整性约束
C.属性完整性约束
D.用户自定义完整性约束
正确答案:C
答案解析:关系模型允许定义3类数据约束,即实体完整性约束、参照完整性约束和用户自定义完整性约束。其中前两种完整性约束由关系数据库系统支持,用户自定义完整性约束则由关系数据库系统提供完整性约束语言,用户利用该语言给出约束条件,运行时由系统自动检查。
8). 若有定义″int a[2][3];″,下列选项中对a数组元素正确引用的是( )。
A.a[2][!1]
B.a[2][3]
C.a[0][3]
D.a[1>2][!1]
正确答案:D
答案解析:数组的下标从O开始,数组a[2][3]包括元素a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],只有选项D正确,1>2为假,所以是O,!为假也是0,即引用元素a[0][0],其他选项的引用均是下标越界。
9). C源程序中不能表示的数制是( )。
A.二进制
B.八进制
C.十进制
D.十六进制
正确答案:A
答案解析:C语言源程序不能表示二进制,在C语言中,所有的数值型常量都带有符号,所以整型数量只区别整型和长整型两种形式,整型常量和长整型常量均可用十进制、八进制、十六进制3种形式表示,故选项A不正确。
10).下列叙述中错误的是( )。
A.gets函数用于从终端读入字符串
B.getchar函数用于从磁盘文件读入字符
C.fputs函数用于把字符串输出到文件
D.fwrite函数用于以二进制形式输出数据到文件
正确答案:B
答案解析:本题考查的是C语言中输入、输出函数的使用,gets和getchar函数用于从标准输入设备键盘读入字符串和字符;fputs用于把字符串输出到文件;fwrite用于以二进制形式输出数据到文件。
贰
操作题
01
C语言
C++
02
最后官微君希望大家“课后”好好复习,掌握好基础知识和将题目做透,不要一下“课”就忘记复习这件事哦~
本节课到此结束,下节课将会给大家带来二级剩下的内容,同学们与官微君相约下周四再见吧~
文章来源:原创
编辑:滕苑雅
图片:网络