全国计算机等级考试二级c历年真题及答案

合集下载

计算机二级考试真题及答案C

计算机二级考试真题及答案C

计算机二级考试真题及答案C一、选择题(每题2分,共20分)1. 在计算机系统中,存储器的容量通常是指()。

A. 内存的容量B. 外存的容量C. 内存和外存的总容量D. 内存和外存的容量之差答案:C2. 下列关于计算机病毒的描述,不正确的是()。

A. 计算机病毒是一种程序B. 计算机病毒具有自我复制的能力C. 计算机病毒不能破坏硬件D. 计算机病毒可以自我进化答案:D3. 在计算机中,一个字节由()个二进制位组成。

A. 4B. 8C. 16D. 32答案:B4. 以下哪个选项不是操作系统的功能?()A. 进程管理B. 文件管理C. 设备管理D. 网络通信答案:D5. 在关系数据库中,能够唯一标识一个记录的属性集是()。

A. 主键B. 外键C. 索引D. 视图答案:A6. 计算机硬件系统由()组成。

A. 输入设备和输出设备B. 中央处理器和存储器C. 输入设备、输出设备和中央处理器D. 中央处理器、存储器和输入输出设备答案:D7. 在计算机中,二进制数1011转换为十进制数是()。

A. 11B. 12C. 13D. 14答案:B8. 下列关于计算机软件的描述中,不正确的是()。

A. 软件分为系统软件和应用软件B. 操作系统是系统软件的一种C. 应用软件是为特定应用而设计的软件D. 所有软件都可以免费使用答案:D9. 在计算机中,ASCII码用()位二进制数表示一个字符。

A. 4B. 7C. 8D. 16答案:C10. 计算机的存储设备中,随机存储器(RAM)是()。

A. 只读存储器B. 可读写存储器C. 非易失性存储器D. 易失性存储器答案:D二、填空题(每题2分,共20分)1. 在计算机中,二进制数1100转换为十进制数是____12____。

2. 计算机病毒的主要传播途径包括____电子邮件____、____网络下载____和____移动存储设备____。

3. 计算机的硬件系统由____输入设备____、____输出设备____、____存储器____、____中央处理器____和____接口电路____组成。

计算机二级c考试真题及答案解析

计算机二级c考试真题及答案解析

计算机二级c考试真题及答案解析一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的字符常量?A. 'a'B. "a"C. 3D. 'ab'答案:A解析:在C语言中,字符常量需要用单引号括起来,因此'a'是合法的字符常量。

选项B是字符串常量,选项C是整数常量,选项D是两个字符的序列,不是单个字符常量。

2. 若有以下定义:```cint a = 3, b = 4;```则表达式`a + b`的值是:A. 7B. 3C. 4D. 0答案:A解析:根据题目中给出的变量定义,a的值为3,b的值为4。

因此,表达式`a + b`的值是3 + 4,即7。

3. 在C语言中,以下哪个选项是正确的整型变量声明?A. int a;B. float b;C. double c;D. All of the above答案:D解析:在C语言中,int、float和double都是合法的整型和浮点型变量声明。

因此,选项A、B和C都是正确的整型变量声明。

4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D解析:在C语言中,&&代表逻辑与,||代表逻辑或,!代表逻辑非,它们都是C语言中的逻辑运算符。

5. 若有以下定义:```cint x = 10;```则表达式`x % 3`的值是:A. 1B. 2C. 3D. 0答案:A解析:表达式`x % 3`表示x除以3的余数。

10除以3的商是3,余数是1,因此`x % 3`的值是1。

6. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[10] = "Hello";B. char str[] = "Hello";C. Both A and BD. None of the above答案:C解析:在C语言中,选项A和B都是正确的字符串声明方式。

全国计算机等级考试二级C笔试试卷(含参考答案)

全国计算机等级考试二级C笔试试卷(含参考答案)

全国计算机等级考试二级C笔试试卷(含参考答案)以下各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)以下表达中正确的选项是A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进展再测试 D)程序经调试改错后不必进展再测试(2)以下数据构造中,能用二分法进展查找的是A)顺序存储的有序线性表 B)线性链表C)二叉链表 D)有序线性链表(3)以下关于栈的描述正确的选项是A)在栈中只能插入元素而不能删除元素B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在一端插入或删除元素D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(4)以下表达中正确的选项是A)一个逻辑数据构造只能有一种存储构造B)数据的逻辑构造属于线性构造,存储构造属于非线性构造C)一个逻辑数据构造可以有多种存储构造,且各种存储构造不影响数据处理的效率D)一个逻辑数据构造可以有多种存储构造,且各种存储构造影响数据处理的效率(5)以下描述中正确的选项是A)软件工程只是解决软件工程的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原那么D)软件工程只是解决软件开发中的技术问题(6)在软件设计中,不属于过程设计工具的是A)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图(7)以下表达中正确的选项是A)软件交付使用后还需要进展维护B)软件一旦交付使用就不需要再进展维护C)软件交付使用后其生命周期就完毕D)软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决A)数据共享问题 B)数据平安问题C)大量数据存储问题 D)简化数据维护(9)设有如下关系表:R S TA B C A B C A B C1 123 1 3 1 1 22 23 2 2 33 1 3那么以下操作中正确的选项是A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S(10)数据库系统的核心是A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员(11)以下表达中错误的选项是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(12)以下表达中错误的选项是A)C语句必须以分号完毕B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(13)以下表达中正确的选项是A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码(14)以下关于函数的表达中正确的选项是A)每个函数都可以被其它函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数(15)假设有语句:char *line[5];,以下表达中正确的选项是A)定义line是一个数组,每个数组元素是一个基类型为char 的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针(16)有以下程序段typedef struct NODE{ int num; struct NODE *next;} OLD;以下表达中正确的选项是A)以上的说明形式非法 B)NODE是一个构造体类型C)OLD是一个构造体类型 D)OLD是一个构造体变量(17)以下表达中错误的选项是A)C语言中对二进制文件的访问速度比文本文件快B)C语言中,随机文件以二进制代码形式存储数据C)语句 FILE fp; 定义了一个名为fp的文件指针D)C语言中的文本文件以ASCII码形式存储数据(18)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A)k%2 B)k%2==1 C)(k%2)!=0 D)!k%2==1(19)以下不能正确计算代数式值的C语言表达式是A)1/3*sin(1/2)*sin(1/2) B)sin(0.5)*sin(0.5)/3C)pow(sin(0.5),2)/3 D)1/3.0*pow(sin(1.0/2),2)(20)以下能正确定义且赋初值的语句是A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;(21)以下程序的功能是:给r输入数据后计算半径为r的圆面积s。

