国家计算机等级考试二级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笔试试卷(含参考答案)以下各题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考试题库及答案全国计算机二级C考试题库及答案1. 单项选择题1.1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A1.2. 下列哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a; int b);D. int function(int a, int b)答案:A1.3. 在C语言中,下列哪个选项表示逻辑与运算?A. &&B. ||C. !D. ^答案:A2. 填空题2.1. 在C语言中,使用____关键字可以定义一个指针变量。
答案:指针2.2. C语言中,用于文件操作的库函数通常存放在____头文件中。
答案:stdio.h2.3. C语言中,____运算符用于取地址。
答案:&3. 简答题3.1. 请简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以作为指向数组第一个元素的指针。
数组的每个元素可以通过指针运算访问。
3.2. 解释C语言中宏定义的作用。
答案:宏定义允许程序员定义一个名字,该名字可以被编译器替换为一个字符串。
这通常用于代码复用、条件编译和调试。
4. 编程题4.1. 编写一个C语言函数,计算并返回两个整数的和。
答案:```cint add(int a, int b) {return a + b;}```4.2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>void reverseString(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!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```请注意,以上提供的是示例答案,实际考试中的答案可能会有所不同。
全国计算机2级c试题及答案
全国计算机2级c试题及答案一、单项选择题(每题1分,共20分)1. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[] = {"Hello"};D. char str[6] = {"Hello"};答案:A2. 下列关于C语言中数组的描述,错误的是?A. 数组的索引从0开始。
B. 数组的大小在声明时必须确定。
C. 数组可以存储不同类型的数据。
D. 数组的元素在内存中是连续存储的。
答案:C3. 在C语言中,哪个关键字用于声明函数?A. classB. functionC. defD. int答案:D4. 以下哪个选项是C语言中的合法整数常量?A. 0x1AB. 01AC. 1.2E3D. 0b1010答案:A5. C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/答案:B6. 在C语言中,以下哪个选项是正确的二进制数表示?A. 0b1010B. 0x2AC. 0101D. 02A答案:A7. 以下哪个选项是C语言中的合法浮点数常量?A. 1.23B. .23C. 123.D. 1.23E+5答案:D8. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int a;float b;};B. struct Student {int age;float height;};C. struct Student {int age;float height;} student1;D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的指针声明?A. int *p;B. int *p = 0;C. int *p = NULL;D. All of the above答案:D10. 以下哪个选项是C语言中正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include "stdio"D. #include <stdio>答案:A11. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI 3.14159;D. #define PI 3.14159答案:A12. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if (x > 0) {// code}D. All of the above答案:C13. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for (i = 0; i < 10; i++)C. for (int i = 0; i <= 10; i++)D. All of the above答案:A14. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. All of the above答案:D15. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {RED, GREEN, BLUE};B. enum {RED, GREEN, BLUE};C. enum Color {0, 1, 2};D. All of the above答案:D16. 在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. All of the above答案:D17. 在C语言中,以下哪个选项是正确的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D18. 在C语言中,以下哪个选项是正确的类型转换?A. (int)xB. int(x)C. x(int)D. All of the above答案:A19. 在C语言中,以下哪个选项是正确的多文件程序结构?A. main.cB. main.hC. main.c and main.hD. All of the above答案:C20. 在C语言中,以下哪个选项是正确的内存分配方式?。
计算机二级C语言笔试真题
计算机二级C语言笔试真题一、真题概述计算机二级C语言考试是我国针对非计算机专业大学生的计算机水平测试,旨在检验考生对C语言基础知识的掌握以及编程能力。
以下是一篇关于计算机二级C语言笔试真题的分析,包括题目描述、解题策略和参考答案。
二、真题题目题目一:选择题(每题2分,共20分)1. 下面哪一个选项是C语言的逻辑运算符?A. ++B. --C. &&D. ||2. 若变量已正确定义并赋值,以下正确的赋值语句是()A. a = b = c = 10;B. a = (b = c + 10);C. a = b = c + 10;D. a = (b = c) + 10;3. 在C语言中,下列哪个选项表示关系表达式?A. a == bB. a = bC. a += bD. a && b4. 下面哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()5. 下面哪个函数用于释放动态分配的内存?A. free()B. delete()C. release()D. dispose()题目二:填空题(每题3分,共30分)6. C语言的标识符可以由字母、数字和下划线组成,且第一个字符必须是______。
7. 在C语言中,逻辑与运算符“&&”的优先级高于______。
8. 下面程序的输出结果是______。
```c#include <stdio.h>int main() {int a = 5, b = 10;printf("%d ", a++ + b--);printf("%d %d\n", a, b);return 0;}```9. 下面程序的输出结果是______。
```c#include <stdio.h>int main() {int a = 1, b = 2, c = 3;if (a > b) {if (a > c)printf("%d ", a);elseprintf("%d ", c);} else {if (b > c)printf("%d ", b);elseprintf("%d ", c);}return 0;}```10. 下面程序的输出结果是______。
全国计算机等级考试二级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语言【附详解】
下列叙述中正确的是 A、栈是一种先进先出的线性表 B、队列是一种后进先出的线性表 C、栈和队列都是非线性结构 D、以上三种说法都不对
栈是一种后进先出的线性表 队列是一种先进先出的线性表,二者均是线性结构, 答案为选项D。
一棵二叉树共有25个节点,其中5个是子节点, 那么度为1的节点数为 A、4 B、6 C、10 D、16
指针的概念和应用 数组名本身就是地址,所以不需要用&符号。C选项不能对所 有元素赋值而是反复再给一个数值赋值且是死循环。D
有以下程序 #include <sthio.h> Main() {int a,b,k,m,*p1,*p2; ; a=/*p1-m; b=*p1+*p2+6; printf(“%d ”,a); printf(“%d\n”,b);
内模式也称存储模式,它是数据物理结构和存储方 式的描述,是数据在数据库内部的表示方式 对应于物理级,它是数据库中全体数据的内部表示 或底层描述,是数据库最低一级的逻辑描述。选项 A正确。
在满足实体完整性约束的条件下 A. 一个关系中可以没有候选关键词 B. 一个关系中只能有一个候选关键词 C. 一个关系中必须有多个候选关键词 D. 一个关系中应该有一个或者多个候选关键词
在一个关系中,候选关键字可以有多个且在任何关系中至少有一个关键字。 所以在满足数据完整性约束的条件下,一个关系应该有一个或多个候选关键 字,选项D正确。
有三个关系R、S和T如下:
R和S的差是由属于R但不属于S的元组组成的集合 根据本题关系R和关系S运算前后的变化,可以看出此处进行 的是关系运算的差运算
简单程序设计的步骤: 首先要确定算法和数据结构 然后编码、调试 最后整理相关文档。
关于C语言中数的表示,以下叙述正确的是 A、只有整型数在允许范围内能精确无误的表示,实型数会 有误差 B、只要在在允许范围内整型和实型都能精确表示 C、只有实型数在允许范围内能精确无误的表示,整型数会 有误差 D、只有八进制表示的数在不会有误差
全国计算机等级考试二级C语言笔试试卷及标准解析
全国计算机等级考试二级C语言笔试试卷及标准解析全国计算机等级考试二级C语言笔试试卷及标准解析一、选择题((1)一(10)每题2分(11)一(50)每题1分共60分) 下列各题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)对如下二叉树 ABDECF 进行后序遍历的结果为A)ABCDEFB)DBEAFC C)ABDECFD)DEBFCA (7)在深度为7的满二叉树中叶子结点的个数为A)32B)31 C)64D)63 (8)“商品”与“顾客”两个实体集之间的联系一般是 A)一对一B)一对多 C)多对一D)多对多 (9)在E-R图中用来表示实体的图形是 A)矩形B)椭圆形 C)菱形D)三角形 (10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB 和DBMS D)没有任何关系 (11)以下不合法的用户标识符是A)j2_KEYB)Double C)4dD)_8_ (12)以下不合法的数值常量是 A)011B)1e1 C)8.0E0.5D)0xabcd (13)以下不合法的字符常量是A)′\018′B)′\"′ C)′\\′D)′\xcc′(14)表达式3.6-5/2+1.2+5%2的值是 A)4.3B)4.8C)3.3 D)3.8(15)以下能正确定义字符串的语句是 A)char str[]={′\064′};B)char str="kx43"; C)charstr="; D)char str[]="\0";(16)以下数组定义中错误的是 A)int x[][3]={0};B)int x[2][3]={{l2}{34}{56}}; C)int x[][3]={{l23}{456}}; D)int x[2][3]={l23456};(17)若要求从键盘读入含有空格字符的字符串应使用函数A)getcB)gets C)getcharD)scanf(18)以下四个程序中完全正确的是 A)#includeB)#include main;main {/_programming_/{/_/programming /_/ printf("programming!\n");}printf("programming!\n");}C) #include D) include mainmain{/_/_programming_/_/{/_programming_/printf("programming!\n");} printf("programming!\n");}(19)若有定义:float x=1.5;int a=1b=3c=2;则正确的switch语句是 A)switch(x)B)switch((int)x); {case1.0:printf("_\n"); {case 1:printf("_\n");case2.0:printf("__\n");} case 2:printf("__\n");} C)switch(a+b) D)switch(a+b) {case 1:printf("_\n");{case 1:printf("_\n"); case 2+1:printf("__\n");}case c:printf("__\n");} (20)若各选项中所用变量已正确定义函数fun中通过return语句返回一个函数值以下选项中错误的程序是 A)mainB)float fun(int aint b){……} {……x=fun(210);……}main float fun(int aintb){……}{……x=fun(i,j);……} C)floatfun(intint); D)main main {floatfun(int iint j);{……x=fun(210);……}……x=fun(i,j);……}float fun(int aint b){……}float fun(int aint b){……} (21)在以下给出的表达式中与while(E)中的(E)不等价的表达式是A)(!E==0)B)(E>0‖EB)while(ch=getchar!=′N′)printf("%c",ch);C)while(ch=getchar==′N′)printf("%c",ch);D)while((ch=getchar)==′N′)printf("%c",ch); (23)已定义以下函数int fun(int _p){return _p;)fun函数返回值是 A)不确定的值 B)一个整数 C)形参P中存放的值 D)形参P的地址值 (24)若有说明语句:double _pa;则能通过scanf语句正确给输入项读入数据的程序段是 A)_p=&a; scanf("%1f"p);B)_p=&a; scanf("%f"p); C)p=&a; scanf("%1f"_p); D)p=&a; scanf("%1f"p); (25)现有以下结构体说明和变量定义如图所示指针p、q、r分别指向一个链表中连续的三个结点。
计算机二级c考试试题及答案
计算机二级c考试试题及答案一、选择题1. C语言的标志符区分大小写吗?A. 区分大小写B. 不区分大小写C. 有时区分大小写,有时不区分大小写答案:A2. C语言中,以下哪个关键字用于定义常量?A. constB. staticC. volatile答案:A3. 下列代码中,会输出什么结果?int a = 5, b;b = ++a + a++;A. 20B. 21C. 22答案:B4. 在C语言中,以下哪个关键字用于定义结构体类型?A. structB. typedefC. union答案:B5. 在C语言中,以下哪个库函数用于动态分配内存?A. mallocB. freeC. realloc答案:A二、填空题1. 在C语言中,用于表示真的常量是_________。
答案:#define2. C语言中,数组的下标从_________开始计数。
答案:03. 在C语言中,用于输出字符串的函数是_________。
答案:printf4. C语言中,用于定义宏的关键字是_________。
答案:#define5. 在C语言中,用于循环迭代的关键字是_________。
答案:for三、简答题1. 简述C语言中的条件语句if-else的使用方法。
答案:if-else语句用于根据给定条件选择性地执行代码块。
语法为:if (条件) {// 如果条件为真,执行这里的代码} else {// 如果条件为假,执行这里的代码}当条件为真时,执行if代码块中的语句;当条件为假时,执行else代码块中的语句。
2. 简述C语言中的循环语句while的使用方法。
答案:while语句用于重复执行一段代码,直到给定条件不再满足为止。
语法为:while (条件) {// 如果条件为真,重复执行这里的代码}每次循环开始前,会先检查条件是否满足,如果满足则执行循环体中的语句。
当条件不再满足时,跳出循环。
3. 简述C语言中的函数的定义和调用方法。
全国计算机二级C语言_考试真题电子版
全国计算机二级C语言_考试真题电子版1、下列叙述中正确的是()A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构[答案]D[解析]D项正确,线性结构的特点是:(1)集合中必存在第一个元素”且惟一;(2)集合中必存在“最后个元素”且惟一;(3)除最后一个元素外,其他数据元素均有惟一的“后继”,除第一个元素外其他数据元素均有惟一的“前驱”。
所以没有根结点或没有叶子结点的数据结构一定是非线性结构。
AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。
答案选择D选项2、以下叙述中错误的是()A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obi的目标程序[答案]A[解析]A项错误,注释语句不会被翻译成二进制的机器指令。
C 源程序经过C编译程序编译之后生成后缀为obi的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把obi文件与各种库函数连接起来生成一个后缀为exe的可执行文件。
答案选择A选项3、C语言主要是借助以下()功能来实现程序模块化的。
A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型[答]A[解析]C程序的模块化主要通过函数来实现。
C语言允许对函数单独进行编译,从而可以实现模块化答案选择A选项。
4、下列叙述中正确的是()。
A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构[答案]D[解析]有序的线性表既可采用顺序存储结构,也可以采用链式存储结构。
计算机国家等级考试二级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语言试题及答案
{ int a=5; s+=f(&a);
}
s+=f(&a); printf(“%d\nC)7 D)8
38、有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2);
15、 若以下选项中的变量已正确定义,则正确的赋值语句 是
(C) A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3;
//%为模式运算,又称为求余运算,二侧均为整形数据 16、 设有以下定义
int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是(D) A)a++; B)b++ C)c++; D)d++;
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%d\n”,s);
} 程序执行后的输出结果是(D)
A)自然数1~9的累加和
B)自然数1~10的累加和
C)自然数1~9中的奇数之和 D)自然数1~10中的偶数 之和
25、有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是(D) A)n=5 B)n=2 C)n=3 D) n=4
c全国计算机二级考试真题及答案
c全国计算机二级考试真题及答案一、选择题(每题2分,共20分)1. 在计算机系统中,通常所说的"计算机"指的是()。
A. 计算机硬件B. 计算机软件C. 计算机硬件和软件D. 计算机及其外部设备答案:C2. 下列选项中,不属于计算机硬件的是()。
A. 中央处理器B. 操作系统C. 内存D. 硬盘答案:B3. 在计算机中,1GB等于多少MB?()A. 1024B. 512C. 1000D. 2000答案:A4. 下列关于计算机病毒的描述中,错误的是()。
A. 计算机病毒具有传染性B. 计算机病毒具有破坏性C. 计算机病毒是一段程序代码D. 计算机病毒无法预防答案:D5. 在Word文档中,要将文档中所有的“计算机”替换为“电脑”,应使用哪个功能?()A. 查找B. 替换C. 格式刷D. 宏答案:B6. Excel中,要对一列数据进行求和,可以使用哪个函数?()A. SUMB. AVERAGEC. MAXD. MIN答案:A7. 在PowerPoint中,要将一张幻灯片复制到另一张幻灯片,应使用哪个功能?()A. 复制粘贴B. 格式刷C. 插入新幻灯片D. 移动答案:A8. 下列关于计算机网络的描述中,正确的是()。
A. 计算机网络是由多台计算机连接而成B. 计算机网络只能用于数据传输C. 计算机网络必须使用特定的硬件设备D. 计算机网络不能用于资源共享答案:A9. 在数据库管理系统中,用于查询数据的命令是()。
A. INSERTB. UPDATEC. DELETED. SELECT答案:D10. 以下哪个选项是计算机操作系统的主要功能?()A. 数据处理B. 硬件管理C. 网络通信D. 信息安全答案:B二、填空题(每题2分,共20分)1. 在计算机系统中,CPU是______的缩写,它负责执行程序中的指令。
答案:中央处理器2. 在计算机存储设备中,______的存储速度通常比硬盘快。
全国计算机二级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语言真题一、选择题((1)-(40)题每题1分,(41)-(50)题每题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 计算机的存储器完整的应包括A) 软盘、硬盘 B) 磁盘、磁带、光盘C) 内存储器、外存储器 D) RAM、ROM(2) 计算机中运算器的作用是A) 控制数据的输入/输出 B) 控制主存与辅存间的数据交换C) 完成各种算术运算和逻辑运算 D) 协调和指挥整个计算机系统的操作(3) 软磁盘处于写保护状态时,其中记录的信息A) 绝对不会丢失B) 不能被擦除,但能追加新信息C) 不能通过写磁盘操作被更新D) 不能以常规方式被删除,但可以通过操作系统的格式化功能被擦除(4) 光盘根据基制造材料和记录信息的方式不同,一般可分为A) CD、VCDB) CD、VCD、DVD、MP3C) 只读光盘、可一次性写入光盘、可擦写光盘D) 数据盘、音频信息盘、视频信息盘(5) 在计算机系统中,可执行程序是A) 源代码 B) 汇编语言代码 C) 机器语言代码 D) ASCII码(6) 计算机软件系统包括A) 操作系统、网络软件 B) 系统软件、应用软件C) 客户端应用软件、服务器端系统软件 D) 操作系统、应用软件和网络软件(7) 目前,一台计算机要连入Internet,必须安装的硬件是A) 调制解调器或网卡 B) 网络操作系统C) 网络查询工具 D) WWW浏览器(8) 在多媒体计算机系统中,不能存储多媒体信息的是A) 光盘 B) 磁盘 C) 磁带 D) 光缆(9) 要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是A) TYPE a*.* B) TYPE abc.exeC) TYPE pro.c>PRN D) TYPE abc.txt(10) 下列更改文件名的命令中正确的是A) REN A:file1 C:F1 B) RENAME A: A:file1 C:F1C) REN A:file1 F1 D) REN A:file1 \SUB\F1(11) 已知A盘为DOS系统启动盘,只有A:\DOS下有自动批处理文件,其中内容为:CD\DOSMD USERCD USER由A盘启动DOS系统后,A盘的当前目录是A) \DOS B) \DOS\USER C) \ D) \USER(12) MS-DOS是A) 分时操作系统 B) 分布式操作系统C) 单用户、单任务操作系统 D) 单用户、多任务操作系统(13) 在Windows操作系统中,不同文档之间互相复制信息需要借助于A) 剪切板 B) 记事本 C) 写字板 D) 磁盘缓冲器(14) 在Windows操作系统中A) 同一时刻可以有多个活动窗口B) 同一时刻可以有多个应用程序在运行,但只有一个活动窗口C) 同一时刻只能有一个打开的窗口D) DOS应用程序窗口与Windows应用程序窗口不能同时打开着(15) 下列叙述中正确的是A) 所有DOS应用程序都可以在Windows操作系统中正确运行B) 所有DOS应用程序都不能在Windows操作系统中正确运行C) 大部分DOS应用程序可以在Windows操作系统中正确运行D) 为DOS5.0以上版本操作系统编写的应用程序可以在Windows操作系统中正确运行(16) 下列叙述中正确的是A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义D) C语言所有函数都是外部函数(17) 以下所列的C语言常量中,错误的是A) 0xFF B) 1.2e0.5 C) 2L D) '\72'(18) 下列选项中,合法的C语言关键字是A) VAR B) cher C) integer D) default(19) 以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z(20) 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是A) -3 B) 9 C) -12 D) 6(21) 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为A) 不定值 B) 4 C) 3 D) 1(22) 若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b 赋予22.0,c赋予33.0,不正确的输入形式是:A) 10<回车> B) 10.0,22.0,33.0<回车>22<回车>33<回车>C) 10.0<回车> D) 10 22<回车>22.0 33.0<回车> 33<回车>(23) 若执行以下程序时从键盘上输入9,则输出结果是A) 11 B) 10 C) 9 D) 8Main0{ int n;scanf("%d",&n);if(n++<10) printf("%d\n",n);else printf("%d\n",n--);}(24) 若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是A) swich(a+b); B) switch(a*a+b*b){ case 1:y=a+b; break; {case 3:case 0:y=a-b; break; case 1:y=a+b;break;} case 3:y=b-a,break;}C) switch a D) switch(a-b){ case c1 :y=a-b; break {default:y=a*b;breakcase c2: x=a*d; break case 3:case 4:x=a+b;breakdefault:x=a+b; case 10:case 11:y=a-b;break;} }(25) 有以下程序段int k=0while(k=1)k++;while 循环执行的次数是A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行1次(26) 以下程序执行后sum的值是A)15 B)14 C) 不确定 D)0min(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf("%d\n",sum);}(27) 有以下程序段int x=3do{ printf("%d",x-=2); }while (!(--x));其输出结果是A) 1 B) 3 0 C) 1 -2 D) 死循环(28) 若变量c为char类型,能正确判断出c为小写字母的表达式是A) 'a'<=c<= 'z' B) (c>= 'a')||(c<= 'z')C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&&(c<= 'z')(29) 以下所列的各函数首部中,正确的是A) void play(var :Integer,var b:Integer)B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integer,b as integer)(30) 以下程序的输出结果是A) 0 B) 29 C) 31 D) 无定值fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf("%d",a);}(31) 下列程序段的输出结果是A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2void fun(int *x, int *y){ printf("%d %d", *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);}(32) 下列程序的输出结果是A) 非法 B)a[4]的地址 C)5 D)3main(){ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}(33) 下列程序的运行结果是A) 6 3 B) 3 6 C) 编译出错 D) 0 0void fun(int *a, int *b){ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf("%d %d", a, b);}(34) 下面程序的输出结果是A) 0 B) 1 C) 10 D) 9main(){ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf("%d\n",*p+9);}(35) 当调用函数时,实参是一个数组名,则向函数传送的是A) 数组的长度 B) 数组的首地址C) 数组每一个元素的地址 D) 数组每个元素中的值(36) 设有以下说明语句struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是A) struct结构体类型的关键字 B) example是结构体类型名C) x,y,z都是结构体成员名 D) struct ex是结构体类型(37) 以下只有在使用时才为该类型变量分配内存的存储类说明是A) auto和 static B) auto和 registerC) register和 static D) extern和 register(38) 若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是A) EOF B) -1 C) 非零值 D) NULL(39) 以下程序的输出结果是A) 20 B) 21 C) 22 D)23main(){ int i, k, a[10], p[3];k=5;for (i=0;i<10;i++) a[i ]=i;for (i=0;i<3;i++) p[i ]=a[i *(i+1)];for (i=0;i<3;i++) k+=p[i] *2;printf("%d\n",k);}(40) 以下程序的输出结果是A) 1,5,9 B) 1,4,7 C) 3,5,7 D)3,6,9main(){ int i, x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++) printf("%d,",x[i][2-i]);}(41) 以下程序的输出结果是A) 18 B) 19 C) 20 D)21main(){ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%dn",s);}(42) 以下程序的输出结果是A) ABCD B) ABCD C) EFG D) EFGHFGH EFG JK IJKLKL IJ OMmain(){ char w[][10]={ "ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++) printf("%s\n",w[k]);}(43) 当执行下面的程序时,如果输入ABC,则输出结果是A) ABC6789 B) ABC67 C) 12345ABC6 D) ABC456789#include "stdio.h"#include "string.h"main(){ char ss[10]="1,2,3,4,5";gets(ss); strcat(ss, "6789"); printf("%s\n",ss);}(44) 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS 提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGHmain( int argc, char *argv[])){ while(--argc>0) printf("%s",argv[argc]);printf("\n");}(45) 以下程序的输出结果是A) 1 B) 2 C) 3 D) 4long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf("%ld\n", fun(3)); }(46) 以下程序的输出结果是A) 16 B) 2 C) 9 D) 1#define SQR(X) X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}(47) 若定义了以下函数:void f(……){……*p=(double *)malloc( 10*sizeof( double));……}p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是A) double *p B) float **p C) double **p D) float *p(48) 以下程序的输出是A) 10 B) 11 C) 51 D) 60struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};main(){ p=aa;printf("%d\n",++(p->x));}(49) 假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是A) free(q); p->next=q->next;B) (*p).next=(*q).next; free(q);C) q=(*q).next; (*p).next=q; free(q);D) q=q->next; p->next=q; p=p->next; free(p);(50) 以下程序的输出结果是A) 0 B) 1 C) 2 D) 3main(){ int x=0.5; char z='a';printf("%d\n", (x&1)&&(z<'z') ); }二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。
全国计算机等级考试二级C语言笔试试题及答案
全国计算机等级考试二级C语言笔试试题及答案一、选择题(每小题2分,共70分)(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是A)10B)8C)6D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是 A)编译程序B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是A)提高耦合性降低内聚性有利他哦高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元索间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R, S如下:由关系R通过运算得到关系S,则所使用的运算为A)选择C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)对C++编译器区分重载函数无任何意义的信息是A)参数类型B)参数个数C)返回值类型D)常成员函数关键字coast(12)有如下类定义和变量定义:class A{publie:A(){data=0;}~A(){}int GetData () coast { return data;}void SetData(int n) {data=n;}private:int data;};ccnst A a;A b;下列函数调用中错误的是A)a .GetData();B)a .SetData(10);C)b .GetData();D)b .SetData(10);(13)有如下类定义和变量定义:class Parents{public:int publicuata;private:int privateData;};class ChildA:public Parents{/*类体略*/};class ChildB:private Parents{/*类体略*/);ChildA a;ChildBb;下列语句中正确的是A)cout<<a.publicData <<endl ;B)cout<<a.privateData <<endl ;C)cout<<b.publicData <<endl ;D)cout<<b.privateData <<endl ;(14)运算符重载时不需要保持的性质是A)操作数个数B)操作数类型C)优先级D)结合性(15)下列关于函数模板的描述中,错误的是A)从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参D)模板参数表不能为空(16)要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是 A)ifstream fin=ifstream.open(“file.dat”);B)ifstream*fir.=new ifstream(“file.dat”);C)ifstream fin; fin.open(“file.dat”);D)ifstream *fin=new ifstream();fin一>open(“file.dat”);(17)下列描述中,不属于面向对象思想主要特征的是A)封装性B)跨平台性C)继承性D)多态性(18)有如下程序段:Tnt i=4;int j=l;int main(){int i=8,j=i;cout<<i<<j<<endl;}运行时的输出结果是A)44B)41C)88D)81(19)有如下程序段:int i=5;while(int i=0){cout《'*';i--;}运行时输出“*”的个数是A)0B)1C)5D)无穷(20)己知有数组定义char a[3][4];下列表达式中错误的是A)a[2]=“WIN”B)strcpy(a[2],“WIN”)C)a [2][3]='W'D)a[0][1]=a[0][1](21)已知函数fun的原型为int fun(int,int,int);下列重载函数原型中错误的是A)char fun(int,int);B)double fun(int,int,double);C)int fun(int,char*);D)float fun (int, int, int);(22)建立一个类对象时,系统自动调用A)析构函数B)构造函数C)静态函数D)友元函数(23)通过派生类的对象可直接访问其A)公有继承基类的公有成员C)私有继承基类的公有成员D)私有继承基类的私有成员(24)己知表达式++a中的“++”是作为成员函数重载的运算符,则与十+a等效的运算符函数调用形式为A)a .orerator++(1)B)operator++(a)C)operator++(a,l)D)a.operator++()(25)在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是A)()B)[ ]C)< >D){ }(26)当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为 A)ios_base::inB)ios_base::in|ios_base::outC)ios_base::outD)ios_base::in&ios_base::out(27)有如下程序:#include<iostream>#include<cstring>using namespace std;class XCD{char* a;int b;public:XCD(char* aa, int bb){a=new char[strlen(aa)+1];strcpty(a,aa);b=bb;}Char* Geta (){return a;)int Getb(){ return b;}};int main(){char *pl=“abcd”,*p2=“weirong”;int dl=6, d2=8;XCD x(pl,dl),Y(p2,d2);cout<<strien (x .Geta())+y. Getb()+endl;return 0;}运行时的输出结果是A)12B)16C)14D)11(28)有如下程序:#include<iostream>#include<cstring>using namespace std;class XCF{int a;XCF(int aa=0):a (aa){cout<<“1”;}XCF(XCF& x){a=x .a; cout<<“2”;)~XCF(){cout<<a;}int Geta(){return a;}};int main(){XCF dl(5),d7 (dl);XCF *pd=new XCF(8);cout<<pd一>Geta();delete pd;return 0;}运行时的输出结果是A)121SS88B)12188SSC)12185D)128512(29)已知类MyClass声明如下:class MyClass{int n;public;MyClass(int k):n(k){}int getValue()const{return n;}};在下列数组定义中正确的是A)MyClass x1[2];B)MyClass x2[2]={new MyClass(1),new MyClass(2)};C)MyClass *x3[2];D)MyClass *x4[2]={MyClass(1),MyClass(2)};(30)有如下程序:#include<iostream>using namespace std;class AA{lilt k;protected:int n;void setK(int k){ this->k=k;}public:void setN(int n){ this->n=n;}};class BB: public }{/*类体略*/};int main(){BB x_ ; //1x .n=1; //2x.setN (2); //3x.k=3; //4x .setK(4);return 0;}在标注号码的四条语句中正确的是A)1B)2C)3D)4(31)有如下类定义:class XX{int xx;public:XX():xx(0){cout<<' A';}XX(int n):xx ( n){tout<<' B';}};Class YY:public XX{Int yy;public:YY():yy ( 0){cout+yy;}YY(int n):XX(n+1),yy(n){cout<<yy;}YY (int m, int n):XX (m),yy(n){cout<<yy;} };下列选项中,输出结果为A0的语句是A)YY y1(0,0);B)YY y2(1);C)YY y3(0);D)YY y4;(32)有如下程序:#include<iostream>Using namespace std;class A{public:virtual void f(){cout+1;}void g(){cout<<2;}};class B:public A{public:virtual void f(){cout<<3;}void g(){ecut<<4;}};void show(A &a){a.f();a.g();}int main(){B b;show(b);return 0;}运行时的输出结果是A)12B)34C)14D)32(33)有如下程序:#include<iostream>using namespace std;class Pair{int m;int n;public:boot operator >(pair p)const; //须在类体外给出定义};int main(){Pair Al(3,4),p2(4,3);p3(4,5);Cout<<(pl>p2)<<(P2>P1)<<(p2>p3)<<(p3>p2);return 0;}运算符函数。
全国计算机c二级考试真题及答案
全国计算机c二级考试真题及答案一、选择题(每题2分,共20分)1. 在计算机中,二进制数1011转换为十进制数是多少?A. 8B. 9C. 10D. 11答案:D2. 下列哪个选项不是计算机病毒的特点?A. 破坏性B. 传染性C. 免疫性D. 潜伏性答案:C3. 在关系数据库中,用于查询数据的语句是?A. INSERTB. UPDATEC. SELECTD. DELETE答案:C4. 在HTML中,用于定义最重要的标题的标签是?A. `<h1>`B. `<h2>`C. `<h3>`D. `<h4>`5. 下列哪个选项是面向对象编程语言的特点?A. 过程抽象B. 数据封装C. 函数重载D. 过程重用答案:B6. 在计算机中,1KB等于多少字节?A. 1024B. 512C. 256D. 128答案:A7. 下列哪个选项是计算机操作系统的主要功能?A. 进程管理B. 文件管理C. 设备管理D. 所有选项答案:D8. 在C语言中,用于定义变量的关键字是?A. varB. letC. intD. define答案:C9. 在计算机网络中,TCP/IP协议的哪一层负责路由选择?B. 传输层C. 网络层D. 数据链路层答案:C10. 在Excel中,哪个函数用于计算一组数据的平均值?A. SUMB. AVERAGEC. COUNTD. MAX答案:B二、填空题(每题2分,共20分)1. 在计算机中,存储容量的基本单位是______。
答案:字节2. 计算机病毒的主要传播途径包括______、电子邮件和网络下载。
答案:软盘3. 在数据库中,用于创建新表的SQL语句是______。
答案:CREATE TABLE4. 在HTML中,用于插入图片的标签是______。
答案:<img>5. 面向对象编程中的三大特性包括封装、继承和______。
答案:多态6. 在计算机中,1MB等于______KB。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011年3月计算机等级考试二级C++笔试真题一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)D)整数集合{1,2,3,4,5}(11)为了提高函数调用的实际运行速度,可以将较简单的函数定义为A)内联函数B)重载函数C)递归函数D)函数模板(12)若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为A)aB)C)a()D)AA::a()(13)当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是A)任何B)公有或保护C)保护或私有D)私有(14)若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是A)Data+(Data);B)Data operator+(Data);C)Data+operator(Data);D)operator+(Data,Data);(15)下列关于函数模板的描述中,正确的是A)函数模板是一个实例函数B)使用函数模板定义的函数没有返回类型C)函数模板的类型参数与函数的参数相同D)通过使用不同的类型参数,可以从函数模板得到不同的实例函数(16) C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是A)coutB)cinC)cerrD)cset(17)Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是A)cppB)exeC)objD)lik(18)字符串“a+b=12\n\t”的长度为A)12B)10C)8D)6(19)有如下程序:#include using namespace std;int main(){int f,f1=0,f2=1;for(int i=3;i<=6;i++){f=f1+f2;f1=f2;f2=f;}cout< return 0;}运行时的输出结果是A)2B)3C)5D)8(20)有如下程序:#include using namespace std;int main(){int a[6]={23,15,64,33,40,58};int s1,s2;s1=s2=a[0];for(int* p=a+1;pif(s1>*p) s1=*p;if(s2<*p) s2=*p;}cout<<<ENDL;return 0;}运行时的输出结果是A)23B)58C)64D)79(21)有如下程序:#include using namespace std;void f1(int& x,int& y) {int z=x; x=y; y=z;} void f2(int x;int y) {int z=x; x=y; y=z;} int main(){int x=10,y=26;f1(x,y);f2(x,y);cout< return 0;}运行时的输出结果是A)10B)16C)26D)36(22)有如下程序:#include using namespace std;class XA{int a;public:static int b;XA(int aa):a(aa) {b++;}~XA(){}int get(){return a;}};int XA::b=0;int main(){XA d1(2),d2(3);cout< return 0;}运行时的输出结果是A)5B)6C)7D)8(23)有如下程序:#include using namespace std;class Point{int x,y;public:Point(int x1=0,int y1=0):x(x1),y(y1){}int get(){return x+y;}};class Circle{Point center;int radius;public:Circle(int cx,int cy,int r):center(cx,cy),raaius(r){}int get(){return ()+radius;}};int main(){Circle c(3,4,5);cout<<<ENDL;return 0;}运行时的输出结果是A)5B)7C)9D)12(24)若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是A)operator long() const;B)operator long(BigNumber);C)long operator long() const;D)long operator long(BigNumber);(25)有如下函数模板定义:template T1 FUN(T2 n){return n*;}若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为A)FUN(9)B)FUN<9>C)FUN(9)D)FUN<9>(double)(26)下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是A)cout<<12345;B)cout<<12345;C)cout<<12345;D)cout< (27)下列关于析构函数的描述中,错误的是A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数(28)下列关于构造函数的描述中,错误的是A)构造函数名与类名相同B)构造函数可以有返回值C)构造函数可以重载D)每个类都有构造函数(29)若PAT是一个类,则程序运行时,语句“PAT(*ad)[3];”调用PAT的构造函数的次数是A)0B)1C)2D)3(30)下列描述中,错误的是A)公有继承时基类中的公有成员在派生类中仍是公有成员B)公有继承时基类中的保护成员在派生类中仍是保护成员C)保护继承时基类中的公有成员在派生类中仍是公有成员D)保护继承时基类中的保护成员在派生类中仍是保护成员(31)生成派生类对象时,派生类构造函数调用基类构造函数的条件是A)无需任何条件B)基类中显式定义了构造函数C)派生类中显式定义了构造函数D)派生类构造函数明确调用了基类构造函数(32)下列关于派生类和基类的描述中,正确的是A)派生类成员函数只能访问基类的公有成员B)派生类成员函数只能访问基类的公有和保护成员C)派生类成员函数可以访问基类的所有成员D)派生类对基类的默认继承方式是公有继承(33)有如下类模板定义:template class BigNumber{long n;public:BigNumber(T i):n(i){}BigNumber operator+(BigNumber b){return BigNumber(n+;}};己知b1、b2是BigNumber的两个对象,则下列表达式中错误的是A)bl+b2B)b1+3C)3+b1D)3+3(34)下列关于文件流的描述中,正确的是A)文件流只能完成针对磁盘文件的输入输出B)建立一个文件流对象时,必须同时打开一个文件C)若输入流要打开的文件不存在,将建立一个新文件D)若输出流要打开的文件不存在,将建立一个新文件(35)有如下程序:#include using namespace std;class Pair{int m,n;public:Pair(int j,int k):m(j),n(k){}int get() {return m;}int get() const {return m+n;}};int main(){Pair a(3,5);const Pair b(3,5);cout+()< return 0;}运行时的输出结果是A)33B)38C)83D)88二、填空题(1)有序线性表能进行二分查找的前提是该线性表必须是【1】存储的。
(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF。
则后序遍历结果为【2】。
(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为【3】测试。
(4)实体完整性约束要求关系数据库中元组的【4】属性值不能为空。
(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称【5】是关系A的外码。
(6)若有定义语句“int x=10,y=20,z=20;”,则表达式x>z&&y==z的值为【6】。
(7)有如下语句序列:int x=-10;while(++x){ }运行时while循环体的执行次数为【7】。
(8)有如下语句序列:int arr[2][2]={{9,8},{7,6}};int *p=arr[0]+1; cout<<*p< 运行时的输出结果是【8】。
(9)函数fun的功能是将一个数字字符串转换为一个整数,请将函数补充完整。
int fun(char *str){int num=0;while(*str){num*=10;num+= 【9】 ;str++;}return num;}(10)若要将函数“void FriFun();”声明为类MyClass的友元函数,则应在类MyClass的定义中加入语句【10】。