C++考试样卷2

合集下载

c国家二级考试试题及答案

c国家二级考试试题及答案

c国家二级考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个选项是正确的数据类型?A. intB. floatC. doubleD. All of the above答案:D2. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D3. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. All of the above答案:C4. 下列哪个选项是C语言中正确的数组声明方式?A. int array[10];B. int [10] array;C. int array[];D. All of the above答案:D5. 在C语言中,哪个函数用于输入字符?A. scanf()B. getchar()C. printf()D. Both A and B答案:B6. 下列哪个选项是C语言中的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello" "World!"D. All of the above答案:A7. 在C语言中,哪个关键字用于跳过当前循环的剩余部分,并开始下一次迭代?A. continueB. breakC. returnD. Both A and B答案:A8. 下列哪个选项是C语言中正确的结构体声明方式?A. struct Point { int x, y; };B. struct { int x, y; } Point;C. Both A and BD. None of the above答案:C9. 在C语言中,哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. All of the above答案:C10. 下列哪个选项是C语言中正确的文件操作函数?A. fopen()B. fclose()C. Both A and BD. None of the above答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个全局变量。

C(Ⅱ)期末试卷(含答案)

C(Ⅱ)期末试卷(含答案)

课程名称计算机基础及C语言(Ⅱ) 开课学院计算机学院使用班级考试日期.江苏大学试题第2页江苏大学试题第3页江苏大学试题第4页21.该程序运行后,输出x的值是__________,y的值是_____D_____.int x=1;main(){int y,k;y=f(3);printf(”%d\n%d”,x,y);}int f(int x){if(x==3) {int x=2;return x;}else return x;}A。

0,1 B. 1,1 C. 2,1 D。

1,222.当程序读写数据文件时,需要有声明语句“FILE *fp;”,在该声明语句之前必须包含头文件______B______.A。

string.hB. stdio。

hC. math。

hD。

ctype。

h23.在文件中,以符号常量EOF作为文本文件的结束标记,EOF代表的值是_____B____。

A。

—2B. -1C。

0D.124.若有声明“double a[2][3]={1,2,3,4,5,6};”,则下列表达式中不能正确引用a[1][1]值的是__C___。

A. *(a[0]+4)B. *(a[1]+1)C. *(*(a+3)+1)D。

*(*a+4)25.有以下程序段typedef struct NODE{int num;struct NODE *next;}OLD;则以下叙述中正确的是_____D____.A。

以上的说明形式非法B。

NODE是一个结构体类型C。

OLD是一个结构体类型D。

OLD是一个结构体变量26.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是_____D_____。

A。

k%2 B。

k%2==1 C. (k%2)!=0 D。