全国计算机等级考试《二级C++语言程序设计》历年真题精选及详解

全国计算机等级考试《二级C++语言程序设计》历年真题精选及详解
【答案】 B 【解析】 “char*ap=new char [strlen(p)+1];”语句的意思是“动态分配一个长度为 strlen(p)+1 的字符数组空间,并把数组首地址赋给指针变量 ap”,而 strlen(p) 是计算字符串 “abedefg”的长度。 21. 有如下程序:
运行这个程序的输出结果是( A. 22 B. 23 C. 24 D. 25
【答案】 D 【解析】 需求分析阶段的工作主要包括 4 个方面:①需求获取,其目的是确定对目标系统 的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解 决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用 户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。制定软件集 成测试计划属于概要设计阶段的任务。答案选择 D 选项。 9. 在黑盒测试方法中,设计测试用例的主要根据是( )。 A. 程序内部逻辑 B. 程序外部功能 C. 程序数据结构 D. 程序流程图
运行这个程序的输出结果是( A. 3 B. 5 C. 7 D. 9
)。
【答案】 C 【解析】 for 语句基本格式:for(表达式 1;表达式 2;表达式 3)。执行过程如下:①先 求解表达式 1;②求解表达式 2,若其值为真(值为非 0),则执行 for 语句中
指定的内嵌语句,然后执行下面第(3)步。若为假(值为 0),则结束循环, 转到第(5)步;③求解表达式 3;④转回上面第(2)步骤继续执行;⑤循环结 束,执行 for 语句下面的一个语句。 20. 若 字符 指 针 p 所 指 向 的 字 符串 为 "abcdefg" , 在执 行 语 句 char*ap=new char[strlen(p)+1];之后,ap 指向的字符数组的元素个数为( )。 A. 9 B. 8 C. 7 D. 6

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:关键字`struct`用于定义一个结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。

2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C解析:`%`是取模运算符,`&&`是逻辑与运算符,`||`是逻辑或运算符,而`::`不是C语言中的运算符。

二、填空题1. 在C语言中,`________`关键字用于声明一个函数。

答案:int解析:在C语言中,`int`是用于声明一个函数的返回类型,表示该函数返回一个整数值。

2. 以下代码片段中,`________`用于定义一个名为`data`的数组,包含10个整数。

```cint data[10];```答案:int data[10];解析:`int data[10];`定义了一个名为`data`的数组,它包含10个整数。

三、编程题1. 编写一个C语言函数,计算并返回两个整数的和。

```cint add(int a, int b) {return a + b;}```答案:```cint add(int a, int b) {return a + b;}```解析:该函数接受两个整数参数`a`和`b`,计算它们的和,并返回结果。

2. 编写一个C语言程序,实现将一个字符串反转。

```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str); return 0;}```答案:```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str);return 0;}```解析:该程序定义了一个`reverse`函数,它接受一个字符串作为参数,并通过交换字符的方式将字符串反转。

计算机等级考试二级C真题参考答案及解析

计算机等级考试二级C真题参考答案及解析

计算机等级考试二级C真题参考答案及解析1、以下选项中可作为C语言合法常量的是______。

A) -80. B) -080 C) -8e1.0 D) -80.0e 【答案】A【解析】本题考点为数值常量的表示。

在C语言中,以0开头的整型常量为八进制数,其有效数字符号为0~7,故选项B错误。

在以指数形式表示实型常量时,e后面的指数只能是整数,且必须含有指数,故选项C、D错误。

2、以下不能定义为用户标识符的是______。

A) Main B) _0 C) _int D) sizeof 【答案】D解析】本题考点是C语言中标识符的命名规则。

C语言中的标识符包括变量名、符号常量名、函数名、数组名、结构名、类型名、文件名等,C语言中规定标识符只能由字母、数字和下划线三种符号组成,并且标识符的首字符必须是字母或下划线,C语言中的关键字如语句、数据类型名等不允许作为用户定义的标识符。

3、以下选项中,不能作为合法常量的是______。

参见第1题解析。

A) 1.234e04 B) 1.234e0.4 C) 1.234e+4 D) 1.234e0 【答案】B【解析】4、数字字符0的ASCII值为48,若有以下程序:main(){ char a='1',b='2'; printf("%c,",b++);printf("%d\n",b-a); }程序运行后的输出结果是______。

A) 3,2 B) 50,2 C) 2,2 D) 2,50 【答案】C【解析】本题考点为字符型数据的运算。

字符型数据的实质是字符的ASCII编码,因此字符型数据可以作为一个整数进行运算,参加运算的数据为字符对应的ASCII码。

因为b='2',故执行b++后b='3',但因在语句printf("%c,",b++);中b++为后增量,输出字符仍为'2',而b-a='3'-'1'=2,本题正确答案为C。

全国计算机等级考试二级C历年真题及答案

全国计算机等级考试二级C历年真题及答案

