达内C++课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《达内C++课件.ppt》由用户(无敌的果实)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课件
- 资源描述:
-
1、The C+ Programming Language Chapter 1,C+ Programming in UNIX,课程介绍 C+ 语法基础 面向对象程序设计的概念 大量的编程实践 目标 熟练掌握C+语法 具有面向对象程序设计的概念与能力 能熟练阅读复杂的C+程序源代码 能独立的设计与完成面向对象的C+程序,课程内容简介 1,C+语言基础 保留字 变量,常量 表达式 语句 函数 程序的结构 数据结构与算法 数组、指针、引用、结构、链表与栈,课程内容简介 2,C+面向对象编程 类 构造函数与析构函数 静态成员与友员 函数重载 继承与多态 I/O流 模板 异常,程序设计语言介绍1,What
2、computer understand? bits Assembler Language Limited structure Global scope Machine code Primitive High-Level Language Function decomposition Data separation High level structure,程序设计语言介绍2,Block Structured Language Encapsulation Flexible data scoping Modularization Object-Oriented Language Inheritan
3、ce Polymorphism Abstract data types,C+程序设计语言,1972,AT&T, Bell Lab. Dennis Ritche, C language 1980, Bell Lab. Bjarne Stroustrup, C extension, 1983, C+ named 1997, ANSI (American National Standards Institute) C+ (standard C+),What C+ will we learn in this course ?,Standard C+: ANSI C+ is more scalable
4、to different platform such as Unix, Microsoft windows, Mac The standard C+ library got supported by most of industry providers. Youd better dont know C. ? We will try to avoid C library and C syntax. A C+ file can be with .cc, .cp, .cpp extensions.,为什么选标准 C+,ANSI 规范了C+的标准, 使之具有高度的可移植性。 程序能够运行得很快,可直接
5、操作系统资源,保持机器层次的实现细节。 不要求图形环境, 对系统要求相对较低。 易于解决与旧工程的接口以及在数据库,存储和性能方面的技术限制。 C+ 是一种面向对象的多范型语言,可以将面向对象的模型映射成为C+ 的结构。它为开发者设计和编写一个解决方案提供了一定的选择范围。,C+的优点,Supports data abstraction and object-oriented programming Contains all existing features of C, making the migration from C to C+ relatively easy Is as porta
6、ble and efficient as C Can be linked to existing C libraries and functions Provides strong static-type checking Is a general-purpose language,程序员应该具备的计算机知识1,操作系统与应用程序 运行环境与运行机制 系统与命令 运行环境与命令行参数 进程 栈 堆,Binary and Hexadecimal,Binary: 0101 1000 Decimal: 88 Hexadecimal: 0x58 1 byte = 8 bits.,程序员应该具备的计算机
7、知识2,编辑器 编译器 编译器的功能 解释执行与编译执行的差别 熟悉自己常用的编译器,查错能力 连接器 库与库函数 系统调用,软件开发周期,Software Lifecycle,开发 测试 维护 更新,熟悉你的环境,可用的UNIX服务器 192.168.0.21 192.168.0.23 192.168.0.26 Telnet命令介绍: telnet 192.168.0.21 Login: use your registered user account. Password: type in your pass word.,创建自己的学习帐号,telnet ,login: tarena Pas
8、sword: tarena 欢迎使用达内科技(中国)公司开放实验室的服务! Welcome to the OpenLab of Tarena Technologies Inc. Cananda. 请按照以下提示创建您的用户帐号. Please follow the steps to create your own account. (请输入您要注册的帐号)Please enter your new account name:XXXXXXXX (请输入您的E-Mail地址)Please enter your email address: XXXYYY.ZZZ,用自己的帐号登录UNIX服务器,Es
9、cape character is . SunOS 5.8 login: XXXXXXX Choose a new password. New password: *,程序员经常用到的UNIX命令1,简单的文件维护与管理 ls, cd, mkdir, rm, cp, mv, cat, more 源程序的编写 vi, ed 编译与连接 gcc, g+, ld 运行与调试 adb,gdb,程序员经常用到的UNIX命令2,查看运行状态 % ps ef % grep aaa a.txt (aaa is the chars in the file name a.txt) % prstat (ctrl D
10、 to exit) % kill pid (pid is a process id),第一个UNIX上的C+程序,用vi编辑器来编写hello.cc源程序 % vi hello.cc,/*the first C+ program*/ #include using namespace std; /main function int main() cout “Hello world!“ endl; cout “This is my first C+ program.n“; ,g的常用参数,- c 编译成目标文件.o - o指定输出文件名,输出文件名跟在-o后面,用空格分隔。如果不使用这个选项,缺省
11、的输出文件名为a.out。 - g产生有调试信息的可执行文件 - w不产生警告信息 - l 连接指定的库文件 - L指定库文件的路径 - i 要包含的头文件 - I 头文件的路径 - E 显示预处理后的程序文件到屏幕上,可以用-o指定输出到文件 - S 产生汇编程序 如果没有c、E、S就会生成可执行文件,编译hello.cc,% g+ -c hello.cc % ls,连接hello.o,% g+ -o hello hello.o % ls % g+ hello.o % ls,运行hello 程序,% hello % a.out,C+程序的基本结构1,/*the first C+ progra
12、m*/ #include using namespace std; /main function int main() cout “Hello world!“ endl; cout “This is my first C+ program.n“; ,C+程序的基本结构2,#include 与 #include“ “ Name space: 提供了一个全局标识符和全局变量所在的作用域。 int main() 注释 函数 函数的调用 cout语句,头文件,#include语句 #include 与 #include “ “,使用 #include using namespace std; 少用 #
13、include ,Main函数,main函数的作用 Standard C+ main( )格式: int main( ) return 0; /the default return value is 0; ,注释,C+的注释,基本的输出语句,cout,练习程序hi.cc,#include using namespace std; int main( ) cout “Hi Jian!“ endl; cout “Have a nice day.“ endl; return 0; ,练习程序myself.cc,编写一个程序,打印出自己的: 姓名 性别 年龄 家庭住址 电话号码 爱好 每一条信息输出为
14、一行,在hi.cc中使用字符串,#include using namespace std; int main() char name = “John“; cout “Hi “ name “!“ endl; cout “Have a nice day.“ endl; return 0; ,字符与字符串类型,字符,字符串/字符数组 char ch = A; char str120 = “Hello world!“; char str2 = “Have a nice day!“;,不同的main()格式,命令行参数 % ls l (or ls -al ) % vi hello.cc 在程序中使用命令
15、行参数 int main(int argc, char *argv ),命令行参数程序cmdline.cc,#include using namespace std; int main (int argc, char* argv ) for(int i=0; iargc; i+) cout “argv“ i “=“ argvi endl; ,使用命令行参数的hi.cc,使用命令行参数,重新编写练习程序 cmdline.cc % hi John % hi Lisa % hi “G. Bush“,基本输入语句,cin语句 使用cin语句的hi.cc 重写hi.cc程序,不带命令行参数 程序自动提示
16、用户输入字符串来获得姓名与年龄,练习程序age.cc,#include using namespace std; int main() unsigned int age; char name 50; cout name; cout age; cout “your name is:“ name endl; cout “You were “ age -2 “ years old two years ago. n“; ,条件语句,if语句 ifelse语句 不同if的等价与不等价形式 char ch; cin ch; if (ch = y) /note the difference: if ( ch
17、 = y) cout “good“ endl; else cout “try again.“ endl; ,练习程序grade.cc,This is your assignment.,Q & A,Thank You!,The C+ Programming Language Chapter 2,字符集,abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0 1 2 3 4 5 6 7 8 9 _ + - * / % = . , : ? “ | ! # & ( ) 空白,C+的保留字,auto, bool, break, case, catc
18、h, char, class, const, const_cast , continue, default, delete, do, double, else, enum, extern, false, float, for, friend, goto, if, inline, int, long, new, operator, private, protected, public, return, short, signed, sizeof, static, struct, switch, template, this, throw, true, try, typedef, union, u
19、nsigned, virtual, void, while, ,常量与变量,内存 程序的内存使用 常量 变量 动态内存 变量的类型,C+变量名,变量名(identifier) 第一个字符必须是字母或下划线 只能使用字母,数字,或下划线 中间不能有空格 不能是保留字,不能与全局函数和数据类型同名 C+严格区分大小写(UNIX中) 使用易懂的变量名(一般是相关的英语单词或者缩写) 长度一般不要超过32个字符 不单是变量名,所有需要自己起名的地方都需要遵守这样的规则。,C+变量,C+是强类型语言 每一个变量都有确定的类型,且保持不变 基本数据类型 整型,int, 字符型, char, 实型, flo
20、at, double, 逻辑型, bool ( standard c+ new feature ! ),基本数据类型1,char, unsigned char, signed char, int, unsigned int, signed int, short int, unsigned short int, signed short int, long int, signed long int, unsigned long int, float, double, long double, bool void :enum,struct,union,array,pointer,class,基本数
21、据类型2,实型数据 (float, double) 无unsigned.,The standard C+ new features,bool: 其值必为关键字true 或false 四个转型运算子: static_cast: compiling time to check data type(primitive). const_cast: only for constant data type converting. dynamic_cast: usually for top-down data type cast. reinterpret_cast: more general cast fo
22、r all data types. (到多态的时候再详细讲),变量与数据类型,C+是强类型语言 先声明,后使用 C+编译器对变量声明的处理,一个使用变量的程序例子,#include using namespace std; int main( ) int i; i = 5; cout “i = “ i endl; i = 8; cout “i = “ i endl; return 0; ,另一个使用变量的例子程序,#include using namespace std; int main( ) i = 5; /see what happens cout “i = “ i endl; i =
23、8; cout “i = “ i endl; return 0; int i; ,变量与变量的size,变量都有类型 变量在内存中的大小 int i; double d; cout “size of i is “ sizeof( i ) endl; cout “size of int is “ sizeof( int ) endl; cout “size of d is “ sizeof( d ) endl; cout “size of double is “ sizeof( double ) endl;,程序size.cc,编写一个程序,打印出所有C+基本类型的大小 #include usi
展开阅读全文