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语言中,用于定义一个布尔型变量的关键字是________。

  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(); 编号和姓名的显示。

相关文档
最新文档