!k%2==127.若有定义:int x=0, *p=&x;,则语句printf("%d\n”,*p);的输出结果是A.随机值B。

0C.x的地址D.p的地址28.以下能正确定义且赋初值的语句是___B______。

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。

什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。

全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。

A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。

A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。

A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。

A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。

A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。

A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是( )。

A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。

以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。

2022c语言二级考试题及答案

2022c语言二级考试题及答案

2022c语言二级考试题及答案一、单项选择题(每小题2分,共40分)1. C语言中,用于定义变量类型为整型的关键字是()。

A. intB. floatC. doubleD. char答案:A2. 下列选项中,不是C语言标准库函数的是()。

A. printf()B. scanf()C. strcat()D. input()答案:D3. 若有以下定义和语句:```cint a=5, b=2;a=a+b;```则执行后变量a的值是()。

A. 5B. 7C. 2D. 0答案:B4. 在C语言中,以下哪个选项是正确的字符串常量?A. "123"B. '123'C. "123""D. 123答案:A5. C语言中,以下哪个选项是正确的二维数组定义?A. int a[2,3];B. int a[2][3];C. int a[2][3][];D. int a[][];答案:B6. 在C语言中,以下哪个选项是正确的函数定义?A. int fun(int a, int b);B. int fun();C. int fun(int a, int b) {}D. int fun(a, b) {}答案:C7. 下列哪个选项是C语言中的合法标识符?A. 2aB. a-bC. _a1D. int答案:C8. 若有以下定义和语句:```cint a=5, b=0;if (a=b)printf("%d", b);elseprintf("%d", a);```则执行后输出的结果是()。

A. 5B. 0C. 1D. 无输出答案:B9. C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D10. 在C语言中,以下哪个选项是正确的结构体定义?A. struct student {int age;float score;};B. struct {int age;float score;} student;C. Both A and BD. None of the above答案:C11. C语言中,以下哪个选项是正确的枚举类型定义?A. enum color {red, green, blue};B. enum {red, green, blue};C. Both A and BD. None of the above答案:C12. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. #define PI = 3.14C. #define PI 3.14D. #define PI = 3.14答案:A13. C语言中,以下哪个选项是正确的指针定义?A. int *p;B. int *p[];C. int (*p)[];D. int *p[10];答案:A14. 若有以下定义和语句:```cint a=10;printf("%d", ++a);```则执行后输出的结果是()。

计算机二级c河北考试试题及答案

计算机二级c河北考试试题及答案

计算机二级c河北考试试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下选项中不是合法的变量名的是()。

A. _123B. intC. a_bD. 2abc答案:B2. 以下关于C语言中数组的描述,错误的是()。

A. 数组可以存储相同类型的元素B. 数组可以存储任意类型的数据C. 数组元素的下标从0开始D. 数组必须在编译时分配内存答案:B3. 在C语言中,下列哪个关键字用于定义函数()。

A. ifB. forC. intD. void答案:C4. 下列关于指针的描述中,正确的是()。

A. 指针可以存储任意类型的数据B. 指针本身不占用内存C. 指针可以存储变量的地址D. 指针可以作为函数的参数答案:C5. 在C语言中,以下关于文件操作的描述,错误的是()。

A. 文件操作需要包含头文件stdio.hB. 文件指针的类型是FILE*C. 文件操作函数fopen()用于打开文件D. 文件操作函数fclose()用于关闭文件答案:A6. 在C语言中,以下哪个运算符用于取模运算()。

A. %B. /C. *D. +答案:A7. 在C语言中,以下哪个关键字用于定义结构体()。

A. structB. unionC. enumD. typedef答案:A8. 在C语言中,以下关于函数的描述,错误的是()。

A. 函数可以返回任意类型的数据B. 函数可以没有返回值C. 函数可以有多个返回值D. 函数可以有多个参数答案:C9. 在C语言中,以下关于预处理指令的描述,错误的是()。

A. #include用于包含头文件B. #define用于定义宏C. #ifdef用于条件编译D. #undef用于取消宏定义答案:C10. 在C语言中,以下关于位运算的描述,错误的是()。

A. &表示按位与B. |表示按位或C. ^表示按位异或D. ~表示按位非答案:D二、填空题(每题2分,共10分)1. 在C语言中,定义一个整型变量a,其值为10,应该使用语句________。

历年二级C真题及答案

历年二级C真题及答案

公共基础知识及C++语言程序设计(考试时间90分钟,满分100)分)(1) C (2) C (3) B (4) A (5) D一、选择题((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)(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试题答案

全国等级考试二级c试题答案一、选择题(每题2分,共40分)1. 下列哪个选项是C语言中定义一个整型变量的正确方式?A. int number;B. integer number;C. var number;D. number int;答案:A2. 在C语言中,哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:C3. 若有以下代码段:```cint a = 5, b = 10;a = b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 0答案:B4. C语言中,用于计算两个数的乘积的运算符是什么?A. +B. -C. *D. /答案:C5. 在C语言中,哪个函数用于输入一个字符?A. scanf()B. printf()C. getchar()D. getc()答案:C6. 若有以下代码段:```cint x = 3;printf("%d", x++);```执行后,输出的结果是多少?A. 2B. 3C. 4D. 5答案:B7. 在C语言中,哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C8. 下列哪个选项是C语言中声明一个浮点型变量的正确方式?A. float number;B. floating number;C. real number;D. decimal number;答案:A9. C语言中,用于计算两个数的和的运算符是什么?A. +B. -C. *D. /答案:A10. 若有以下代码段:```cint a = 5, b = 10;b = a + b;```执行后,变量b的值是多少?A. 5B. 10C. 15D. 20答案:C11. 在C语言中,哪个函数用于输出一个整数?A. scanf()B. printf()C. getchar()D. getc()答案:B12. C语言中,用于计算两个数的差的运算符是什么?A. +B. -C. *D. /答案:B13. 若有以下代码段:```cint x = 3;printf("%d", ++x);```执行后,输出的结果是多少?A. 3B. 4C. 5D. 6答案:B14. 在C语言中,哪个关键字用于声明一个数组?A. arrayB. listC. sequenceD. []答案:D15. C语言中,用于计算两个数的商的运算符是什么?A. +B. -C. *D. /答案:D16. 若有以下代码段:```cint a = 5, b = 10;a = a * b;```执行后,变量a的值是多少?A. 25B. 50C. 100D. 500答案:B17. 在C语言中,哪个函数用于输入一个字符串?A. scanf()B. printf()C. gets()D. fgets()答案:D18. C语言中,用于计算两个数的余数的运算符是什么?A. +B. -C. %D. /答案:C19. 若有以下代码段:```cint x = 3;printf("%d", x--);```执行后,输出的结果是多少?A. 2B. 3C. 4D. 5答案:B20. 在C语言中,哪个关键字用于声明一个结构体?A. structB. typeC. classD. record答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个字符型变量的关键字是________。

计算机二级证考试c语言试题及答案

计算机二级证考试c语言试题及答案

计算机二级证考试c语言试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. C语言中,用于定义一个变量为静态局部变量的关键字是?A. staticB. externC. registerD. auto答案:A3. 下列哪个选项不是C语言中合法的整数常量?A. 2023B. 0x1AC. 0123D. 2.0答案:D4. 在C语言中,哪个运算符用于计算两个整数的差值?A. %B. /C. -D. +答案:C5. 下列哪个选项不是C语言中的控制语句?A. ifB. forC. switchD. case答案:D6. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A7. C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:D8. 在C语言中,以下哪个选项不是合法的数组声明?A. int arr[5];B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2, 3};D. int arr[] = {1, 2, 3, 4, 5, 6};答案:D9. C语言中,以下哪个函数用于计算数组中元素的个数?A. sizeofB. countC. lengthD. size答案:A10. 在C语言中,以下哪个关键字用于定义一个指针?A. pointerB. refC. ptrD. *答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符型变量的关键字是________。

答案:char2. 在C语言中,用于定义一个浮点型变量的关键字是________。

答案:float3. C语言中,用于定义一个布尔型变量的关键字是________。

c二级考试试题及答案

c二级考试试题及答案

c二级考试试题及答案第一部分:听力理解 (共20小题,每小题1分,共20分)请听下面的对话,根据对话内容选择正确答案。

1. A. In a library. B. In a bookstore. C. In a coffee shop.2. A. At 7:00. B. At 7:30. C. At 8:00.3. A. By bus. B. By subway. C. By taxi.4. A. Two. B. Three. C. Four.5. A. A teacher and a student. B. A doctor and a patient. C. A salesperson and a customer.请听下面的对话,根据对话内容选择正确答案。

6. A. At a hotel. B. At an airport. C. At a train station.7. A. The blue one. B. The black one. C. The red one.8. A. Next Monday. B. Next Thursday. C. Next Sunday.9. A. A police officer. B. A hotel receptionist. C. A taxi driver.10. A. Going to a museum. B. Going to a party. C. Going to a concert.请听下面的对话,根据对话内容选择正确答案。

11. A. At a bookstore. B. At a library. C. At a coffee shop.12. A. By car. B. By bus. C. By subway.13. A. Blue. B. Red. C. White.14. A. Writing a report. B. Reading a book. C. Finishing an assignment.15. A. Two days. B. Three days. C. Four days.请听下面的对话,根据对话内容选择正确答案。

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。

2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。

他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。

在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。

C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。

丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。

2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。

3. 输出结果为“helloworld”。

strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。

在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。

如果第一个字符串不够大,程序会出现内存溢出等问题。

4. A、B、C三个数据类型可以用来存储浮点数。

5. 输出结果为“6”。

在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。

浙江省二级c理论考试试题及答案

浙江省二级c理论考试试题及答案

浙江省二级c理论考试试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ->D. ::答案:D3. 在C语言中,用于定义数组的关键字是()。

A. arrayB. listC. vectorD. int答案:D4. 下列哪个选项不是C语言中的循环控制语句?()A. forB. whileC. do-whileD. switch5. 在C语言中,用于定义一个函数的关键字是()。

A. functionB. defC. voidD. int答案:C6. C语言中,用于声明一个指针变量的关键字是()。

A. ptrB. pointerC. *D. &答案:C7. 在C语言中,用于定义一个枚举类型的关键字是()。

A. enumB. typeC. typedefD. struct答案:A8. 下列哪个选项是C语言中的文件操作函数?()A. printfB. scanfC. fopenD. fclose答案:C9. 在C语言中,用于定义一个联合体的关键字是()。

B. structC. enumD. typedef答案:A10. C语言中,用于定义一个宏的预处理指令是()。

A. #defineB. #includeC. #importD. #pragma答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个变量的关键字是________。

答案:int2. 在C语言中,用于声明一个函数的关键字是________。

答案:void3. C语言中,用于定义一个枚举类型的关键字是________。

答案:enum4. 在C语言中,用于定义一个联合体的关键字是________。

答案:union5. C语言中,用于定义一个宏的预处理指令是________。

全国计算机等级考试二级C++模拟试题及解析10套

全国计算机等级考试二级C++模拟试题及解析10套

全国计算机等级考试二级C++ 模拟试题及解析(1)一、选择题1. 算法的有穷性是指()。

答案:AA )算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用2. 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n —1)/2的排序方法是()。

答案:DA )快速排序B)冒泡排序C)直接插入排序D)堆排序3. 下列关于栈的叙述正确的是()。

答案:BA)栈按"先进先出"组织数据B)栈按"先进后出"组织数据C)只能在栈底插入数据D)不能删除数据4. 一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。

答案:B A)12345ABCDEB)E DCBA54321C)ABCDE12345D)54321EDCBA5. 下列叙述中正确的是()。

答案:DA)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D )循环队列中元素的个数是由队头指针和队尾指针共同决定6. 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。

答案:CBJ 阪0阪*)#> 03廟汕)*D7. 下列叙述中正确的是()。

答案:AA)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间8. 在数据管理技术发展的三个阶段中,数据共享最好的是()。

答案:CA)人工管理阶段B)文件系统阶段C)数据库系统阶段D)三个阶段相同9. 下列叙述中正确的是()。

答案:DA)栈是先进先出”的线性表B)队列是先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构10. 支持子程序调用的数据结构是()。

全国等级考试二级c试题及答案

全国等级考试二级c试题及答案

全国等级考试二级c试题及答案全国等级考试二级C试题及答案1. 选择题:以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B2. 填空题:在C语言中,以下代码段的输出结果是什么?```c#include <stdio.h>int main() {int i = 10;printf("%d", i++);return 0;}```输出结果为:103. 简答题:请解释C语言中指针的概念及其用途。

答案:指针是一种特殊的变量,它存储了另一个变量的内存地址。

指针的主要用途包括动态内存分配、数组操作、函数参数传递等,它们使得程序能够更加灵活地处理数据和内存。

4. 编程题:编写一个C语言函数,该函数接受一个整数数组和数组的大小作为参数,返回数组中的最大值。

```cint findMax(int arr[], int size) {int max = arr[0];for (int i = 1; i < size; i++) {if (arr[i] > max) {max = arr[i];}}return max;}```5. 论述题:请论述C语言中结构体(struct)的定义和使用。

答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的数据结构。

定义结构体时,需要使用`struct`关键字,后跟结构体的名称和一对花括号,其中包含结构体成员的定义。

结构体的使用包括声明结构体变量、访问成员、作为函数参数传递等,它在处理复杂数据时非常有用。

6. 多选题:以下哪些是C语言中合法的函数声明?A. void myFunction(int a, int b);B. int myFunction();C. double myFunction(int a);D. void myFunction(int a, double b);答案:A, B, C, D7. 判断题:C语言中的全局变量在整个程序的生命周期内都是有效的。

全国计算机等级考试二级笔试样卷C语言程序设计含答案

全国计算机等级考试二级笔试样卷C语言程序设计含答案

全国计算机等级考试二级笔试样卷C语言程序设计【打印】【字体:大中小】【关闭】一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)下列选项中不符合良好程序设计风格的是A)源程序要文档化B)数据说明的次序要规化C)避免滥用goto语句 D)模块设计要保证高耦合、高聚(2)从工程管理角度,软件设计一般分为两步完成,它们是A)概要设计与详细设计B)数据设计与接口设计C)软件结构设计与数据设计D)过程设计与数据设计(3)下列选项中不属于软件生命周期开发阶段任务的是A)软件测试B)概要设计C)软件维护D)详细设计(4)在数据库系统中,用户所见的数据模式为A)概念模式B)外模式C)模式D)物理模式(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和A)编码设计B)测试阶段C)运行阶段D)物理设计(6)设有如下三个关系表R S T下列操作中正确的是A)T=R∩S B)T=R∪SC)T=R×S D)T=R/S(7)下列叙述中正确的是A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A)63 B)64 C)6 D)7(9)数据库技术的根本目标是要解决数据的A)存储问题B)共享问题C)安全问题D)保护问题(10)对下列二叉树进行中序遍历的结果是A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG(11)下列叙述中错误的是A)一个C语言程序只能实现一种算法B)C程序可以由多个程序文件组成C)C程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在(12)下列叙述中正确的是A)每个C程序文件中都必须要有一个main()函数B)在C程序中main()函数的位置是固定的C)C程序中所有函数之间都可以相互调用,与函数所在位置无关D)在C程序的函数中不能定义另一个函数(13)下列定义变量的语句中错误的是A)int _int; B)double int_; C)char For; D)float US$; (14)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A)++x,y=x-- B)x+1=y C)x=x+10=x+y D)double(x)/10(15)以下关于逻辑运算符两侧运算对象的叙述中正确的是A)只能是整数0或1 B)只能是整数0或非0整数C)可以是结构体类型的数据D)可以是任意合法的表达式(16)若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) :(y++)中的条件表达式(x-y) 等价的是A)(x-y>0) B)(x-y<0) C)(x-y<0||x-y>0) D)(x-y==0)(17)有以下程序main(){ int x, y, z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1(18)设有定义:int a; float b; 执行scanf("%2d%f",&a,&b); 语句时,若从键盘输入876 543.0<回车>,a和b的值分别是A)876和543.000000 B)87和6.000000 C)87和543.000000 D)76和543.000000(19)有以下程序main(){ int a=0, b=0;a=10; /* 给a赋值b=20; 给b赋值*/printf("a+b=%d\n",a+b); /* 输出计算结果*/}程序运行后的输出结果是A)a+b=10 B)a+b=30 C)30 D)出错(20)在嵌套使用if语句时,C语言规定else总是A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对(21)下列叙述中正确的是A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句(22)有以下程序main(){ int k=5;while(--k) printf("%d",k -= 3);printf("\n");}执行后的输出结果是A)1 B)2 C)4 D)死循环(23)有以下程序main(){ int i;for(i=1; i<=40; i++){ if(i++%5==0)if(++i%8==0) printf("%d ",i);}printf("\n");}执行后的输出结果是A)5 B)24 C)32 D)40(24)以下选项中,值为1的表达式是A)1 –'0' B)1 - '\0' C)'1' -0 D)'\0' - '0'(25)有以下程序fun(int x, int y){ return (x+y); }main(){ int a=1, b=2, c=3, sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}执行后的输出结果是A)6 B)7 C)8 D)9(26)有以下程序main(){ char s[]="abcde";s+=2;printf("%d\n",s[0]);}执行后的结果是A)输出字符a的ASCII码B)输出字符c的ASCII码C)输出字符c D)程序出错(27)有以下程序fun(int x, int y){ static int m=0, i=2;i+=m+1; m=i+x+y; return m;main(){ int j=1, m=1, k;k=fun(j,m); printf("%d,",k);k=fun(j,m); printf("%d\n",k);}执行后的输出结果是A)5, 5 B)5, 11 C)11, 11 D)11, 5(28)有以下程序fun(int x){ int p;if(x==0||x==1) return(3);p=x-fun(x-2);return p;main(){ printf("%d\n",fun(7)); }执行后的输出结果是A)7 B)3 C)2 D)0(29)在16位编译系统上,若有定义int a[]={10,20,30}, *p=&a;,当执行p++;后,下列说法错误的是A)p向高地址移了一个字节B)p向高地址移了一个存储单元C)p向高地址移了两个字节D)p与a+1等价(30)有以下程序main(){ int a=1, b=3, c=5;int *p1=&a, *p2=&b, *p=&c;*p =*p1*(*p2);printf("%d\n",c);}执行后的输出结果是A)1 B)2 C)3 D)4(31)若有定义:int w[3][5]; ,则以下不能正确表示该数组元素的表达式是A)*(*w+3) B)*(w+1)[4] C)*(*(w+1)) D)*(&w[0][0]+1)(32)若有以下函数首部int fun(double x[10], int *n)则下面针对此函数的函数声明语句中正确的是A)int fun(double x, int *n); B)int fun(double , int );C)int fun(double *x, int n); D)int fun(double *, int *);(33)有以下程序void change(int k[ ]){ k[0]=k[5]; }main(){ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while( n<=4 ) { change( &x[n]) ; n++; }for(n=0; n<5; n++) printf("%d ",x[n]);printf("\n");}程序运行后输出的结果是A)6 7 8 9 10 B)1 3 5 7 9 C)1 2 3 4 5 D)6 2 3 4 5(34)有以下程序main(){ int x[3][2]={0}, i;for(i=0; i<3; i++) scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);}若运行时输入:2 4 6<回车>,则输出结果为A)2 0 0 B)2 0 4 C)2 4 0 D)2 4 6(35)有以下程序int add( int a,int b){ return (a+b); }main(){ int k, (*f)(), a=5,b=10;f=add;…}则以下函数调用语句错误的是A)k=(*f)(a,b); B)k=add(a,b);C)k= *f(a,b); D)k=f(a,b);(36)有以下程序#includemain( int argc, char *argv[ ]){ int i=1,n=0;while (iprintf("%d\n",n);}该程序生成的可执行文件名为:proc.exe。