全国计算机等级考试二级C历年真题及答案一、选择题((1)~(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)下面叙述正确的是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)队列B)线性表C)二叉树D)栈(3)在一棵二叉树上第5层的结点数最多是A)8B)16C)32D)15(4)下面描述中,符合结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)模块只有一个入口,可以有多个出口C)注重提高程序的执行效率D)不使用goto语句(5)下面概念中,不属于面向对象方法的是A)对象B)继承C)类D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析B)需求分析C)详细设计D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计B)给出系统模块结构C)定义模块算法D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型C)软件工具B)数据库管理系统D)数据库(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库设计是指设计数据库管理系统C)数据库技术的根本目标是要解决数据共享的问题D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式B)外模式C)概念模式D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是A)―封装性‖指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B)―多态性‖指的是对象的状态会根据运行时要求自动变化C)基类的私有成员在派生类的对象中不可访问,也不占内存空间D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式A)ch>='A'&ch<='Z'B)ch<='A'||ch>='Z'C)'A'<=ch<='Z'D)ch>='A'&& ch<='Z'(13)已知下列语句中的某和y都是int型变量,其中错误的语句A)某=y++;B)某=++y;C)(某+y)++;D)++某=y;(14)执行语句序列intn;cin>>n;witch(n){cae1:cae2:cout<<'1';cae3:cae4:cout<<'2';break;default:cout<<'3';}时,若键盘输入1,则屏幕显示A)1B)2C)3D)12(15)下列程序的输出结果是#includeuingnamepacetd;intmain(){chara[]=\char某ptr=a;while(某ptr){if(某ptr>='a'&&某ptr<='z')cout<<char(某ptr+'A'-'a');elecout<<某ptr;ptr++;}return0;}A)HELLO,WORLDB)Hello,WorldC)hELLO,wORLDD)hello,world(16)已知:intm=10;在下列定义引用的语句中,正确的是A)int&某=m;B)inty=&m;C)int&z;D)int&t=&m;(17)下列函数原型声明中错误的是A)voidFun(int某=0,inty=0);B)voidFun(int某,inty);C)voidFun(int某,inty=0);D)voidFun(int某=0,inty);(18)已知程序中已经定义了函数tet,其原型是inttet(int,int,int);,则下列重载形式中正确的是A)chartet(int,int,int);B)doubletet(int,int,double);C)inttet( int,int,int=0);D)floattet(int,int,float=3.5F);(19)有以下程序#includeinti=0;voidfun(){{taticinti=1;td::cout<td::cout<2intmain(){fun();fun();return0;}程序执行后的输出结果是A)1,2,1,2,B)1,2,2,3,C)2,0,3,0,D)1,0,2,0,(20)已知函数f的原型是:voidf(int某a,long&b);变量v1、v2的定义是:intv1;longv2;,正确的调用语句是A)f(v1,&v2);B)f(v1,v2);C)f(&v1,v2);D)f(&v1,&v2);(21)有以下类定义claMyCla{public:MyCla(){cout<<1;}};则执行语句MyClaa,b[2],某p[2];后,程序的输出结果是A)11B)111C)1111D)11111(22)关于友元,下列说法错误的是A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,下列说法正确的是A)new和delete是C++语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#includeuingnamepacetd;claMyCla{public:MyCla(intn){number=n;}//拷贝构造函数MyCla(MyCla&other){number=other.number;}~MyCla(){}private: intnumber;};MyClafun(MyClap){3MyClatemp(p);returntemp;}intmain(){MyClaobj1(10),obj2(0);MyClaobj3(obj1);obj2=fun(obj3);return0 ;}程序执行时,MyCla类的拷贝构造函数被调用的次数是A)5B)4C)3D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A)公有成员和私有成员B)私有成员和保护成员C)公有成员和保护成员D)私有成员、保护成员和公有成员(26)在C++中用来实现运行时多态性的是A)重载函数B)析构函数C)构造函数D)虚函数(27)一个类可以同时继承多个类,称为多继承。

全国计算机等级考试二级C语言笔试试题及答案解析

全国计算机等级考试二级C语言笔试试题及答案解析

全国计算机等级考试二级C语言笔试试题及答案解析试题一:选择题1. 下列关于C语言的说法,错误的是()A. C语言是一种高级语言B. C语言具有跨平台性C. C语言编译器可以直接生成机器码D. C语言是一种解释型语言答案:D解析:C语言是一种高级语言,具有跨平台性。

编译器将C语言源程序编译成目标代码,然后通过链接器生成可执行文件,这个过程生成的机器码可以被计算机直接执行,因此C语言不是解释型语言。

2. 以下哪个选项不是C语言的基本数据类型?()A. intB. charC. floatD. string答案:D解析:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。

string不是C语言的基本数据类型,而是由字符数组构成的一种自定义类型。

试题二:填空题1. 在C语言中,每个语句的结尾必须使用()符号。

答案:分号(;)解析:在C语言中,每个语句的结尾必须使用分号(;)作为结束符,表示一个语句的结束。

2. 以下程序的输出结果是()。

```c#include <stdio.h>int main() {int a = 5;int b = 3;printf("%d\n", a % b);return 0;}```答案:2解析:在C语言中,取模运算符(%)用于计算两个整数相除的余数。

在本题中,5除以3的余数为2,因此输出结果为2。

试题三:编程题1. 编写一个C程序,实现以下功能:从键盘输入10个整数,计算并输出这些整数的平均值。

```c#include <stdio.h>int main() {int i, num;float sum = 0.0, average;for (i = 0; i < 10; i++) {printf("请输入第%d个整数:", i + 1);scanf("%d", &num);sum += num;}average = sum / 10;printf("这10个整数的平均值为:%.2f\n", average);return 0;}```解析:本题考查了循环语句、输入输出函数等基本知识。

c全国计算机二级考试真题及答案

c全国计算机二级考试真题及答案

