面向对象程序设计C#课程教案
面向对象程序设计 C 复习题

一选择题(共 45题)1.对类的构造函数和析构函数描述正确的是()。
A.构造函数可以重载,析构函数不能重载√B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载2.继承具有(),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。
A)规律性 B.传递性√ C.重复性 D.多样性3.假设OneClass为一个类,则该类的复制初始化构造函数的声明语句为()。
(OneClass p); B. OneClass& (OneClass p );C. OneClass(OneClass & p);√D. OneClass (OneClass * p);4.对于结构中定义的成员,其默认的访问权限为()。
B. protected D. static5.下面对静态数据成员的描述中,不正确的是()。
A.静态数据成员可以在类体内进行初始化√B.静态数据成员不可以在类体内进行初始化C.静态数据成员能受private控制符的作用D.静态数据成员调用前必须初始6. C++中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种是通过()派生了新的类。
A.复用B.继承√C.封装D.引用7. 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a 的格式为()。
A. x(a)B. x[a]C. x->aD. √9. 对于一个类的构造函数,其函数名与类名( )。
A. 完全相同√B. 基本相同C. 不相同D. 无关系10. 一个类的构造函数通常被定义为该类的( )成员。
A. 公有√B. 保护C. 私有D. 友元11. 一个类的析构函数通常被定义为该类的( )成员。
A. 私有B. 保护C. 公有√D. 友元12. 一个类的静态数据成员所表示属性 ( )。
A. 是类的或对象的属性B. 只是对象的属性C. 只是类的属性√D. 类和友元的属性13.类的析构函数的作用是()。
面向对象程序设计C - 东华大学

龚涛
13
东华大学信息科学与技术学院
第8章 多态性和虚函数 8.6 虚析构函数
在析构函数前面加上关键字virtual进行说明, 称该析构函数为虚析构函数。
静态联编和动态联编都属于多态性,它们是在不同阶段对不同 实现进行不同的选择。
龚涛
10
东华大学信息科学与技术学院
第8章 多态性和虚函数 8.4 虚函数
虚函数是动态联编的基础。虚函数是成员函数,而 且是非static的成员函数。说明虚函数的方法如下:
virtual <类型说明符> <函数名>(<参数表>) 其中,被关键字virtual说明的函数称为虚函数。
重载函数的意义在于它可以用相同的名字访问一组 相互关联的函数,由编译程序来进行选择,因而有助于 解决程序复杂性的问题。
(1) 不要使用重载函数来描述毫不相干的函数。
(2) 在类中,构造函数可以重载,普通成员函数也可 以重载。
(3) 在重载函数中使用参数的默认值要避免二义性。
龚涛
4
东华大学信息科学与技术学院
由于C语言的数组中没有保存其大小,因此,不能 对数组元素进行存取范围的检查,无法保证给数组动态 赋值不会越界。利用C++语言的类可以定义一种更安全、 功能更强的数组类型。为此,为该类定义重载运算符[]。
2. 重载增1减1运算符
增1减1运算符是单目运算符,分为前缀运算和后缀 运算两种。为了区分这两种运算,将后缀运算视为双目 运算符。表达式obj++或obj—被看作obj++0或obj—0。
c语言面向对象编程