二级c考试题构成及答案

二级c考试题构成及答案

二级c考试题构成及答案在二级C考试中,试题主要分为以下几个部分:选择题、填空题、编程题。

以下是针对这些题型的样题及答案。

1. 选择题题目:以下哪个选项是C语言中合法的变量名?A. 2variableB. variable_nameC. variable-nameD. variable name答案:B. variable_name解析:在C语言中,变量名必须以字母或下划线开头,且只能包含字母、数字和下划线。

选项A以数字开头,选项C和D包含非法字符(连字符和空格),因此只有选项B是合法的变量名。

2. 填空题题目:以下代码段中,变量x的值是多少?```cint x = 5;x = x + 3;```变量x的值是:______答案:8解析:根据赋值运算符的规则,x的值首先被赋值为5,然后执行x =x + 3,即x的值被更新为5 + 3,因此x的值为8。

3. 编程题题目:编写一个C程序,计算并输出1到100之间所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("The sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```解析:程序使用一个for循环遍历1到100之间的所有偶数,并使用累加器sum来计算这些偶数的和。

循环每次增加2,确保只计算偶数。

最后,使用printf函数输出计算得到的和。

结束语:通过以上样题及答案,考生可以对二级C考试的题型和难度有一个大致的了解,并据此进行相应的复习和准备。

全国计算机二C语言试题及答案图文稿

全国计算机二C语言试题及答案图文稿

全国计算机二C语言试题及答案集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)2009年3月全国计算机等级考试二级C语言笔试卷核心提示:2009年3月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)选择题(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D2009年3月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)选择题(1)下列叙述中正确的是?A)栈是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是?A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是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?SABCABa32a3b01b0c21c2由关系R通过运算得到关系S,则所使用的运算为A)选择B)投影C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)以下选项中合法的标识符是A)1-1B)1—1C)-11D)1--(12)若函数中有定义语句:int?k;,则A)系统将自动给k赋初值0B)这时k中值无定义C)系统将自动给k赋初值-1D)这时k中无任何值(13)以下选项中,能用作数据常量的是A)o115B)0118C)1.5e1.5D)115L(14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x,x+=2(15)程序段:intx=12;doubley=3.141593;printf(“%d%8.6f”,x,y);的输出结果是A)123.141593B)123.141593C)12,3.141593D)123.141593(16)若有定义语句:doublex,y,*px,*py,执行了px=&x,py=&y;之后,正确的输入语句是A)scanf(“%f%f”,x,y);B)scanf(“%f%f”,&x,&y);C)scanf(“%lf%le”,px,py);D)scanf(“%lf%lf”,x,y); (17)以下是if语句的基本形式:if(表达式)语句其中“表达式”A)必须是逻辑表达式?B)必须是关系表达式C)必须是逻辑表达式或关系表达式?D)可以是任意合法的表达式(18)有以下程序#include?<stdio.h>main(){int?x;scanf(“%d”,&x);if(x<=3);elseif(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数?B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数(19)有以下程序#include<stdio.h>Main(){inta=1,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=2||c--!=3)printf(“%d,%d,%d\n”,a,b,c);else?printf(“%d,%d,%d\n”,a,b,c); else?printf(“%d,%d,%d\n”,a,b,c);}程序运行后的输出结果是A)1,2,3B)1,3,2C)1,3,3D)3,2,1 (20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”);程序段的输出结果是A)********B)****C)**D)*(21)有以下程序#include<stdio.h>main(){char*s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。