c全国计算机二级考试真题及答案一、选择题(每题1分,共20分)1. 在计算机中,二进制数1010转换为十进制数是多少?A. 8B. 10C. 12D. 14答案:B2. 下列哪个选项不是计算机病毒的特点?A. 破坏性B. 传染性C. 可预见性D. 隐蔽性答案:C3. 在计算机系统中,外存是指?A. 内存B. 硬盘C. 软盘D. 光盘答案:B4. 以下哪个选项不是计算机操作系统的功能?A. 进程管理B. 文件管理C. 设备管理D. 网络通信5. 在Word中,以下哪个功能可以调整文档中的文字大小?A. 字体B. 段落C. 样式D. 插入答案:A6. Excel中,以下哪个函数用于计算一组数值的平均值?A. SUMB. AVERAGEC. COUNTD. MAX答案:B7. 在PowerPoint中,以下哪个视图模式用于编辑幻灯片内容?A. 普通视图B. 幻灯片浏览视图C. 幻灯片放映视图D. 大纲视图答案:A8. 以下哪个选项不是计算机网络的拓扑结构?A. 星型B. 环型C. 总线型D. 树型答案:D9. 在数据库管理系统中,以下哪个操作用于查询数据?B. INSERTC. UPDATED. DELETE答案:A10. 以下哪个选项是计算机硬件的组成部分?A. 操作系统B. 编译器C. 中央处理器D. 编程语言答案:C11. 在计算机中,以下哪个单位用于表示存储容量?A. 字节(Byte)B. 位(Bit)C. 赫兹(Hz)D. 伏特(V)答案:A12. 以下哪个选项不是计算机病毒的传播途径?A. 电子邮件B. 移动存储设备C. 正规软件下载D. 网络下载答案:C13. 在计算机系统中,以下哪个选项不是输入设备?A. 键盘B. 鼠标C. 显示器D. 扫描仪答案:C14. 在Word中,以下哪个功能可以设置文档的页边距?A. 页面布局B. 插入C. 引用D. 视图答案:A15. Excel中,以下哪个函数用于计算一组数值的总和?A. AVERAGEB. SUMC. COUNTD. MAX答案:B16. 在PowerPoint中,以下哪个视图模式用于查看幻灯片的布局?A. 普通视图B. 幻灯片浏览视图C. 幻灯片放映视图D. 大纲视图答案:B17. 以下哪个选项是计算机网络的功能?A. 数据存储B. 数据处理C. 资源共享D. 信息发布答案:C18. 在数据库管理系统中,以下哪个操作用于插入数据?A. SELECTB. INSERTC. UPDATED. DELETE答案:B19. 以下哪个选项是计算机软件的组成部分?A. 操作系统B. 编译器C. 中央处理器D. 编程语言答案:A20. 在计算机中,以下哪个单位用于表示数据传输速率?A. 字节(Byte)B. 位(Bit)C. 赫兹(Hz)D. 伏特(V)答案:B结束语:以上是全国计算机二级考试的部分真题及答案,希望对各位考生的复习有所帮助。

NCRE二级C语言真题与答案

NCRE二级C语言真题与答案

NCRE二级C语言真题与答案一、真题回顾NCRE(National Computer Rank Examination)是全国计算机等级考试,其C语言级别分为一级和二级。

本文将回顾NCRE二级C语言的真题,并给出相应的答案。

1.1 第一题题目描述:请编写一个程序,实现将输入的字符串逆序输出。

示例输入:Hello World!示例输出:!dlroW olleH解答:```c#include <stdio.h>#include <string.h>void reverseString(char * str) {int i, j;char temp;for (i = 0, j = strlen(str) - 1; i < j; i++, j--) {temp = str[i];str[i] = str[j];str[j] = temp;}}int main() {char input[100];printf("请输入一个字符串:");scanf("%s", input);reverseString(input);printf("逆序输出:%s\n", input);return 0;}```1.2 第二题题目描述:请编写一个程序,实现将给定的整数数组按照从小到大的顺序排序。

示例输入:6 3 8 2 9示例输出:2 3 6 8 9解答:```c#include <stdio.h>void bubbleSort(int arr[], int num) { int i, j, temp;for (i = 0; i < num - 1; i++) {for (j = 0; j < num - i - 1; j++) { if (arr[j] > arr[j+1]) {temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}int main() {int arr[100], num, i;printf("请输入数组的长度:"); scanf("%d", &num);printf("请输入数组元素:");for (i = 0; i < num; i++) {scanf("%d", &arr[i]);}bubbleSort(arr, num);printf("从小到大排序结果:");for (i = 0; i < num; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```二、答案解析2.1 第一题解析该题要求逆序输出输入的字符串。

全国计算机等级考试(二级c++)历年真题及答案

全国计算机等级考试(二级c++)历年真题及答案

