全国计算机二级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++语言程序设计(考试时间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)一个类可以同时继承多个类,称为多继承。
计算机二级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考试题库及答案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语言笔试试题及答案一、选择题1. 以下关于C语言的描述中,正确的是(A)A. C语言是一种结构化程序设计语言B. C语言是面向对象的程序设计语言C. C语言是一种解释型语言D. C语言是一种高级汇编语言答案:A2. 在C语言中,以下哪个选项是非法的整型常量?(D)A. 012B. 0x123C. 0XabcD. 0123答案:D3. 若变量已正确定义并赋值,以下正确的表达式是(C)A. a = b ++ + 1;B. a = b ++ = a++;C. a = b + b++;D. a = ++b + ++b;答案:C4. 在C语言中,以下哪个函数用于输出字符?(B)A. printfB. putcharC. putcharcD. putchart答案:B5. 已知 int a = 5, b = 3;,以下哪个选项的结果为1?(D)A. a % bB. a / bC. a + bD. a - b答案:D二、填空题1. 在C语言中,一个int类型的数据在内存中占______个字节。
答案:42. C语言中,逻辑运算符“或”用______表示。
答案:||3. 若定义 int a = 10, b = 20;,则执行语句 a += b -= a; 后,b的值为______。
答案:104. 在C语言中,函数的返回值类型为void时,表示该函数______。
答案:无返回值5. 在C语言中,以下函数的返回类型为______。
int max(int a, int b) {return (a > b) ? a : b;}答案:int三、判断题1. C语言中的数组名可以作为指针使用。
(正确)2. 在C语言中,静态存储区的数据在程序运行期间一直存在。
(正确)3. 在C语言中,结构体是一种用户自定义的数据类型。
(正确)4. 在C语言中,函数的参数传递都是按值传递的。
(错误,部分按引用传递)5. 在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考试题目及答案考试题目一:1. 下面哪个选项中的语句能够正确实现两个整数的交换?A. a = b; b = a;B. a = b; b = a + b; a = b - a;C. temp = a; a = b; b = temp;D. a = a + b; b = a - b; a = a - b;答案:C. temp = a; a = b; b = temp;2. 在C语言中,关键字是指由编译器预定义,用来表示某种特定含义的标识符。
下列选项中,哪个不是C语言的关键字?A. elseB. whileC. friendD. break答案:C. friend3. 下列代码片段中,存在语法错误的是:A. int x; scanf("%d", &x);B. float y = 3.14;C. int a = 5, b = 10;D. for (int i = 0; i < 5; i++) {}答案:D. for (int i = 0; i < 5; i++) {}4. 在C语言中,什么是函数的返回值?A. 函数体内用于输出结果的语句B. 函数调用表达式的值C. 函数体中的变量D. 函数体内用于输入参数的语句答案:B. 函数调用表达式的值5. 下面哪个选项中的运算符具有最低的优先级?A. *B. ||C. ++D. &&答案:B. ||考试题目二:1. 下面关于数组的说法中,哪个是正确的?A. 数组中的元素必须是相同的数据类型B. 数组的大小可以在程序运行过程中改变C. 数组可以存储不同类型的数据D. 数组的下标从1开始计数答案:A. 数组中的元素必须是相同的数据类型2. 下列代码片段中,哪个选项中的循环语句可以正确输出数组元素的值?A. for (int i = 1; i <= n; i++) { printf("%d ", array[i]); }B. for (int i = 0; i < n; i++) { printf("%d ", array[i]); }C. while (i < n) { printf("%d ", array[i]); i++; }D. do { printf("%d ", array[i]); i++; } while (i < n);答案:B. for (int i = 0; i < n; i++) { printf("%d ", array[i]); }3. 在C语言中,下面哪个选项是正确的字符串表示方式?A. 'hello'B. "hello"C. `hello`D. “hello”答案:B. "hello"4. 下面哪个选项中的函数可以将字符串转换为整数?A. atof()B. atoi()C. strtoi()D. strol()答案:B. atoi()5. 在C语言中,下面哪个选项用于在程序中引入头文件stdlib.h?A. #include <stdlib>B. #include <stdlib.h>C. #include "stdlib.h"D. using namespace std;答案:B. #include <stdlib.h>注意:以上题目及答案仅供参考,实际考试内容以考试要求为准。
计算机二级c 类试题及答案
计算机二级c 类试题及答案计算机二级C类试题及答案一、选择题(共40题,每题2分,共80分)1. 微型计算机的操作系统是指()A. 硬件系统B. 软件系统C. Windows系统D. Linux系统2. TCP/IP 协议族中的 TCP 是指()A. 传输控制协议B. 互联网协议C. 网际控制协议D. 传输互联协议3. 在C语言中,变量名的命名规则不包括()A. 由字母、数字、下划线组成B. 不能以数字开头C. 区分大小写D. 可以使用保留字4. 下列哪个不是C语言中的逻辑运算符()A. &&B. ||C. !D. \\5. 在C语言中,以下哪个函数用于向控制台输出结果()A. printf()B. scanf()C. gets()D. puts()二、填空题(共10题,每题5分,共50分)1. C语言中,定义常量使用关键字________。
2. 以下哪个函数原型不需要引用任何头文件:________。
3. 在C语言中,使用______关键字来声明函数。
4. 函数参数通过______的方式进行传递。
5. C语言中的指针是用来存储________的变量类型。
6. 声明一个整型数组,数组名为`numbers`,元素个数为10,可以使用的数据类型是______。
7. 在C语言中,使用______运算符来获取某个变量的地址。
8. 静态全局变量的作用域为______。
9. 在C语言中,sizeof运算符返回的结果是变量的________。
10. 在C语言中,用`__FILE__`宏可以返回当前源文件的________。
三、简答题(共4题,每题10分,共40分)1. 简述计算机编程中的“算法”的概念,并列举一个实例。
2. 请解释“位运算”的概念,并举例说明其用途。
3. 简要描述一下指针在C语言中的作用以及使用方法。
4. 请简述动态内存分配的概念,并说明在C语言中如何进行动态内存分配和释放操作。
计算机二级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考试真题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言B. C语言具有丰富的数据类型C. C语言可以直接操作硬件D. C语言不支持面向对象编程答案:D2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 若有以下代码片段:```cint a = 10;int b = 20;int c;c = a + b;```则变量c的值是:A. 10B. 20C. 30D. 40答案:C4. 在C语言中,以下哪个运算符用于计算两个数的乘积:A. +B. -C. *D. /答案:C5. 在C语言中,以下哪个函数用于计算一个数的平方根:A. sqrt()B. pow()C. log()D. abs()答案:A6. 在C语言中,以下哪个关键字用于声明一个函数:A. intB. voidC. returnD. function答案:B7. 在C语言中,以下哪个关键字用于定义一个循环结构:A. ifB. whileC. forD. switch答案:C8. 在C语言中,以下哪个关键字用于定义一个条件判断结构:A. ifB. elseC. switchD. case答案:A9. 在C语言中,以下哪个函数用于将字符串转换为整数:A. atoi()B. atof()C. strcpy()D. strcat()答案:A10. 在C语言中,以下哪个函数用于输出格式化的字符串:A. printf()B. scanf()C. gets()D. puts()答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个字符型变量的关键字是________。
答案:char2. C语言中,用于声明一个浮点型变量的关键字是________。
答案:float3. 在C语言中,________运算符用于比较两个数是否相等。
计算机二级c考试题目及答案详解
计算机二级c考试题目及答案详解一、考试题目:1. 下列哪个选项中的标识符是非法的?A. student1B. _nameC. 2studentD. A123答案:C. 2student2. 下列哪个选项中的语句是合法的?A. if a == b then print("Equal")B. if a = b print("Equal")C. if a == b:print("Equal")D. if a = b:print("Equal")答案:C. if a == b:print("Equal")3. 在C语言中,下列哪个选项的循环结构是错误的?A. for(int i = 0; i < 10; i++)printf("%d ", i);B. while(i < 10)printf("%d ", i++);C. do {printf("%d ", i++);} while(i < 10);D. int i = 0;do {printf("%d ", i++);} while(i < 10);答案:D. int i = 0;do {printf("%d ", i++);} while(i < 10);二、答案详解:1. 标识符是用于命名变量、函数、类等在程序中使用的名称。
在C 语言中,标识符的命名规则包括以下要求:- 第一个字符必须是字母或下划线('_')。
- 标识符中的其他字符可以是字母、数字或下划线。
根据这些规则,选项C中的2student是非法的标识符,因为它以数字开头。
2. 判断语句是否合法时,需要注意C语言的语法规则:- if语句中的条件表达式需要用小括号括起来。
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. 以下哪个选项不是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考试题目及答案解析一、选择题1. 下列不属于计算机硬件的是()。
A. 内存B. 显卡C. CPUD. 操作系统答案:D解析:操作系统属于软件,不属于计算机硬件。
2. 下列选项中,不属于C语言关键字的是()。
A. ifB. elseC. whileD. case答案:D解析:case是C语言中的关键字。
3. 下列选项中,不属于C语言数据类型的是()。
A. intB. floatC. stringD. double答案:C解析:C语言中没有string数据类型,可以使用字符数组来表示字符串。
4. 在C语言中,下列语句输出结果为20的是()。
A. printf("%d\n", 10/2);B. printf("%d\n", 2*10);C. printf("%d\n", 10%8);D. printf("%d\n", 15-5);答案:A解析:10/2的结果为5,使用%d格式输出时会将其作为整数输出。
5. 下列选项中,不属于C语言流程控制语句的是()。
A. ifB. whileC. forD. do-while答案:C解析:for是C语言中的流程控制语句之一。
二、填空题1. C语言中,字符串结束的标志是()。
答案:'\0'解析:C语言中的字符串使用字符数组表示,以'\0'作为结束标志。
2. 下面的代码中,循环体执行的次数是()。
```cint i;for (i = 0; i < 5; i++) {printf("%d\n", i);}```答案:5解析:循环条件为i < 5,循环体会执行5次。
3. 下面的代码中,switch语句执行的分支是()。
```cint a = 2;switch (a) {case 1:printf("a is 1\n");break;case 2:printf("a is 2\n");break;default:printf("a is other\n");}```答案:a is 2解析:a的值为2,对应的分支是case 2。
全国计算机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。
计算机二级c试题及答案解析
计算机二级c试题及答案解析题目一:1. 以下关于程序执行流程的描述中,正确的是:a) 程序从上往下顺序执行,逐行解析并执行代码b) 程序从下往上逆序执行,逐行解析并执行代码c) 程序根据条件判断选择性地执行代码d) 程序通过循环重复执行代码答案解析:正确答案是a) 程序从上往下顺序执行,逐行解析并执行代码。
程序的执行流程是按照代码编写的顺序,从上往下逐行执行。
每一行代码都会被解析并执行,直到程序结束或者遇到其他控制流程的语句(如条件判断或循环语句)。
2. 在C语言中,用于定义变量的关键字是:a) intb) voidc) floatd) char答案解析:正确答案是a) int。
在C语言中,使用关键字int来定义整型变量。
void关键字用于标识无返回值的函数,float关键字用于定义浮点型变量,而char关键字则用于定义字符型变量。
3. 下面的代码执行后,i的值是多少?```cint i = 10;int j = 5;i = i + j++;```a) 15b) 16c) 20d) 21答案解析:正确答案是d) 21。
在此代码中,i = i + j++语句中的j++是先将j的值赋给i,然后再将j的值加1。
所以i的值为10 + 5 = 15,j的值为6。
最后,i的值经过赋值运算变为21。
4. 在C语言中,下列哪个不是合法的标识符命名?a) myVarb) _123abcc) 123abcd) My-Var答案解析:正确答案是d) My-Var。
在C语言中,标识符命名需要遵循一定的规则,包括只能由字母、数字和下划线组成,且不能以数字开头。
所以选项d) My-Var不是一个合法的标识符命名。
5. 以下关于数组的描述中,错误的是:a) 数组是由相同类型的元素组成的集合b) 数组的长度可以在定义后随意改变c) 数组的下标从0开始d) 在定义数组时需要指定数组的长度答案解析:正确答案是b) 数组的长度可以在定义后随意改变。
计算机二级c 试题及答案
计算机二级c 试题及答案计算机二级C试题及答案第一部分:选择题1. 下列哪个不是计算机内部的硬件设备?A. 显示器B. 打印机C. 键盘D. 操作系统答案:D2. 在C语言中,用于声明多个变量的语句是:A. printf语句B. scanf语句C. switch语句D. 声明语句答案:D3. 在C语言中,数组的下标从0开始,那么int array[5]中,最后一个元素的下标是:A. 3B. 4C. 5D. 6答案:B4. 下列运算符中,用于判断两个值是否相等的是:A. +B. -C. *D. ==答案:D5. 在C语言中,用于将一个浮点数强制转换成整数的操作符是:A. .B. *C. /D. (int)答案:D第二部分:填空题1. C语言中,用于输出信息的函数是_________。
答案:printf2. 下面的代码片段中,_________会重复执行,直到满足条件时退出循环。
答案:while循环3. 在C语言中,用于接收用户输入的函数是_________。
答案:scanf4. C语言中,用于定义一个常量的关键字是_________。
答案:const5. 在C语言中,用于将一个字符转换成整数的函数是_________。
答案:atoi第三部分:简答题1. 请描述一下C语言中的if语句的使用方法。
答案:if语句用于根据条件判断是否执行某段代码。
它的基本结构是if(条件表达式){代码块},只有当条件表达式的值为真时,才会执行代码块中的内容。
如果条件表达式的值为假,则不会执行代码块,程序会继续执行后面的语句。
2. 请说明while循环和do-while循环的区别。
答案:while循环是先判断条件是否满足,如果满足则执行循环体中的代码,然后再进行下一次循环判断。
而do-while循环是先执行一次循环体中的代码,然后再判断条件是否满足。
因此,do-while循环至少会执行一次循环体中的代码,而while循环可能一次都不执行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年9月全国计算机二级C++笔试试题:文字版一、选择题(每小题2分,共70分)下列各题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)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)投影D)并(11)下列关于函数参数的叙述中,正确的是A)在函数原型中不必声明形参类型B)函数的实参和形参共享内存空间C)函数形参的生存期与整个程序的运行期相向D)函数的形参在函数被调用时获得初始值(12)下列关于对象初始化的叙述中,正确的是A)定义对象的时候不能对对象进行初始化B)定义对象之后可以显式地调用构造函数进行初始化C)定义对象时将自动调用构造函数进行初始化D)在一个类中必须显式地定义构造函数实现初始化(13)下列关于基类和派生类关系的叙述中,正确的是A)每个类最多只能有一个直接基类B)派生类中的成员可以访问基类中的任何成员C)基类的构造函数必须在派生类的构造函数体中调用D)派生类除了继承基类的成员,还可以定义新的成员(14)下列关于赋值运算符“=”重载的叙述中,正确的是A)赋值运算符只能作为类的成员函数重载B)默认的赋值运算符实现了“深层复制”功能C)重载的赋值运算符函数有两个本类对象作为形参D)如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符(15)下列关于模板的叙述中,正确的是A)如果一个类中存在纯虚函数,这个类就是类模板B)函数模板不能有形式参数表C)类模板是一种参数化类型的类,是类的生成器D)类模板中不能包含构造函数(16)下列关于C++预定义流对象的叙述中,正确的是A)cin是C++预定义的标准输入流对象B)cin是C++预定义的标准输入流类C)cout是C++预定义的标准输入流对象D)cout是C++预定义的标准输入流类(17)下列选项中,正确的C++标识符是A)6_groupB)group~6C)age+3D)_group_6(18)下列选项中,正确的C++表达式是A)counter++3 B)element3+ C)a+=b D)‘a‘=b(19)下列循环语句中有语法错误的是A)int i; for(i=1; i<10;i++)cout<<‘*‘;B)int i,j;for(i=1,j=0;i<10;i++,j++)cout<<‘*‘;C)int i=0;for(;i<10;i++)cout<<‘ *‘;D)for(1)cout<<‘*‘;(20)下列定义语句中,错误的是A)int px*;B)char*acp[10];C)char(*pac)[10];D)int(*p)();(21)下列函数原型声明中,错误的是A)int fnction(int m,int n);B)int function(int,int);C)int function(int m=3,int n);D)int function(int &m,int&n);(22)若MyClass为一个类,执行“MyClass a[4],*p[5];”语句时会自动调用该类构造函数的次数是A)2 B)5 C)4 D)9(23)若在表达式y/x中,“/”是作为成员函数重载的运算符,则该表达式还可以表示为A)x.Operator/(Y)B)operator/(x,Y)C)Y.operator/(x)D)operator/(y,x)(24)若要重载+、=、<<、=和[]运算符,则必须作为类成员重载的运算符是A)+和=B)=和<<C)==和<<D)=和[](25)有函数模板声明和一些变量定义如下:template <class Tl,class T2,class T3>T1 sum(T2,T3);double dl,d2;则下列调用中,错误的是A)sum<double,double,double>(dl,d2);B)sum<double;double>(d1,d2);C)sum<double>(d1,d2);D)sum(d1,d2);(26)有如下语句序列:char str[10];cin>>str;当从键盘输入”I love this game”时,str中的字符串是A)"I love this game"B)"I love thi"C)"I love"D)"I"(27)有如下程序:#include<iostream>#include<cmath>using std::cout;class Point{public:friend double distance(const Point &p); //p距原点的距离Point(int xx=0,int yy=0):x (xx),Y(YY){}//①private:Int x,Y;};double distance(const Point &p){//②return sqrt(p.x*p.x+p.Y*p.Y);}int main(){Point p1(3,4);cout<<distance(p1);//③return 0;}下列叙述中正确的是A)程序编译正确B)程序编译时语句①出错C)程序编译时语句②出错D)程序编译时语句③出错(28)有如下程序:#include<iostream>using namespace std;class CD{public:~CD(){cout<<’C’;}private:char name[80];};int main(){CD a,*b,d[2];return 0;}运行时的输出结果是A)CCCC B)CCC C)CC D)C(29)某类中有一个无参且无返回值的常成员函数Show,则正确的Show函数原型是A)const void Show();B)void const Show();C)void Show()const;D)void Show(const);(30)若已定义了类Vehicle,则下列派生类定义中,错误的是A)class Car:Vehicle{/*类体略*/},B)class Car:public Car{/*类体略*/};C)class Car:public Vehicle{/*类体略*/};D)class Car:virtual public Vehicle{/*类体略*/};(31)有如下程序:#include<iostream>using namespace std;class Music{public:void setTitle(char*str){strcpy(title,str);}protected:char type[10];private:char title[20];};class Jazz:public Music{public:void set(char* str){strcpy(type,"Jazz");//①strcpy(title,str);//②}};下列叙述中正确的是A)程序编译正确一B)程序编译时语句①出错C)程序编译时语句②出错D)程序编译时语句①和②都出错(32)有如下程序:#include<iostream>using namespace std;class Instrument{public:virtual void Display()=0;};class Piano:public Instrument{public:void Display(){/*函数体程序略*/}};int, main(){Instrument s;Instrument*p=0;//...;return 0;}下列叙述中正确的是A)语句“Insturment *p=0;”编译时出错B)语句“Instruments;”编译时出错C)类Piano中的Display函数不是虚函数D)类Instrumen七是一个虚基类(33)有类定义如下:气class Type {public:Type (int i=0);Tvpe operator -(int);friend Type operator + (Type, Type );private:int val;若有对象定义Type cl;则下列语句序列中,错误的是A)Type(3)+c1;B)cl+Type(3);C)3-cl;D)c1-3;(34)有如下程序:#include<iostream>#include<iomanip>using namespace std;_int main(){Cout<<setw(10)<<setfill(’x’)<<setprecision(8)<<left;Cout<<12.3456793<<_______<<98765;return 0;}若程厚的输出是12.345679x98765xxxxx,则划线处缺失的部分是A)setw(10) B)setfill('x') C)setprecision(8) D)right(35)有如下程序:#include<iostream>using namespace std;class Book{public:Book(char* t=""){strcpy(titie,t);}_____________________________private:Char title[40];};class Novel:public Book{public:Novel(char*t=""):B00K (t){}char*Category()const {return” "文学" }};int main(){Book*pb;pb=new Novel();Cout<<pb->Category();return 0;}若程序运行时输出结果是“文学”,则划线处缺失的语句是A)char* Category();B)char*Category()const;C)virtual char*Category()const;D)virtual char*Category()const=0;二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】-【15】序号的横线上,答在试卷上不得分。