2022年山东省莱芜市全国计算机等级考试C语言程序设计真题二卷(含答案)

2022年山东省莱芜市全国计算机等级考试C语言程序设计真题二卷(含答案)

2022年山东省莱芜市全国计算机等级考试C语言程序设计真题二卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.下列叙述中正确的是A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试2.在含有n个项点有e条边的无向图的邻接矩阵中,零元素的个数为________。

A.eB.2e9C.n2-eD.n2-2e3.4. 有以下程序float fun(int x,int y) {return(x+y);} main() { int a=2,b=5,c=8;printf(“%3.Of\n”,fun((int)fun(a+c,b),a-c));} 程序运行后的输出结果是A.编译出错B.9C.21D.95.若有定义语句:“char sE10]="1234567\0\0";”,则strlen(s)的值是( )。

A.A.7B.8C.9D.106.对如下二叉树进行后序遍历的结果为( )。

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA7.有以下程序:#include <stdio.h>main(){FILE *f;f=fopen(“fllea. txt”, “w”);fprintf( f,“ abc”);fclose(f);}若文本文件filea. txt中原有内容为hello,则运行以上程序后,文件filea. txt中的内容为()。

A.abcloB.abcC.helloabcD.abchello8.9.将两个字符串连接起来组成一个字符串时,选用()函数。