全国电脑等级考试二级笔试试卷公共基础知识及C++语言程序设计(考试时间90分钟,总分值100)分)一、选择题((1)~(35)每题2分,共70分)以下各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 下面表达正确的选项是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)队列B)线性表C)二叉树D)栈(3)在一棵二叉树上第5层的结点数最多是A)8 B)16 C)32 D)15(4)下面描述中,符合结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)模块只有一个入口,可以有多个出口C)注重提高程序的执行效率D)不使用goto语句(5)下面概念中,不属于面向对象方法的是A)对象B)继承C)类D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析B)需求分析C)详细设计D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计B)给出系统模块结构C)定义模块算法D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型C)软件工具B)数据库管理系统D)数据库(9)以下表达中正确的选项是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库设计是指设计数据库管理系统C)数据库技术的根本目标是要解决数据共享的问题D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)以下模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式B)外模式C)概念模式D)逻辑模式(11)关于面向对象的程序设计方法,以下说法正确的选项是A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B)“多态性”指的是对象的状态会根据运行时要求自动变化C)基类的私有成员在派生类的对象中不可访问,也不占内存空间D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式A ) ch>='A' & ch<='Z'B ) ch<='A' ||ch>='Z'C ) 'A'<=ch<='Z'D ) ch>='A' && ch<='Z'(13)已知以下语句中的x和y都是int型变量,其中错误的语句A ) x=y++;B ) x=++y;C ) (x+y)++;D ) ++x=y;(14)执行语句序列int n;cin >> n;switch(n){ case 1:case 2: cout << '1';case 3:case 4: cout << '2'; break;default: cout << '3';}时,假设键盘输入1,则屏幕显示A)1 B)2 C)3 D)12(15)以下程序的输出结果是#include <iostream>using namespace std;int main(){char a[] = "Hello, World";char *ptr = a;while (*ptr){if (*ptr >= 'a' && *ptr <= 'z')cout << char(*ptr + 'A' -'a');else cout << *ptr;ptr++;}return 0;}A ) HELLO, WORLDB ) Hello, WorldC ) hELLO, wORLD D ) hello, world(16)已知:int m=10;在以下定义引用的语句中,正确的选项是A ) int &x=m;B )int y=&m;C )int &z;D ) int &t=&m;(17)以下函数原型声明中错误的选项是A ) void Fun(int x=0, int y=0);B ) void Fun(int x, int y);C ) void Fun(int x, int y=0);D ) void Fun(int x=0, int y);(18)已知程序中已经定义了函数test,其原型是int test(int, int, int);,则以下重载形式中正确的选项是A ) char test(int,int,int);B ) double test(int,int,double);C ) int test(int,int,int=0);D ) float test(int,int,float=);(19)有以下程序#include<iostream>int i = 0;void fun(){ {static int i = 1;std::cout<<i++<<',';}std::cout<<i<<',';}int main(){fun(); fun();return 0;}程序执行后的输出结果是A)1,2,1,2, B)1,2,2,3, C)2,0,3,0, D)1,0,2,0,(20)已知函数f的原型是:void f(int *a, long &b); 变量v1、v2的定义是:int v1;long v2;,正确的调用语句是A) f(v1, &v2); B) f(v1, v2);C) f(&v1, v2); D) f(&v1, &v2);(21)有以下类定义class MyClass{public:MyClass(){cout<<1;}};则执行语句MyClass a, b[2], *p[2];后,程序的输出结果是A)11 B)111 C)1111 D)11111(22)关于友元,以下说法错误的选项是A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,以下说法正确的选项是A)new和delete是C++语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#include<iostream>using namespace std;class MyClass{public:MyClass(int n){number = n;}//拷贝构造函数ber;}~MyClass(){}private:int number;};MyClass fun(MyClass p){MyClass temp(p);return temp;}int main(){MyClass obj1(10), obj2(0);MyClass obj3(obj1);obj2=fun(obj3);return 0;}程序执行时,MyClass类的拷贝构造函数被调用的次数是A)5 B)4 C)3 D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A)公有成员和私有成员B)私有成员和保护成员C)公有成员和保护成员D)私有成员、保护成员和公有成员(26)在C++中用来实现运行时多态性的是A)重载函数B)析构函数C)构造函数D)虚函数(27)一个类可以同时继承多个类,称为多继承。

计算机国家等级考试二级c试题及答案

计算机国家等级考试二级c试题及答案

计算机国家等级考试二级c试题及答案Ⅰ. 选择题1. 下列选项中,不属于计算机网络分类的是:A. 局域网B. 城域网C. 广域网D. 互联网2. 在Excel中,通过哪个函数可以找到一列或一行中的最大值?A. MAX()B. MIN()C. SUM()D. AVG()3. 下列哪个设备可以用于将数字信号转换为模拟信号?A. 集线器B. 路由器C. 数字调制解调器D. 交换机4. 在计算机网络中,HTTP协议是用于:A. 文件传输B. 邮件传输C. 网页传输D. 数据传输5. 下列选项中,不属于常见的数据库管理系统的是:A. MySQLB. OracleC. PhotoshopD. SQL ServerⅡ. 填空题1. 在计算机网络中,IP地址由__4__个字节组成。

2. 在Python中,使用__print()__函数输出结果。

3. 在Excel中,利用__VLOOKUP()__函数可以进行垂直查找。

4. Windows操作系统中,使用Ctrl+Alt+Delete组合键可以打开__任务管理器__。

5. HTML是用于构建__网页__的标记语言。

Ⅲ. 简答题1. 什么是操作系统?列举几个常见的操作系统。

操作系统是计算机系统中的核心软件,它负责管理计算机硬件和软件资源,提供给应用程序和用户友好的接口。

常见的操作系统有Windows、macOS、Linux等。

2. 什么是数据库?简述关系型数据库和非关系型数据库的区别。

数据库是用于存储和组织数据的系统。

关系型数据库基于关系模型,使用表格结构来存储数据,并通过SQL语言进行操作和查询。

非关系型数据库则不依赖于表格结构,可以采用键值对、文档、图形等方式存储数据。

3. 请简要介绍一下计算机网络的层次结构。

计算机网络的层次结构包括物理层、数据链路层、网络层、传输层和应用层。

物理层负责传输比特流;数据链路层处理帧的传输和错误检测;网络层建立不同网络之间的连接;传输层提供可靠的、面向连接的数据传输;应用层为用户提供服务。

计算机二级c语言往年试题及答案

计算机二级c语言往年试题及答案

计算机二级c语言往年试题及答案一、选择题1. 下列不属于C语言关键字的是:A) if B) else C) switch D) case答案: D2. 在C语言中,下列关于数组说法正确的是:A) 数组的下标可以为负数B) 数组的大小可以在运行时动态改变C) 数组下标的类型可以是浮点数D) 数组元素的类型可以不相同答案: D3. 下面哪个运算符的优先级最高?A) ! B) ++ C) + D) &&答案: B4. 以下哪个循环语句无法在其内部控制循环的流程?A) while B) do-while C) for D) if-else答案: D5. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int a = 5, b = 2;printf("%d", a++ - b);printf("%d", a);}```A) 2, 6 B) 3, 6 C) 3, 7 D) 2, 7答案: A二、填空题1. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int x = 3;while (x++ < 6)printf("%d ", x);return 0;}```答案: 4 5 62. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int i = 0;while (i < 3){printf("%d ", ++i);i++;}return 0;}```答案: 1 3三、编程题1. 编写一个C程序,实现输入一个正整数n,计算并输出n的阶乘。

```c#include <stdio.h>unsigned long long factorial(unsigned int n);int main(){unsigned int n;printf("请输入一个正整数:");scanf("%u", &n);printf("%d的阶乘为:%llu", n, factorial(n));return 0;}unsigned long long factorial(unsigned int n){if (n == 0 || n == 1)return 1;elsereturn n * factorial(n - 1);}```以上为编写的一个简单的阶乘计算程序。

