




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 绪论内容摘要:一 计算机工作原理1 冯诺依曼提出的三大基本思想2 计算机内部存储信息的形式(原码、反码、补码和ASCII码)3 存储程序的思想二 程序设计语言的基础知识1 机器语言的概念2 汇编语言的概念3 语言处理程序的概念与功能4 面向过程的高级语言5 面向对象的可视化语言三 C+调试程序的步骤四 面向对象方法的基本概念1 OOP的概念OOP(Object-oriented Programming),即面向对象的程序设计方法,并不是一种程序设计语言,而是一种新的概念-关于数据、过程和它们之间关系的一种新的思考方法,它所依赖的最基本的概念是封装性和可重用性。OOP所具有的新意是数据与过程的统一,即把数据和过程看作一个整体对象。2 OOP技术的基本元素对象对象是OOP技术的核心。所谓对象,从理论上说就是对客观世界事物的表示和描述;从程序设计的角度,就是数据以及对这些数据进行操作代码封装在一起所构成的独立实体,它是类的一个实例。对象是在程序执行过程中由其所属的类动态生成的,一个类可以生成多个不同的对象。对象里的数据只能由对象的代码来访问,而代码是对象私有的,不能被其它对象所修改。消息消息是要求某个对象执行某个功能操作的规格说明,对象只有接收到消息时,其行为才能被激活。在C+中,消息实质上对应对象成员函数的调用。方法方法是指实现对象所具有的功能操作的代码,体现了对象的一种行为。方法由方法名和对应的一组代码组成,对象中可包括多个方法,不同的对象对同样的消息会做出不同的响应。在C+中,方法实质上是对象中的成员函数。类类是对一组对象的抽象归纳,亦即:对一组具有相同数据成员和相同操作成员对象的定义或说明。继承继承是类与类之间的一种相互关系,即联结类与类之间层次关系的模型,类继承其超类的特点,属于子类中的对象,自然也有所属父类的性质和功能。继承的一个重要作用是在多个对象中免除了重复部分的代码。继承是一个能自动传播代码的工具。五个基本元素之间的关系:对象是由数据和代码组成的不可分割的整体。消息传递给对象,然后激活在对象中的方法和代码。对象可按类划分,它们的许多性质和功能可以从其上层类中得到继承。3 OOP技术的特点OOP的封装性减少了模块间的相互影响,从而简化了系统的复杂性。隐藏的方法代码和消息激活方式使程序设计者的工作从以程序性为主变革到非程序性为主OOP中的继承性避免了系统中的冗余现象。OOP中的封装性和代码的可重用性原理是提高软件开发生产率的关键。五 C+语言与OOP的基本特征1 封装在C+中的实现把一个数据结构同操作的函数(行为或方法)组合在一起,封装借助新的数据类型-类实现的。2 可重用性在C+中实现以类的继承和派生的方式实现程序的重用机制。3 多态性通过函数与运算符重载,通过派生类中虚函数的多重定义,实现多种情况下的多态特征,明显提高程序水平。4 通过模板等特征实现了类型和函数定义的参数化,进一步提高抽象的层次。习题一 简答题1 解释语言处理程序的概念和功能。2 解释面向对象程序语言中的“类”、“对象”、“继承”的概念。3 面向对象的程序设计语言有哪些基本特征?在C+中如何实现的。二 填空题1 C+程序设计语言中处理数据的函数实质上是OOP中的 1 ,它与 2 被封装在一个单元中。2 C+程序设计语言源自于 3 ,它在 4 的基础上增加了面向对象的特征。3 面向对象程序语言是通过 5 来访问数据的。4 C+语言是面向 6 的语言,C语言是面向 7 的语言。5 用C+语言书写的源程序要经过 8 处理方式将其处理成目标程序,目标程序要经过 9 处理过程,最终形成可执行程序。6 若一整数的原码为01100100,则其反码是 10 、补码为 11 。7 若一整数的原码为11100100,则其反码是 12 、补码为 13 。8 补码的补码是 14 。9 计算机惟一能够识别的程序是 15 语言程序。10 存储程序的思想是指计算机在执行某一程序代码时,首先将该程序代码调入 16 ,然后进行自动执行的过程。第二章 C+语言初步一 C+语言的基本符号1 字符集字符集是构成C+语言程序的基本元素。用C+语言编写程序时,除字符型数据外,其它所有的成分都只能由字符集中的字符构成。C+字符集有:英文字母:A-Z;a-z数字字符:0-9数字特殊字符:空格 ! # % * (下划线) + = - / ; . , ( ) 2 词法记号词法记号是最小的词法单元,由一个或多个基本符号组成。关键字关键字是C+预定义的单词,具有专门的含义。如:void char #include bool default const auto等标识符标识符是程序员在程序中声明的单词,命名程序正文中的一些实体。如:函数名、变量名、数组名、类名、对象名等。C+标识符的构成原则:I 以字母或下划线开始II 由字母、数字、下划线构成III 标识符区分英文字母的大小写IV 不能是C+关键字文字文字是在程序中直接用符号表示的数据,包括数字、字符、字符串和布尔文字。操作符(运算符)操作符是用于表示各种运算(加工)的符号。如:*,/,+等。分隔符分隔符用于分隔各个词法记号或程序正文,它不表示任何操作,仅用于构造程序。如:( ), ,空格等。空白程序在编译时,编译器将程序正文分解为词法记号和空白。空白:空格符、制表符、换行符和注释。空白用于指示词法记号的开始和结束位置,其余的空白将被忽略。因此,在程序正文中凡是空格的地方,都可换行。C+中的注释:I 用“/*”与“*/”括起来的文字。II 从“/”开始,直到它所在行尾的所有文字。注释在程序中的作用是对程序进行注解和说明,编译时,注释被当作空白而忽略掉。二 C+程序的基本框架1 函数main()是C+程序中惟一必不可少的函数C+程序由main()或一个main()及其它函数组成C+程序的执行是从main()的第一条语句开始的,而与main()在程序中的书写位置无关main()函数在执行过程中,可调用其它函数,但不能被其它函数所调用。其调用只能被操作系统自动调用,它是C+程序运行的入口。main()函数的返回值类型只能为void、int类型。main()函数可带参数。2 译的预处理命令文件包含命令格式:#include #include filename说明:u 每一include命令只能指定一个包含文件u 被包含文件的格式为文本文件且内容只能是C+的源程序u 文件的包含可以嵌套u 文件包含实质上是将多个文件的内容组合成一个源程序,作为一个整体进行编译,与链接的概念不同宏定义不带参数的宏定义与带参数的宏定义说明:u 宏名习惯用大写字母命名,以示与变量的区别u 使用宏名代替一个字符串,可以减少程序重复书写的工作量u 在进行宏替换时,只作简单的字符串转换,并不作正确性检查u 宏定义不是C+的语句,不必加分号。如果加分号,则连同分号一起置换u 宏名的有效范围为定义命令之后到源文件结束,可用#undef命令终止宏定义的作用域u 在进行宏定义时,可以用已定义的宏名,层层置换u 在字符串内所出现的宏名,属于字符串的内容,不进行置换u 宏定义与变量不同,只作字符串替换,不分配内存空间u 带参数宏的展开只是将语句中的宏名后括号内的实参字符串代替形参,其并没有类型的意义u 宏替换不占运行时间,只占编译时间三 C+中的I/O语句1 I/O流C+中,将数据从一个对象到另一个对象的流动抽象为流。输入流:数据从输入设备(键盘)、文件到内存(变量)的流动输出流:数据从内存(变量)到输出设备(显示器)、文件的流动数据输入/输出的实现:通过I/O流来实现的cin:是系统预定义的流对象,用来处理标准输入(键盘输入)cout:是系统预定义的流对象,用来处理标准输出(屏幕输出)2 插入符与提取符插入符作用在cout上可实现屏幕输出,提取符作用在cin上可实现键盘输入在进行键盘输入时,空格或回车作为数据的分隔符在进行键盘输入时,以回车作为数据输入的结束标记3 简单的I/O格式控制要求:必须有 #include 格式控制:dec 十进制整型格式 endl插入换行 hex 十六进制整型格式 setw(int) 设置数据输出域宽 oct 八进制整型格式 setprecision(int) 设置输出小数位数第三章 基本数据类型及基本运算内容摘要:一 基本数据类型及派生类型1 数据类型的概念数据类型研究的是数据存储属性及其操作属性,C+中数据都是有类型的,也就是讲,依据数据的操作属性与存储属性进行数据分类,是数据类型解决的问题。数据类型的本质应从以下几个方面进行理解:l 每一项数据应惟一的属于某种类型l 每一数据类型意味着一个明确定义的值的集合l 同一类型的数据占用相同大小的内存空间l 同一类型的数据具有相同的运算操作集学习数据类型达到的目的:l 解决数据在程序中如何表示l 解决数据在内存的存储-内存单元的分配(变量)l 解决数据加工的描述(运算符及表达式)C+的数据类型l 基本类型:系统预定义的类型l 导出类型:同基本类型或自定义类型按某种规律构造的类型,如:数组、枚举、结构体、共用体类型等。2 基本类型基本数据类型的特征:l 由系统定义与提供l 是构造其它类型的原始出发点l 几乎所有的高级程序设计语言都包含基本数据类型整型数据类型1) 基本整型( int )数据存储的形式:补码数据存储长度:16位操作系统:2字节;32位操作系统:4个字节取值范围:或2) 短整型(类型修饰)类型名:short int 或 short数据存储长度:不大于基本整型 记住:32位操作系统:2个字节3) 长整型(类型修饰)类型名:long int 或 long数据存储长度:不小于基本整型。记住:32位操作系统:4个字节4) 无符号整型(访问修饰)其数据存储形式是将对应的整型类型的最高位不再处理为符号位,而是当作数据位,具体分类为:实型数据类型1) 单精度实型类型名:float存储长度:4个字节范围:有效位:7位2) 双精度实型类型名:double存储长度:8个字节范围:有效位:位字符型数据类型:类型名: char存储长度:1个字节存储形式:字符的ASCII码,与int类型通用空类型:类型名:void用途:声明函数返回类型、函数的形参类型(无形参)、指针值类型布尔类型(逻辑类型):类型名:bool值:逻辑真:true-对应整型1;逻辑假:false-对应整型0存储长度:1个字节记住:在C+中,将非零值解释为逻辑真,将零值解释为逻辑假二 说明语句1语句语句是C+程序中的基本功能单元,意味着某种处理动作或处理序列。语句的分类:n 说明语句:定义性说明语句:创建对象、初始化对象引用性说明语句:对已创建对象进行引用性说明,不允许初始化n 表达语句:由表达式加分号构成n 函数调用语句:由函数调用加分号构成n 控制语句:用于改变程序的执行顺序。分为条件控制语句(分支、循环)与无条件控制语句(return、break、continue)n 复合语句:由花括号括起来的语句序列,当作一组,也称块语句。n 空语句:由独立的分号构成,表示空操作。2常量与变量1) 常量概念:在程序运行过程中不能改变的数值,可分为字面常量与符号常量(有名常量)。常量有确定的类型。各类字面常量的描述整型常量(十进制、八进制、十六进制);实常量(小数形式、指数形式);字符常量(转义字符、ddd、xdd形式);字符串常量(字符串);布尔常量(true、false)。注意:u 实常量在C+中按double型处理,若强型按float型处理需加f后缀u 字符数据可解释为1个字节的整型u 字符串实质是字符数据的构造类型(连续存储)及其串长的概念u 在整常量加L、u后缀分别表示长整型与无符号整型。符号常量:const修饰限定;无参数的宏定义记住:const常量分配相应的内存单元,但其值不允许改变。而宏无类型、无内存单元,仅是字符串置换。2)变量实质:u 赋给变量一标识符作为其名u 指定变量存储数据的类型u 定义变量,分配相应的内存单元变量的值:存放在对应内存单元的内容变量的定义与初始化(两种形式)3关于字符型数据的输入/输出再讨论问题的提出:cin变量名;对字符型数据无法输入空格问题的解决:u cin.get( c )可完成任意键盘输入的字符u 变体:cin.get( c).get( c );可完成多字符输入u 字符输出:cout.put( c ) 字符串的拼接:任何两个由空格分隔的字符串常量自动合并拼接成一个字符串4用typedef进行类型定义三运算符1运算符要求掌握的要素u 运算符的功能u 运算符与操作数的关系(操作数的数目、操作数的类型)u 运算符的优先级别(不同级运算符的运算顺序)u 运算符的结合方向(同级运算符的运算顺序)2基本的运算符算术运算符:+ - * / %赋值运算符:=自增、自减运算符:+ -关系运算符: = (同级,高) = = != (同级,低)逻辑运算符:!(单目) & | (优先级顺序)位运算符: & | (优先级顺序)复合的赋值算符:+= - = *= /= %= = |= = &=条件算符、逗号运算符、求字节运算符、强制类型转换算符说明:n 算术算符中的除运算符,若操作数都为整型,则结果为整型n 算术算符中的%运算符要求操作数为整型n 自增、自减算符只能作用于左值对象n 关系运算与逻辑运算的结果为整型数据,因此其表达式可作为其它表达式中的操作数n 在由&和|运算符组成的逻辑表达中,只对能够确定整个表达式值所需要的最少数目的子表达式进行运算n 位运算符只能作用于整型数据与字符型数据,其结果为算术值n 并非所有的双目算符与赋值算符都能构成复合的赋值算符n sizeof算符的运算对象若为数组名,其结果为数组所有元素字节数的总和3算符的优先级别C+算符优先级别由高到低的顺序为:元素/成员算符单目算符双目算符条件算符赋值算符逗号算符双目算符优先级别由高到低的顺序为:算术算符移位算符关系算符逻辑位运算符逻辑运算符4运算符的结合性右结合性:单目算符、条件算符、赋值算符(复合赋值算符)左结合性:双目算符、逗号算符5表达式的值和类型表达式的类型由运算符的类型与操作数的类型确定,其类型转换包括隐含(自动)转换(由系统自动完成)与强制类型转换在下述三种情形下,若出现类型不同情况时,系统将进行隐含转换:n 赋值运算时,右值的类型与左值的类型不同时n 表达式中包含不同类型的操作数时n 函数调用,实参与形参的类型不一致时记住,表达式中操作数类型自动转换原则如下:n 自动整型提升:表达式中将逻辑型、字符型、短整型自动转换为整型n 不同类型进行运算时,将较小类型转换为较大类型记住,整型从小到大的顺序为:bool、char、signed char、unsigned charshortunsigned shortintunsigned intlongunsigned long浮点类型从小到大的顺序为:floatdoublelong double结论:表达式的类型在完成整型提升后,为操作数中类型最高的类型习题一名词解释数据类型;变量;流;输入流;输出流;二选择题1下面四组变量命名,完全符合C+变量命名原则的是( )Adata_class B. 2001_class C. int_class D. Class char_name name char_name Name data-name age int_age Age/20 char_tel tel char_tel Tel2下面四组变量名命中,不符合C+变量命名规则的是( )Acc B. 6x C. wl D. ye_78 Aver char year78 wo3下面四组标识符中属于C+关键字的是( )Abool B. double C. sizeof D. 包括A、B、C for float if const long short static void return4下面四组标识符中不属于C+关键字的是( )Aswitch B. break C. main D. continue false char cin case5假设有两个变量a=65432和b=a*2,在保证数据正确存储的前提下,以下变量类型定义错误的是( )Aint a; B. unsigned short a; C. unsigned short a; D. int a; int b; signed int b; unsigned short b; signed int b;6假设有变量a、b和p均已经定义如下,计算结果不精确的是( ) int a=3,b=4; double p;Ap=(double)a/(a+b) B. p=a/(a+b)C. p=double(a)/(a+b) D. p=double(a)/double(a+b)7以下程序运行时,最后一次num和static_num的输出值是( )Anum=0 static_num=9 B. num=1 static_num=9C. num=9 static_num=9 D. num=0 static_num=10 #includevoid test()int num=0;static int static_num=0;coutnum=num static_num=static_numendl;num+;static_num+;void main()for(int i=0;i10;i+)test();8以下程序的输出结果是( )At1=true B. t1=8 C. t1=false D. t1=1 t2=false t2=0 t2=true t2=0 t3=true t3=-1 t3=false t3=1 #includevoid main()bool t1=8;bool t2=0;bool t3=-1;coutt1=t1endl;coutt2=t2endl;coutt3=t3 D. &15下列各算术运算符是,不能作用于实型数据类型的是( )A/ B. & C. ! D. 16下列各运算符中,优先级最高的是( )A+(加运算符) B. *(单目) C. b)+(int(b)%2) D. -a+b20下列表达式中,合法的是( ) 已知:double a=3.4; int b=3;Aa2 B. (a+b)|b C. !a*=b D. a=5,b=3.1,a+b21下列关于类型转换的描述中,错误的是( )A在不同类型操作数组成的表达式中,其表达式类型一定是最高类型doubleB逗号表达式的类型是最后一个表达式的类型C赋值表达式的类型是左值的类型D在由低向高的类型转换中是保值映射22假设有0xaf和0xa7两个十六进制数,若用运算符,其运算结果是( )A0xa2 B. 0xff C. 0x5d D. 0x5f23下列语句中不能完成算术表达式65*4/2操作的是( )Aint a=64,b=4,c=2; B. int z=64*4/2; int z=a*b/2C. int a=64,b=4,c=2; D. int z=641; int z=ac;24假设有a和b两个数要求比较大小,然后将数值小的数乘以2并输出结果,以下程序段中不能完成此要求的是( )Aab? min=a:min=b; min*=2; cout”min=”minendl;Bif(ab) min=a;else min=b; min*=2; cout”min=”minendl;Cab? min=a:min=b; min=min1; cout”min=”minendl;Da1; cout”min=”minendl;25以下程序的输出结果是( )Afalse B. 5 C. 1 D. true #includevoid main()int x=2,y=3,z=4;int t=+x&+y|+z;couttendl;26以下程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025官方版设备购买借款合同范本
- 2025合作出版合同模板
- 2025美容院正式劳动合同书
- 2025授权代理协议合同示范文本
- 2 高级仪表工选择练习题含答案-3
- 外卖门店订单管理制度
- 党员学习讲堂管理制度
- 公司晨会考勤管理制度
- 培训课堂用具管理制度
- 医院员工待岗管理制度
- 2025年暑假安全教育家长会
- 23《祖先的摇篮》(教学设计)2023-2024学年统编版语文二年级下册
- 2024年深圳市烟草专卖局招聘笔试真题
- 齐鲁名校大联考2025届山东省高三第七次学业水平联合检测语文试题及答案
- 外科肛肠科试题及答案
- 骨科围手术期的疼痛护理
- 子宫颈炎护理查房
- 严重过敏反应诊断和临床管理专家共识(2025年版)解读
- 中国2型糖尿病运动治疗指南(2024版)解读 2
- 北师大版五年级数学下册典型例题第六单元:确定位置和描述路线专项练习(原卷版+解析)
- 旱地划龙舟课件
评论
0/150
提交评论