A.strlen()B.strcpy()C.strcat()D.strcmp()10.有以下程序:#include<stdio.h>int fun{static int x=1;x+=1;return X;}main{int i,S=1;for(i=1;i<=S;i++)s+=fun;printf("%d\n",s);}程序运行后的输出结果是( )。

二级c真题及答案解析

二级c真题及答案解析

二级c真题及答案解析二级C考试是一项非常重要的英语水平测试,对于那些希望通过学习提高自己英语能力的人来说,这是一个必经的阶段。

在这个考试中,选择题是占据了大部分的题目类型。

而针对这些选择题,我想通过本文来进行一些真题及答案解析的讨论,以帮助考生更好地备考。

首先,让我们来看一道真题。

题目如下:In the following sentence, which word is the adjective?Mary is wearing a beautiful red dress.A) MaryB) isC) aD) beautiful对于这道题目,正确答案是D) beautiful。

这是因为在这个句子中,beautiful修饰了red dress,起到了形容词的作用。

而其他选项都不是形容词。

那么,为什么其他选项不是形容词呢?我们需要从语法的角度来进行分析。

首先,选项A) Mary是一个名词,不是形容词。

选项B) is 是一个动词的形式,也不是形容词。

选项C) a是一个冠词,也不是形容词。

接下来,让我们再看一道真题。