c语言面向对象编程
1. C语言面向对象编程
C语言面向对象编程(Object-oriented Programming,简称OOP)是一种最受欢迎的数据表示和程序构造技术,自小到大,语言按照这
种形式进行构建,发展了许多特性,而这特性都是C语言所带来的新
的思想。
主要有:封装、继承、多态性和抽象性。
2. 封装
封装是指将对象的信息和对象的操作封装在一起,这样可以将复
杂性更好地隐藏起来,增强模块之间的独立性,使它们相互之间更加
松耦合,同时提供更丰富和更完全的接口,使得类及其实例更加有可
读性。
3. 继承
继承是指将一个类(超类或父类)的属性和行为继承给另一个类(子类),以便子类可以直接使用超类的属性和行为,实现代码的重用。
4. 多态性
多态性是指相同的代码,可以根据实参的不同而产生不同的行为,比如同一段代码可以根据传入的不同参数引起不同的行为,不同的类
的不同的实例也可以引起不同的行为。
5. 抽象性
抽象性是指将客观实体抽象出来做成一个对象,从而达到数据抽象和功能抽象从而简化程序,提高程序设计的效率,使得更加容易理解、修改和改进程序。
总之,C语言面向对象编程涉及到封装、继承、多态性和抽象性四个特性,它们极大地改变了程序设计中的思维方式,使用它们对对象可以有更完全的控制,从而使得程序更加易读、易懂、易修改、易构造和易改进。
C语言实现面向对象设计

C语言实现面向对象设计C语言是一种过程式编程语言,它并不直接支持面向对象的设计。
但是,通过一些技巧和约定可以在C语言中实现面向对象的编程模式。
面向对象的设计主要包含了封装、继承和多态三个概念,下面我们将分别介绍如何在C语言中实现这三个概念。
1.封装:封装是面向对象设计的一个重要概念,它将数据与操作数据的函数组合在一起,形成一个独立的单元即对象。
在C语言中,我们可以使用结构体来实现封装的效果。
结构体可以将不同类型的数据组合在一起,并通过函数来操作这些数据,模拟对象的概念。
```c//定义一个结构体来表示一个人的信息typedef structchar name[20];int age;} Person;//定义一个函数来创建一个人的实例Person* createPerson(char* name, int age)Person* person = (Person*)malloc(sizeof(Person));strcpy(person->name, name);person->age = age;return person;//定义一个函数来输出一个人的信息void printPerson(Person* person)printf("Name: %s, Age: %d\n", person->name, person->age);int maiPerson* person = createPerson("Alice", 25);printPerson(person);free(person);return 0;```在上面的代码中,我们通过创建一个结构体`Person`来封装一个人的信息,然后使用`createPerson`函数来创建一个`Person`对象,并使用`printPerson`函数来输出对象的信息。
2.继承:继承是面向对象设计中一个很有用的特性,它允许一个对象继承另一个对象的属性和方法。
c面向对象程序设计期末考试题及答案

c面向对象程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是面向对象程序设计的特点?A. 封装B. 继承C. 多态D. 所有选项都是2. 在Java中,以下哪个关键字用于定义类?A. classB. structC. typeD. classdef3. 以下哪个是Java中不允许的类成员访问修饰符?A. publicB. protectedC. privateD. global4. 以下哪个是Java中实现多态的方式?A. 函数重载B. 函数重写C. 接口D. 抽象类5. 在Java中,哪个关键字用于声明一个方法,该方法没有返回值?A. voidB. returnC. noneD. null6. 以下哪个是Java中创建对象的语法?A. new ClassName();B. create ClassName;C. make ClassName;D. ClassName();7. 在Java中,以下哪个是正确的构造方法声明?A. public ClassName();B. public ClassName new();C. public new ClassName();D. public ClassName create();8. 以下哪个是Java中实现继承的方式?A. 使用extends关键字B. 使用implements关键字C. 使用interface关键字D. 使用new关键字9. 在Java中,以下哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. class10. 以下哪个是Java中实现封装的方式?A. 使用public关键字B. 使用private关键字C. 使用protected关键字D. 使用default关键字答案:1. D2. A3. D4. B5. A6. A7. A8. A9. A10. B二、简答题(每题10分,共20分)1. 简述面向对象程序设计中的“封装”概念及其重要性。
面向对象程序设计C课后题答案

