资源预览内容
第1页 / 共118页
第2页 / 共118页
第3页 / 共118页
第4页 / 共118页
第5页 / 共118页
第6页 / 共118页
第7页 / 共118页
第8页 / 共118页
第9页 / 共118页
第10页 / 共118页
亲,该文档总共118页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
“C+ 程序设计”笔 记( 课程名:计算引论 )( 教材:钱能 清华大学出版社)(本笔记中的例题均在VC+ 6.0环境下通过)1 C+ 入门1.1 从C到C1980年:贝尔实验室开始对C进行改进和扩充带类的C1983年:取名C+1994年:制定ANSI(美国国家标准协会:American National Standards Institute)C+标准草案1994:不断发展目前的C+C:包括了整个C:C的全部特征、属性、优点 支持面向对象编程(OOP) 包括过程性语言部分和类部分过程性语言部分:与C无本质上的区别类部分:面向对象程序设计的主体先是函数语言,面向对象语言1.2 程序与语言程序 算法 数据结构 程序设计方法 语言工具 环境C+语言的数据结构:以数据类型的形式体现。程序:是软件 对机器而言:按硬件设计规范编制的动作序列(即:机器指令序列) 对人而言: 用语言(高、低级语言) 编写的语句序列程序语言的发展:低级语言 高级语言程序设计首要目标:可读性、易维护性、可移植性1.3 结构化程序设计是面向过程的程序设计主要思想:功能分解、逐步求精缺点:可重用性极差1.4 面向对象程序设计基本思想:把信息和对这些信息的处理作为一个整体C:是支持面向对象程序设计的语言C的三大特性:封装性(数据隐藏) 继承性(软件重用) 多态性(函数重载)开始结束编写源程序编写源程序编写源程序编译正确?正确?正确?否否否1.5 程序开发过程注释:/* */ 和 /编译预处理:#程序体C程序结构1.6 最简单的程序程序体:程序体由声明语句和函数组成例:/文件名:abc.cpp/* 该程序的功能是: 输出:I am a student. */#includevoid main() coutI am a student.n; 说明:1. 大小写区分(即:abc 与Abc不同)2. C系统是函数驱动的,一个可执行程序必须有、且只能有一个主函数:main(),作为程序的入口3. C语句以分号(;)结束,一行可以写多条语句,一条语句可以分多行写4. 所有的对象(变量)必须先定义,或先声明、后使用5. 以双引号括起的为字符串常量,里边的为转义字符例:#include int x=5,X=10;void main() int y=x*x; couty=x*x=y y=X*X=X*X n:n; /* 执行结果:y=x*x=25 y=X*X=100: */1.7 函数 函数说明部分函数属性 内部函数 | 外部函数 函数返回类型函数名函数形参名函数形参类型说明对象定义或声明语句执行部分函数体语句 语句函数的组成:函数格式:函数属性标识符 函数返回类型标识符 函数名(形参说明列表) 其中形参说明列表:如果有多个形参,各形参之间用逗号(,)分隔说明:1. 一个函数如果没有返回值,则函数的返回类型标识符用“void ”代替,函数体中不必有return语句(如果有return语句,仅仅起提前返回的作用);否则用返回值的类型标识符,函数体中必须有return语句。2. 函数与函数之间的关系是调用与被调用的关系,main()函数只能是调用函数,不可以被调用。3. 一个函数内部不可以定义另一个函数,只可以调用另一个函数。4. 函数只有定义或被声明后,才可以被调用。函数声明:由函数原型加分号组成。例:int max(int,int);函数原型:返回类型 函数名(形参类型,形参类型)例:#include int max(int,int); /函数声明语句:函数原型加分号void main() int x=109,y=110; coutmax(x,y)endl; /函数调用int max(int x,int y) /被调用函数定义 if(xy) return y; else return x;函数:标准库函数 用户自定义函数2 基本数据类型与输入输出2.1 字符集与保留字C中容许出现的字符:26个大写字母26个小写字母10个数字其他符号:空格 + - * / = , . _ : ; ? | ! # % & ( ) C保留字:2.2 基本数据类型数据(对象):常量、变量每个数据都具有类型,即:每个数据必属于某个类型。C的数据类型基本类型整型: int字符型:char实型(浮点型)单精度型:float双精度型:double构造类型指针类型:type *空类型: void数组型: type 结构体型:struct 公用体型:union枚举型: enum类: class变量:存储信息的单元,每个变量对应一段连续的内存空间内存空间的最小单位:字节数据类型的作用:编译器预算对象分配的内存空间大小注意:数据无“void”类型,指针有“void”类型 不同的计算机,各类型的变量所占内存空间有所不同bool型:在ANSI C+ 中具有ANSI:美国国家标准协会(American National Standards Institute)求某个类型的变量所占内存长度:利用运算符sizeof例:#include void main() short int x1; int x2; char y; /long double z; coutsizeof(x1) sizeof(x2) sizeof(y) sizeof(float) sizeof(double) sizeof(long double)endl; /执行结果:2 4 1 4 8 82.3 变量定义变量:在程序的运行期间,值会变、或值可变的数据量。变量名:每个变量必须有名,即:变量标识符。1. 命名变量名规定:1 不能与C的保留字、库函数名、类名、对象名同名 2 只能由26个大小写字母、数字和下划线组成 3 只能以字母或下划线开头命名规则和程序书写风格:变量定义变量定义:每个变量必须被确定类型、变量名。 例如:int x,y; 注意:一条语句中只能定义同一类型的一个或多个变量规定:变量必须“先定义、后使用”。程序编译时将分配存储单元,及进行语法检查。唯一性:一个变量一个名,不同的名表示不同的变量。2. 变量赋值与初始化变量初始化:在定义变量的同时进行赋值例:int x=5,y,z=9;变量赋值:利用赋值运算符进行值的更新例:int x=5; /x初始化为5x=100; /把100赋给xx=x/2+7; /把x/2+7的计算结果赋给x,即:x=573. 给类型起“别名”:typedef例:#include typedef short int I; /把I 作为short int的别名void main() I x1; int x2; char y; coutsizeof(x1) sizeof(x2) sizeof(y) sizeof(float) sizeof(double)endl;/执行结果:2 4 1 4 8注意:typedef并不产生新的类型2.4 常量常量:常数、或在程序运行过程中值始终不变的数据量。例如:x = 5 + 19.7; 其中5和19.7就是常量常量有类型:5-整型 19.7-实型 a-字符型1. 整型常量C提供3种表示整型常量的形式:十进制: 123, 123, 0;八进制: 以0(零)开头的整数常量 例如:0123, 即:-0123:表示八进制的负数123,为十进制的-83。十六进制:以0x(零和x)开头的整数常量 例如:0x123, 即:-0x123:表示八进制的负数123,为十进制的-291。例:#include void main() cout123 0123 -0123 0x15 -0x15 0x123 -0x123endl; /执行结果:123 83 -83 21 -21 291 -291整型常量的类型:整型常量有类型,系统自动识别 在整型常量的后面加字母“L”或“l”(小写),表示该常量是长整型的。注意:常量无unsigned型2. 实型常量C+ 提供2种实型常量的表示形式:十进制:由数字和小数点组成。必须带小数点例如:12.123、 0.0、 .0、 0.、 9453.13124指数形式:数字E(或e)整数。E前必须有数字,E后必须是整数例如:123E3(或:123e3) 即:1.234e5 即:有效位:单精度(float)7位 双精度(double) 15位实型常量在内存中所占字节数:以double型进行存储,占8字节。但是,在后面加f,则以float型存储,占4字节例:#include void main() coutsizeof(1.23) sizeof(1.23f)endl; /执行结果:8 43. 字符常量用单引号括起的单个字符特殊字符以“”开头例如:1,0,/,=,a,b,?,% n,t, a=a; a=A; a=101; 8进制的101 等于10进制的65,ASC值为65的字符是:A 所以,实际上:a=A;注意:在内存中,字符以ASC码存储,是以整数表示的所以,字符和整数之间可以互相赋值例:#include void main() int x1=A,x2=
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号