题目如下:Jamie needs to buy ________ for the party.A) some grapes freshB) fresh some grapesC) some fresh grapesD) grapes some fresh这道题目的正确答案是C) some fresh grapes。

这是因为在这个句子中,some修饰了grapes,而fresh修饰了some grapes。

根据英语的修饰顺序,我们应该先用some修饰grapes,然后再用fresh修饰some grapes。

其他选项为什么不是正确答案呢?同样,我们需要运用一些语法知识来解释。

选项A) some grapes fresh中,fresh应该放在grapes 之前才是正确的修饰顺序。

选项B) fresh some grapes中,some应该放在grapes之前才是正确的修饰顺序。

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

C++ 考试样卷2一.选择题(以下每题有四个选项可供选择,请选择最正确的一个答案,将标号填入答题纸上,每题2分,共20分)1.若有以下语句:static char x[ ]=”12345”;static char y[ ]={…1‟,‟2‟,‟3‟,‟4‟,‟5‟};则正确的说法是________________。

A.x数组和y数组的长度相同B.x数组的长度大于y数组的长度C.x数组的长度小于y数组的长度D.x数组与y数组等价2.一个C++类________________。

A.只能有一个构造函数和一个析构函数B. 可以有一个构造函数和多个析构函数C. 可以有多个构造函数和一个析构函数D. 可以有多个构造函数和多个析构函数3.以下有关宏替换的叙述中,错误的是___________。