第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。
这种范型的主要特征是:程序=对象+消息。
面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。
第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。
面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。
这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。
[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。
对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。
类和对象之间的关系是抽象和具体的关系。
类是多个对象进行综合抽象的结果,一个对象是类的一个实例。
在面向对象程序设计中,总是先声明类,再由类生成对象。
类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。
[1_3]现实世界中的对象有哪些特征?请举例说明。
对象是现实世界中的一个实体,其具有以下一些特征:(1)每一个对象必须有一个名字以区别于其他对象。
(2)需要用属性来描述它的某些特性。
(3)有一组操作,每一个操作决定了对象的一种行为。
(4)对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。
例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36 生日:1966.10.1 工资:2000 部门:人事部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。
C 面向对象程序设计(2010年清华大学出版社出版的图书)

第1章计算机和C++编程入门 概述 1.1计算机系统 1.2编程和问题求解 1.3 C++入门 1.4测试和调试 小结 自测题答案 编程项目 第2章 C++基础知识 概述
图书五
内容简介
图书目录
《C++面向对象程序设计》从实际应用出发,系统地介绍C++面向对象程序设计的原理、方法和技巧。重点突 出,叙述清楚,深入浅出,论述详尽,使读者既能深刻领会面向对象程序设计的思想,了解面向对象程序设计的 特征,又能掌握C++语言的编程与应用。全书共8章,主要包括:面向对象程序设计语言概述、C++语言基础知识、 类和对象、对象成员和友员、继承和派生、多态性和运算符重载、模板、C++的输入/输出流。在每一章的知识点 后面,都给出了相应的程序设计实例,这些实例不仅有助于读者巩固知识点的内容,而且更有助于读者创新能力 的培养。
图书一
内容提要
目录
C++面向对象程序设计本书介绍了C++面向对象程序设计的基本知识和编程方法,以及C++面向对象的基本特征。 针对初学者的特点,本书力求通过大量实例、习题和上机实验题,以通俗易懂的语言讲解复杂的概念和方法,使读 者能深刻理解和领会面向对象程序设计的特点和风格,掌握其方法和要领,以期帮助读者尽快地迈入面向对象程 序设计的大门。
Savitch教授的研究领域包括复杂性理论、形式语言理论、计算语言学和计算机教材的开发。他因为对复杂 性理论所做的贡献而声名远扬,其中包括他提出的第一个完整语言(complete1anguage)范例。这个奠基性的
c面向对象程序课程设计

c面向对象程序课程设计一、教学目标本节课的教学目标是让同学们掌握C面向对象程序的基本概念和语法,包括类、对象、继承、多态等核心概念。
通过学习,同学们能够熟练使用C++编写简单的面向对象程序,培养编程思维和解决问题的能力。
同时,在学习过程中,培养同学们的团队合作意识和自主学习能力。
二、教学内容本节课的教学内容主要包括以下几个部分:1.面向对象程序概述:介绍面向对象程序的基本概念,如类、对象、封装、继承、多态等。
2.类和对象:讲解如何定义一个类,如何创建和使用对象,以及构造函数和析构函数的概念。
3.继承:介绍继承的概念和实现方式,以及继承的好处和注意事项。
4.多态:讲解多态的概念、实现方式以及多态的好处。
5.面向对象程序设计实例:通过实例讲解如何运用面向对象程序设计的方法解决实际问题。
三、教学方法为了更好地实现教学目标,本节课采用以下几种教学方法:1.讲授法:讲解面向对象程序的基本概念、语法和实例。
2.讨论法:同学们进行小组讨论,分享学习心得和解决问题的方法。
3.案例分析法:分析实际编程案例,让同学们更好地理解面向对象程序设计的方法。
4.实验法:安排课后的编程实践,让同学们动手编写面向对象的程序,巩固所学知识。
四、教学资源为了支持本节课的教学内容和教学方法的实施,准备以下教学资源:1.教材:《C++面向对象程序设计》等相关教材。
2.参考书:提供一些关于C++面向对象程序设计的参考书籍,供同学们课后自主学习。
3.多媒体资料:制作精美的PPT,直观地展示面向对象程序设计的相关概念和实例。
4.实验设备:提供计算机和编程环境,让同学们能够进行实际的编程练习。
五、教学评估本节课的教学评估将采用多元化的评估方式,以全面、客观、公正地评价同学们的学习成果。
评估方式包括:1.平时表现:考察同学们在课堂上的参与程度、提问回答、小组讨论等,占总评的20%。
2.作业:布置与课程内容相关的编程作业,让同学们巩固所学知识,占总评的30%。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《程序设计与算法(C#)二》课程教案一、课程说明1、课程代码: 0404832、总学时数: 64 ,其中理论环节学时数: 32 ,实验实践环节学时数: 363、学分: 6分4、适用专业:计算机应用技术5、本课程的性质、地位和作用本课程是计算机应用技术的一门重要的编程类专业课。
C#语言是针对网络技术应用而开发的语言,课程的主要教学内容以应用为主,以语法介绍为辅,主要包括C#语言基本语法、面向对象编程方法,C#开发Windows应用程序,C#开发Web应用程序等。
本课程的先修课是计算机应用基础或C语言,后续课程是基于C#的Web应用程序设计。
本课程是软件工程、信息系统开发、开发工具等课程的前驱课程。
《程序设计与算法(C#)》采用CAI课件,在多媒体教室讲授。
使用多媒体技术可以提高授课效率,可以现场运行、修改例子程序,实现直观教学,提高授课效果。
本课程以从实际应用出发,集应用与原理于一体,两部分内容互相联系,又各有侧重,力求做到理论联系实际,用理论来指导实际应用。
二、教学基本要求1、本课程的目的、任务课程的教学目的是培养学生使用NET平台开发桌面及网络应用程序的能力。
教学任务是让学生掌握C#语言的基本知识与技术,理解并树立面向对象的程序设计思想,培养运用Visual C#开发工具进行编程的能力。
2、本课程的教学要求课程的要求是培养学生面向对象编程的思想和能力及素质,为以后学习其它面向对象的编程语言打下坚实的基础。
本课程是一个实践性非常强的课程,要求学生要注重实践,在掌握C#语言的基本语法后,重点应放在提高编程能力的训练上。
主要教学方法与手段采用面课堂讲授与实习相结合;多媒体教学与传统教学相结合。
三、学时分配四、大纲具体内容(一)课程教案内容(根据实际安排,本课程《C#技术基础》一书分两学期上。
)第四章 C#面向对象程序设计基础(类的继承)【本节教学目的、要求】:让学生理解面向对象程序设计的概念和基本特征,学生能够熟练运用类定义、对象创建和使用对象的方法,类的成员及作用域,能设计多个具有层次结构的类,示范类的继承。
【本节教学重点、难点】:重点:类的和对象定义、类的成员的访问及作用域。
难点:类的继承,子类的创建,base与this的使用。
【本章主要教学要点、分配学时】:第一节:面向对象的基本概念、基本特征(0.5学时)第二节:子类的创建,类的继承规则,base与this的使用(1.5学时)【本章节实验、实训、或作业、练习、思考题】:实验:用面向对象的方法实现一个小学生“十以内数的加减乘除学习器”,提示用随机函数出题,由用户输入运算结果,程序判断对错。
思考题:1、什么是类,什么是对象?在C#中如何创建类,如何使用对象。
2、什么是继承,如何实现类的继承?第五章面向对象高级编程【本章教学目的、要求】:理解接口、委托和事件的概念;运用接口的定义、声明与实现方法,示范使用接口实现多重继承,运用委托与事件实现对象之间的信息安全传递;理解多态的概念,运用方法重载、方法重写以及抽象类和抽象方法实现类的多态;能够运用命名空间管理应用程序。
能够实现运算符的重载。
【本章教学重点、难点】:重点:利用接口实现多重继承、利用委托在事件之间实现信息传递难点:方法的重载、类的多态,运算符的重载【本章主要教学要点、分配学时】:第一节:接口、委托与事件;(2学时)第二节:方法重载、方法重写、抽象类与抽象方法;(2学时)第三节:运算符的重载;泛型(2学时)第四节:命名空间(2学时)【本章节实验、实训或作业、练习、思考题】:实验:用接口实现多继承,设计一个给小学生的“10以内的整数的加减乘除学习器”,出题由用户输入运算结果,程序判断对错。
思考题:1、在C#中如何创建接口、委托与事件?2、什么是多态,如何实现重载和重写?第六章窗体与常用控件【本章教学目的、要求】:掌握窗体的常用属性、事件和方法;常用控件的共有属性、事件和方法,区分常用控件的特有属性、事件和方法。
能够熟练运用Visual C#2005开发环境操作应用程序窗口以及窗口中的控件、窗口之间的调用;能够根据用户需求灵活运用标签、文本框、命名按钮、单/复选按钮、列表框等常用控件,设计用户应用程序窗口界面,编写代码实现控件属性设置、事件处理。
能够编写简单的Windows Form应用程序,实现程序的基本功能。
【本章教学重点、难点】:重点:窗体的常用属性、事件和方法;标签、文本框、命名按钮、单/复选按钮、列表框等常用控件的属性,使用,编写代码实现控件属性的设置,事件处理。
难点:标签、文本框、命名按钮、单/复选按钮、列表框等常用控件的属性,使用,编写代码实现控件属性的设置,事件处理。
【本章主要教学要点、分配学时】:第一节:创建窗体;窗体的属性、事件、方法;窗体中控件的操作;窗体的基本操作。
(1学时)第二节:Label、TextBox与Button控件;(1学时)第三节:RadioButton、CheckBox与GroupBox控件;(0.5学时)第四节:列表框控件(0.5学时)第五节:PictureBox、Timer、DataTimePicker控件。
(1学时)【本章节实验、实训、或作业、练习、思考题】:实验:制作一个学生选课系统,系统由两个窗体组成,一个窗体作为系统登录界面,另一个窗体用来完成学生选课。
思考题:1、Windows窗体有哪些常用属性和方法?向窗体中添加控件的方法有哪些?2、组合框有几种类型?每种组合框有什么特点?第七章窗体界面高级编程【本章教学目的、要求】:学生能够理解窗体界面设计的原则,能够运用MenuStrip等菜单控件设计实现应用程序窗体主菜单、快捷菜单、编写菜单事件的处理代码,实现菜单功能;运用工具栏与状态栏控件设计实现应用程序窗体的工具栏和状态栏,编写菜单事件处理代码,实现工具栏和状态栏按钮功能。
并能实现应用程序的MDI窗体。
【本章教学重点、难点】:重点:运用MenuStrip等菜单控件设计实现应用程序窗体主菜单、快捷菜单、编写菜单事件的处理代码,实现菜单功能;运用工具栏与状态栏控件设计实现应用程序窗体的工具栏和状态栏,编写菜单事件处理代码,实现工具栏和状态栏按钮功能难点:编写菜单事件处理代码【本章主要教学要点、分配学时】:第一节:窗体界面设计概述(0.5学时)第二节:主菜单、快捷菜单的设计(1.5学时)第三节:工具栏、状态栏试设计,设计可依靠的菜单和工具栏(2学时)第四节:创建MDI应用程序。
(2学时)【节实验、实训、或作业、练习、思考题】:实验:制作教学管理系统软件的主界面,要求加入工具栏和状态栏,工具栏按钮与菜单命令对应,状态栏显示系统时间、工具按钮提示、当前子窗体状态等信息。
思考题:1、常见的用户界面有几类?设计用户界面的基本原则是什么;2、如何创建下拉式菜单和弹出式菜单、工具栏和状态栏。
第八章文件与对话框【本章教学目的、要求】:学生能够利用文件管理控件编写文件资源管理程序;运用Directory类实现文件夹创建、删除和设置等操作;熟练运用File和FileInfo类实现文件管理程序;运用FileStream类、StreamReader类和StreamWriter类编写文件读写程序;能够运用对话框类编写调用通用对话框应用程序;运用打印对话框类编写打印程序;能够设计简单的文件管理、读写、打印程序。
【本章教学重点、难点】:重点:文件资源管理程序的编写;文件的创建、删除和设置的操作;难点:通用对话框应用程序、打印程序的编写【本章主要教学要点、分配学时】:第一节:DriveListBox、DirListBox、FileListBox控件(1学时)第二节:文件夹的创建、删除、查看和设置文件夹信息(1学时)第三节:文件的管理、读/写操作(1.5学时)第四节:通用对话框的设计(1学时)第五节:打印、设置类对话框(1学时)第六节:自定义对话框(0.5学时)【本章节实验、实训、或作业、练习、思考题】:实验:1、创建教材图8-26所示的带有工具栏和状态栏的文本编辑器、实现文本编辑器菜单中所有菜单项的功能,要求菜单功能与Windows应用软件相关的菜单功能相同或相近,符合用户的操作习惯。
2、在实验1的基础上,实现工具栏按钮的功能与菜单项对应,状态栏上显示系统时间和当前操作的命令。
思考题:1、如何获取文件的属性信息?2、如何创建和使用通用对话框?第九章数据库编程基础【本章教学目的、要求】:了解数据库系统、关系数据库的概念,了解中Connection、Command、DataReader等对象的常用属性与方法;熟练运用Connection、Command、DataReader、DataSet、DataTable、DataColumn、DataAdapter等对象编写数据库连接类,实现数据库应用程序的三层结构。
掌握DataGridView控件的使用。
【本章教学重点、难点】:重点:Connection、Command、DataReader、DataSet、DataTable、DataColumn、DataAdapter等对象的常用属性和方法的使用。
难点:数据库连接类的编写。
【本章主要教学要点、分配学时】:第一节:数据库系统的概念、关系数据库的概念、常用SQL语句(0.5学时)第二节:基础:Connection、Command、DataReader、DataSet、DataTable、DataColumn、DataAdapte对象(1.5学时)第三节:数据绑定(1.5学时)第四节:建立报表、浏览和打印报表(0.5学时)【本章节实验、实训、或作业、练习、思考题】:实验:1、利用常用对象编程、利用绑定控件、报表控件等进行数据的绑定。
2、创建一个学生信息管理系统,具体要求见教材P281思考题:1、简述访问数据库的基本步骤、如何创建和使用对象访问数据库第十章 Web服务、程序调试和异常处理【本章教学目的、要求】:创建和访问Web服务,运用Web服务与DataSet对象,二进制文件、Session对象等实现数据和用户状态的传递;运用程序调试方法排除程序错误;运用异常处理方法处理应用程序异常。
【本章教学重点、难点】:重点:运用Web服务与DataSet对象,二进制文件、Session对象等实现数据和用户状态的传递难点:运用程序调试方法排除程序错误;运用异常处理方法处理应用程序异常。
数据库连接类的编写。
【本章主要教学要点、分配学时】:第一节:Web服务基础(0.5学时)第二节:Web服务和DataSet、Web服务和二进制文件、Web服务和应用程序状态(0.5学时)第三节:程序错误类型和程序调试(0.5学时)第四节:异常处理(0.5学时)【本章节实验、实训、或作业、练习、思考题】:实验:1、Web服务与错误调试思考题:1、什么是断点,断点有什么作用?如何给程序设计断点?(二)实验课程教案内容实验一面向对象的程序设计一、实验目的1、掌握类和对象的创建及使用方法2、掌握类继承的方法3、掌握类多态的实现二、实验内容用面向对象的方法实现一个小学生“10以内数的加减乘除学习器”,提示用随机函数出题;由用户输入运算结果,程序判断对错。