全国计算机等级考试二级C语言附详解

全国计算机等级考试二级C语言附详解

以下选项中非法的字符常量是
A、’\102’ B、’\65’ C、’\xff’ D、’\019’
转义字符,即反斜杠加数字或字母的形式(例如'\n'是换行 符),转义字符本身就是一个字符。 C的\X后面是十六进制数 数字不需要以0开头的,以0开头了,0所代表的意义是指八进 制,例如01,是指八进制的1,八进制里是没有数字8和9的, 所以09是错误的,同理,D项的019错了 C以x开头代表了xff这个数是16进制,16进制里是有f的,数值 上等于十进制里的15 数字前什么都不加,例如A和B项,C语言默认为十进制。
软件设计包括概要设计和详细设计
软件详细设计--程序流程图(PDF)和PAD(问题分析图) 是过程设计的常用工具
数据流图(DFD图)是软件定义阶段结构化分析方法常 用的工具。
针对简单程序设计,以下叙述的实施步骤正确的是 A、确定算法和数据结构、编码、调试、整理文档 B、编码、确定算法和数据结构、调试、整理文档 C、整理文档、确定算法和数据结构、编码、调试 D、确定算法和数据结构、调试、编码、整理文档
指针的概念和应用 数组名本身就是地址,所以不需要用&符号。C选项不能对所 有元素赋值而是反复再给一个数值赋值且是死循环。D
有以下程序
#include <sthio.h> Main() {int a,b,k,m,*p1,*p2; k=1,m=8; p1=&k,p2=&m; a=/*p1-m; b=*p1+*p2+6; printf(“%d ”,a); printf(“%d\n”,b);
一个正确的算法可以有零个或者多个输入,必须有一个或者多 个输出
以下叙述错误的是 A、一个C程序可以包含多个不同名的函数 B、一个C程序只能有一个主函数 C、C程序在书写时,有严格的缩进要求,否 则不能编译通过 D、C程序的主函数必须用main作为函数名

全国计算机等级考试二级C语言笔试试题及答案解析

全国计算机等级考试二级C语言笔试试题及答案解析

全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。

2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。

选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。

3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。

因此,5除以4的结果为1。

4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。

calloc()函数也用于动态分配内存,但会初始化分配的内存空间。

alloc()和new()不是C语言中的标准函数。

二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。

答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。

2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。

答案:2解析:在C语言中,%运算符表示求余运算。

因此,5除以3的余数为2。

3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。

全国计算机等级考试(二级c++)历年真题及答案

全国计算机等级考试(二级c++)历年真题及答案

全国计算机等级考试二级笔试试卷公共基础知识及C++语言程序设计(考试时间90分钟,满分100)分)一、选择题((1)~(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分.(1)下面叙述正确的是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)队列B)线性表C)二叉树D)栈(3)在一棵二叉树上第5层的结点数最多是A)8 B)16 C)32 D)15 (4)下面描述中,符合结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)模块只有一个入口,可以有多个出口C)注重提高程序的执行效率D)不使用goto语句(5)下面概念中,不属于面向对象方法的是A)对象B)继承C)类D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析B)需求分析C)详细设计D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计B)给出系统模块结构C)定义模块算法D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型C)软件工具B)数据库管理系统D)数据库(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库设计是指设计数据库管理系统C)数据库技术的根本目标是要解决数据共享的问题D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式B)外模式C)概念模式D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B)“多态性”指的是对象的状态会根据运行时要求自动变化C)基类的私有成员在派生类的对象中不可访问,也不占内存空间D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式A ) ch〉='A' & ch〈=’Z'B ) ch<=’A' ||ch>='Z’C ) ’A’<=ch〈=’Z'D ) ch>=’A’ &&ch〈='Z'(13)已知下列语句中的x和y都是int型变量,其中错误的语句A )x=y++;B )x=++y;C ) (x+y)++;D )++x=y;(14)执行语句序列int n;cin 〉> n;switch(n){ case 1:case 2: cout 〈< '1’;case 3:case 4:cout << ’2’;break;default:cout 〈< ’3';}时,若键盘输入1,则屏幕显示A)1 B)2 C)3 D)12(15)下列程序的输出结果是#include 〈iostream>using namespace std;int main(){char a[]= ”Hello,World”;char *ptr = a;while (*ptr){if (*ptr 〉= 'a’ &&*ptr 〈= 'z’)cout 〈< char(*ptr + 'A' -'a’);else cout <〈*ptr;ptr++;1}return 0;}A ) HELLO,WORLDB ) Hello, WorldC )hELLO, wORLD D )hello,world (16)已知:int m=10;在下列定义引用的语句中,正确的是A )int &x=m;B )int y=&m;C )int &z;D ) int &t=&m;(17)下列函数原型声明中错误的是A ) void Fun(int x=0, int y=0);B ) void Fun(int x, int y);C ) void Fun(int x, int y=0);D )void Fun(int x=0,int y);(18)已知程序中已经定义了函数test,其原型是int test (int,int, int);,则下列重载形式中正确的是A ) char test(int,int,int);B ) double test(int,int,double);C ) int test(int,int,int=0);D ) float test(int,int,float=3.5F);(19)有以下程序#include〈iostream>int i = 0;void fun(){{static int i = 1;std::cout<〈i++<<',’;}std::cout<<i〈<',';}int main(){fun();fun();return 0;}程序执行后的输出结果是A)1,2,1,2,B)1,2,2,3,C)2,0,3,0, D)1,0,2,0,(20)已知函数f的原型是:void f(int *a,long &b);变量v1、v2的定义是:int v1;long v2;,正确的调用语句是A)f(v1, &v2); B) f(v1,v2);C)f(&v1,v2); D)f(&v1, &v2); (21)有以下类定义class MyClass{public:MyClass(){cout<〈1;}};则执行语句MyClass a, b[2],*p[2];后,程序的输出结果是A)11 B)111 C)1111 D)11111(22)关于友元,下列说法错误的是A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,下列说法正确的是A)new和delete是C++语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#include〈iostream〉using namespace std;class MyClass{public:MyClass(int n){number = n;}//拷贝构造函数MyClass(MyClass &other){ number=other.number;} ~MyClass(){}private:int number;};MyClass fun(MyClass p){MyClass temp(p);return temp;}int main(){MyClass obj1(10), obj2(0);MyClass obj3(obj1);obj2=fun(obj3);return 0;}2程序执行时,MyClass类的拷贝构造函数被调用的次数是A)5 B)4 C)3 D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A)公有成员和私有成员B)私有成员和保护成员C)公有成员和保护成员D)私有成员、保护成员和公有成员(26)在C++中用来实现运行时多态性的是A)重载函数B)析构函数C)构造函数D)虚函数(27)一个类可以同时继承多个类,称为多继承。