A.宏替换不占用运行时间B.宏名无类型C.宏替换只是字符替换D.宏名必须用大写字母表示4.要判断char型变量m是否是数字,可以使用下列表达式_________。

A.0<=m && m<=9 B.‟0‟<=m && m<=‟9‟C.”0”<=m && m>=”9” D.以上都错误5.执行strlen( “abcd\0ef\0g”)的返回值为__________。

A.4 B.5 C.8 D.96.若int i=10;接着执行完下列程序后,变量i的正确结果是___________。

switch ( i ) {case 9: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}A.10 B.11 C.12 D.137.下面关于C++中类的继承与派生的说法错误的是:_____________。

A.基类的protected成员在公有派生类的成员函数中可以直接使用B.基类的protected成员在私有派生类的成员函数中可以直接使用C.私有派生时,基类的所有成员访问权限在派生类中保持不变D.继承可以分为单一继承与多重继承8.下面选项中能用作用户自定义的标识符是___________。

A.friend B.-var C.3Xyz- D.Float9.C++语言中提供内存申请运算符________,它能可靠地控制内存的分配。

A.deleteB.newC.posD.auto10.数组作为函数的形参时,把数组名作为实参,传递给函数的是_________。

A.该数组的首地址B.该数组的元素个数C.该数组中的各元素值D.该数组的大小()二、填空题(每空2分,共20分)1.C++中表达式8.0*(1.0/2)的值为______________。

2.现有程序代码如下:int array[5]={17,23,54,14,88};int *p;p=array;在执行3个语句后,array[2]为数组的第三个元素,值为54,请写出两种用指针变量p表示array[2]的方法_________________与__________________。

3.请阅读下面的程序:#include <iostream.h>int x=5;void main(int argc, char *argv[]){int x=7;if (x==7){int x=9;cout<<”x=”<<x<<endl;}cout<<”x=”<<x<<endl;}请写出程序运行的第一行与第二行结果为______________与____________。

4.请阅读如下程序:#include <iostream.h>void change(int x,int y){x+=10;y+=10;cout<<”x=”<<x<<”;y=”<<y<<endl;}int main(int argc,char *argv[ ]){int x=10;int y=15;cout<<”x=”<<x<<”;y=”<<y<<endl;change(x,y);cout<<”x=”<<x<<”;y=”<<y<<endl;}上面的程序编译并运行,程序的输出结果有三行,第一行为x=10;y=15,请写出程序运行的第二行与第三行结果_______________与______________。

5.执行如下程序后,第一行的输出是_______________,第三行的输出是_______________。

#include <iostream.h>int fac(){int b=0;static int c=3;b++;c++;return b+c;}void main(int argc, char *argv[]){for(int j=0;j<3;j++) cout<<fac()<<endl;}6.执行如下程序后,第二行的输出是_____________。

#include <iostream.h>int test(int x, int y=20){cout<<”x=”<<x<<”;y=”<<y<<endl;}void main(int argc, char *argv[]){int x=10;int y=15;test(x,y);test(x);}三、改错题:指出下列程序的错误,并说明原因(每错4分,共20分)1、#include <iostream.h>class A{public:void A(int i=0){m=i;}void show(){cout<<m;}void ~A(){}private:int m;};void main(){A a(5);a.m+=10;a.show();}________[1]________ ________[2]________ ________[3]________1、#include <iostream.h>class A{ public:void setA(int);void showA();private:int a;};class B{ public:void setB(int);void showB();private:int b;};class C : public A, private B{ public:void setC(int, int, int);void showC();private:int c;};void A::setA(int x){ a=x; }void B::setB(int x){ b=x; }void C::setC(int x, int y, int z){ SetA(x);SetB(y);c=z;}int main(){ C obj;obj.setA(5);obj.showA();obj.setC(6,7,9);obj.showC();obj.setB(6);obj.showB();return 0;}________[4]________ ________[5]________五、编写下面问题的C++程序(共40分)1.编写一个程序,将从键盘输入的两个字符串,将它们连接起来,要求利用指针实现。

(注:不能使用strcat库函数)(10分)2.现有Complex类用于描述复数,其实现代码如下:class Complex{private:double m_image; //描述实部double m_real; //描述需部public:Complex (double i=0,double j=0){m_real=i;m_image=j;}void show();};void Complex: :show(){cout<<m_real<<”+”<<m_image<<”i”<<endl;}请为此类添加“+”运算符用于完成可以将一个复数和一个复数相加后返回一个复数,另外添加“-”运算符用于将一个复数的实部和一个实数相减并返回一个复数。

请写出具体语句,包括如何声明、实现成员、以及在main函数中测试该类的语句。

(15分)3、编写一个学生和教师数据输入和显示程序,学生数据要求有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。

要求将编号、姓名的输入和显示设计成一个类person,并作为学生数据操作类student和教师数据操作类teacher的基类,学生数据中的班号和成绩的输入和显示在student类中实现,教师数据中的职称和部门的输入和显示在teacher类中实现。

最后在主函数中进行该类的测试。

(15分)下面给出了基类person的主要成员:(1)私有成员:●int no;编号●char name[10]; 姓名(2)公有成员:●void input(); 编号和姓名的输入●void display(); 编号和姓名的显示。

相关文档
最新文档