全国计算机二级c考试真题及答案

全国计算机二级c考试真题及答案

全国计算机二级c考试真题及答案一、单项选择题(每题1分,共40分)1. 在C语言中,以下哪个关键字用于声明函数?A. structB. unionC. functionD. void答案:D2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C3. C语言中,哪个运算符用于计算两个数的和?A. +=B. +=C. -D. +答案:D4. 若有定义:int a=5, b=6; 则表达式 a++ + b 的值是多少?A. 10B. 11C. 12D. 13答案:B5. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strncpy()答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个结构体。

答案:struct2. 若变量x和y都是int类型,且x=1,y=2,则表达式x++ + y++的值为________。

答案:33. 在C语言中,使用________函数可以将一个浮点数转换为字符串。

答案:sprintf()4. 若有数组定义:int arr[5] = {1, 2, 3, 4, 5}; 则表达式arr[0] + arr[2]的值为________。

答案:45. 在C语言中,使用________函数可以打开一个文件。

答案:fopen()三、编程题(每题20分,共40分)1. 编写一个C语言函数,该函数接受一个整数数组和数组的大小,然后计算并返回数组中所有元素的总和。

答案:```cint sumArray(int arr[], int size) {int sum = 0;for (int i = 0; i < size; i++) {sum += arr[i];}return sum;}```2. 编写一个C语言程序,该程序接受用户输入的两个整数,然后计算并输出这两个整数的乘积。

计算机等级考试二级c语言习题答案

计算机等级考试二级c语言习题答案

计算机等级考试二级c语言习题答案一、选择题1. 在C语言中,下列哪个选项是合法的标识符?A. 2variableB. variable2C. variable!D. variable$答案:B2. C语言中,一个整型变量占用的字节数是多少?A. 1B. 2C. 4D. 8答案:C3. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D4. 在C语言中,字符'A'的ASCII码值是多少?A. 65B. 97C. 66D. 98答案:A5. 下列哪个选项是C语言中的合法整型常量?A. 0x1AB. 1.2E3C. 0177D. 0b1010答案:C二、填空题1. 在C语言中,用于定义变量的关键字是________。

答案:int2. 若有定义 int a=5, b=6;,则表达式 a++ + b 的值是________。

答案:113. 在C语言中,用于输出的函数是________。

答案:printf4. 若有定义 int a=10;,则执行语句 a %= 3; 后,变量 a 的值是________。

答案:15. 在C语言中,用于计算两个浮点数之差的绝对值的函数是________。

答案:fabs三、编程题1. 编写一个程序,计算并输出以下数列的前10项之和:1, 1/2, 1/3, 1/4, ...请给出完整的程序代码。

```c#include <stdio.h>int main() {double sum = 0.0;for (int i = 1; i <= 10; i++) {sum += 1.0 / i;}printf("The sum of the series is: %f\n", sum);return 0;}```2. 编写一个程序,实现对字符串的逆序输出。

```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("Enter a string: ");scanf("%s", str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");return 0;}```结束语:以上是计算机等级考试二级C语言的部分习题及答案,希望对您的学习和备考有所帮助。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全国计算机等级考试二级笔试试卷 公共基础知识及C++语言程序设计 (考试时间90分钟,满分100)分) 一、选择题((1)~(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 下面叙述正确的是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)队列 B)线性表 C)二叉树 D)栈(3)在一棵二叉树上第5层的结点数最多是A)8 B)16 C)32 D)15(4)下面描述中,符合结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B)模块只有一个入口,可以有多个出口 C)注重提高程序的执行效率 D)不使用goto 语句(5)下面概念中,不属于面向对象方法的是A)对象 B)继承 C)类 D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是 A)可行性分析 B)需求分析 C)详细设计 D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计 B)给出系统模块结构C)定义模块算法 D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型 C)软件工具B)数据库管理系统 D)数据库(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库设计是指设计数据库管理系统C)数据库技术的根本目标是要解决数据共享的问题D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式 B)外模式 C)概念模式D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B)“多态性”指的是对象的状态会根据运行时要求自动变化C)基类的私有成员在派生类的对象中不可访问,也不占内存空间D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式A ) ch>='A' & ch<='Z'B ) ch<='A' ||ch>='Z'C ) 'A'<=ch<='Z'D ) ch>='A' && ch<='Z'(13)已知下列语句中的x和y都是int型变量,其中错误的语句A ) x=y++;B ) x=++y;C ) (x+y)++;D ) ++x=y;(14)执行语句序列int n;cin >> n;switch(n){ case 1:case 2: cout << '1';case 3:case 4: cout << '2'; break; default: cout << '3';}时,若键盘输入1,则屏幕显示A)1 B)2 C)3 D)12(15)下列程序的输出结果是#include <iostream>using namespace std;int main(){char a[] = "Hello, World";char *ptr = a;while (*ptr){if (*ptr >= 'a' && *ptr <= 'z')cout << char(*ptr + 'A' -'a');else cout << *ptr;ptr++;}return 0;}A ) HELLO, WORLDB ) Hello, WorldC ) hELLO, wORLD D ) hello, world(16)已知:int m=10;在下列定义引用的语句中,正确的是A ) int &x=m;B )int y=&m;C )int &z;D ) int &t=&m;(17)下列函数原型声明中错误的是A ) void Fun(int x=0, int y=0);B ) void Fun(int x, int y);C ) void Fun(int x, int y=0);D ) void Fun(int x=0, int y);(18)已知程序中已经定义了函数test,其原型是int test(int, int, int);,则下列重载形式中正确的是A ) char test(int,int,int);B ) double test(int,int,double);C ) int test(int,int,int=0);D ) float test(int,int,float=3.5F);(19)有以下程序#include<iostream>int i = 0;void fun(){ {static int i = 1;std::cout<<i++<<',';}std::cout<<i<<',';}int main() {fun(); fun(); return 0; }程序执行后的输出结果是A)1,2,1,2, B)1,2,2,3, C)2,0,3,0, D)1,0,2,0,(20)已知函数f 的原型是:void f(int *a, long &b); 变量v1、v2的定义是:int v1;long v2;,正确的调用语句是 A) f(v1, &v2); B) f(v1,v2);C) f(&v1, v2); D) f(&v1, &v2);(21)有以下类定义 class MyClass { public:MyClass(){cout<<1;} };则执行语句MyClass a, b[2], *p[2];后,程序的输出结果是A)11 B)111 C)1111 D)11111(22)关于友元,下列说法错误的是 A)如果类A 是类B 的友元,那么类B 也是类A 的友元B)如果函数fun()被说明为类A 的友元,那么在fun()中可以访问类A 的私有成员C)友元关系不能被继承 D)如果类A 是类B 的友元,那么类A 的所有成员函数都是类B 的友元(23)关于动态存储分配,下列说法正确的是A)new 和delete 是C++语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化 C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete 释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new (24)有以下程序 #include<iostream> using namespace std; class MyClass{public:MyClass(int n){number = n;}//拷贝构造函数MyClass(MyClass&other){ number=other.number;}~MyClass(){}private:int number;};MyClass fun(MyClass p){MyClass temp(p);return temp;}int main(){MyClass obj1(10), obj2(0);MyClass obj3(obj1);obj2=fun(obj3);return 0;}程序执行时,MyClass类的拷贝构造函数被调用的次数是A)5 B)4 C)3 D)2 (25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A)公有成员和私有成员 B)私有成员和保护成员C)公有成员和保护成员 D)私有成员、保护成员和公有成员(26)在C++中用来实现运行时多态性的是A)重载函数 B)析构函数C)构造函数 D)虚函数(27)一个类可以同时继承多个类,称为多继承。

下列关于多继承和虚基类的表述中,错误的是A)每个派生类的构造函数都要为虚基类构造函数提供实参B)多继承时有可能出现对基类成员访问的二义性问题C)使用虚基类可以解决二义性问题并实现运行时的多态性D)建立最派生类对象时,虚基类的构造函数会首先被调用(28)在一个类体的下列声明中,正确的纯虚函数声明是A) virtual void vf()=0; B) void vf(int)=0;C) virtual int vf(int); D) virtual void vf(int) { }(29)在下面的运算符重载函数的原型中,错误的是A) Volume operator - (double, double);B) double Volume::operator- (double);C) Volume Volume: :operator - (Volume);D) Volume operator - (Volume, Volume);(30)下列是模板声明的开始部分,其中正确的是A) template<T>B) template<class T1,T2>C) template<class T1, class T2>D) template<class T1;class T2>(31)执行语句序列ofstream outfile("DATA.DAT");if(...) cout << "OK"; else cout << "FAIL";后,如果文件打开成功显示“OK”,否则就显示“F厶n。

”。

由此可知,上面if 语句的...处的表达式应是A )outfile.fail() 或outfileB )outfile.good() 或 !outfileC )outfile.good() 或outfileD )outfile.fail() 或 !outfile(32)C++流中重载的运算符>>是一个()A)用于输出操作的非成员函数 B)用于输入操作的非成员函数C)用于输出操作的成员函数 D)用于输入操作的成员函数(33)有以下类定义class Point {public:Point(int x = 0, int y = 0) { _.x= x; _.y = y; }void Move(int xOff, int yOff){ _x += xOff; _.y += yOff; }void Print() const{ cout << '(' << _x << ',' << _y<< ')' << endl; }private:int _x, _y;};下列语句中会发生编译错误的是A) Point pt; pt.Print();B) const Point pt; pt.Print();C) Point pt; pt.Move(l, 2);D) const Point pt; pt.Move(l, 2);(34)有以下类定义class MyClass{private:int id;char gender,char *phone;public:MyClass():id(0),gender('#'),phone(N ULL) { }MyClass(int no, char ge='#', char *ph= NULl.){ id=no;gende=ge;phone=ph; } };下列类对象定义语句中错误的是A) MyClass myObj;C) MyClass myObj(12, 'm');D) MyClass myObj(12);(35)有以下程序#include <iostream>using namespace std;class Complex{public:Complex(double r =0, double i =0):re(r), im(i) { }double real() const { return re; }double imag() const { return im;} Complex operator +(Complex c) const{ return Complex(re+c.re, im+c.im); }private:double re, im;};int main(){Complex a = Complex(l, 1) + Complex(5);cout << a.real() << '+' << a.imag() <<'i' << endl;return 0;}程序执行后的输出结果是A) 6+6i B) 6+1i C) 1+6i D) 1+1i二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡[1]-[15]序号的横线上,答在试卷上不得分。

相关文档
最新文档