cH+语言基础 潘爱民 panaimin@icstpku.edu.cn http://www.icst.pku.edu.cn/compcourse
C++语言基础 潘爱民 panaimin panaimin@icst.pku.edu.cn http://www. http://www.icst.pku.edu.cn/compcourse compcourse
内容简介 C++语言基础 Object-Based Programming y object-Oriented Programming 冷STL
内容简介 !C++语言基础 !Object-Based Programming Object-Based Programming !Object-Oriented Programming Object-Oriented Programming !STL
CF+之我见 冫C++语言在变化,我们的概 念也要调整变化 最能反映OO思想的语言,掌 握C++有助于理解O0 区分C和C++,C十+不是C语 言,不要用看待C语言的方式 来看待C+
C++之我见 !C++语言在变化,我们的概 语言在变化,我们的概 念也要调整变化 念也要调整变化 !最能反映OO思想的语言,掌 思想的语言,掌 握C++有助于理解OO !区分C和C++,C++不是C语 言,不要用看待 言,不要用看待C语言的方式 来看待C++
学握C十+语言的基础翔识 操作系统的基础知识 文件API、内存管理. nfrastructures 计算机原理 汇编语言 C/C++是产生ASM代码的 framework 编译和执行过程 编译过程 执行过程 冷许多概念 进程、heap、 stack
掌握C++语言的基础知识 语言的基础知识 !操作系统的基础知识 操作系统的基础知识 – 文件API、内存管理… infrastructures infrastructures !计算机原理 – 汇编语言 – C/C++是产生ASM代码的framework framework !编译和执行过程 编译和执行过程 – 编译过程 – 执行过程 !许多概念 – 进程、heap、stack
开发 编辑 源程序 file. cpp 编译 序开发过 出错? 泪标程序 file. obi 执行程 链接 序 file. exe 库函数和 执行 其它OB N∠结果正确?结束
程 序 开 发 过 程 开发 编辑 编译 出错? 链接 执行 结果正确? 结束 源程序 file.cpp 目标程序 file.obj 库函数和 其它OBJ 可执行程 序file.exe Yes No Yes No
Build过程; compile time Compile link 冫如何对待错误和告 错误:一定要排除,从第一个错误找起 警告:或者排除,或者确实理解不会对程 序造成危害 会设置 compile option和 link options IDE中如何设置? 定要知道! 命令行如何设置? 程序代码中如何设置?
Build过程:compile time compile time !Compile + link Compile + link !如何对待错误和警告 如何对待错误和警告 – 错误:一定要排除,从第一个错误找起 错误:一定要排除,从第一个错误找起 – 警告:或者排除,或者确实理解不会对程 警告:或者排除,或者确实理解不会对程 序造成危害 !学会设置compile options compile options和link options link options – IDE中如何设置? —— 一定要知道! – 命令行如何设置? 命令行如何设置? – 程序代码中如何设置? 程序代码中如何设置?
执行过程: runtime 冫Load、重定位、初始化、man 如何调试 断点 assertion 程序对环境的依赖性 系统环境 CRT 内存影像
执行过程:runtime runtime !Load、重定位、初始化、 重定位、初始化、main !如何调试 – 断点 – assertion assertion !程序对环境的依赖性 程序对环境的依赖性 – 系统环境 – CRT – 内存影像
C语言例子 void main( void char string[80] l STRCPY. C: This program uses rcpy( string, Hello world from "); strcpy strcat( string "strcpy"); and strcat to build a phrase strcat( string " and") strcat( string, strcat! printf( String=%s\n", string ) #include #include
/* STRCPY.C: This program uses STRCPY.C: This program uses strcpy * and strcat to build a phrase. to build a phrase. */ #include #include #include void main( void ) void main( void ) { char string[80]; char string[80]; strcpy( string, "Hello world from " ); ( string, "Hello world from " ); strcat( string, " ( string, "strcpy " ); strcat( string, "and " ); ( string, "and " ); strcat( string, " ( string, "strcat!" ); printf( "String = %s\n", string ); ( "String = %s\n", string ); } C语言例子
C语言特性 少结构化 简单的方法可以构造复杂的结构 表达式灵活、简练 提高代码质量、程序的可读性 提供了一些接近汇编语言的功能及指针 适合于编写系统软件和工具软件;指针非常灵活 冷调试方便 冷移植性好 冷目标代码小、效率高
C语言特性 !结构化 – 简单的方法可以构造复杂的结构 !表达式灵活、简练 表达式灵活、简练 – 提高代码质量、程序的可读性 !提供了一些接近汇编语言的功能及指针 提供了一些接近汇编语言的功能及指针 – 适合于编写系统软件和工具软件;指针非常灵活 !调试方便 !移植性好 !目标代码小、效率高 目标代码小、效率高
C++请内 冫数据类型 内置( built-in)、标准库、自定义的 表达式 ☆控制语句 函数(模板) 冷异常处理
C++语言内容 !数据类型 – 内置(built-in) built-in)、标准库、自定义的 、标准库、自定义的 !表达式 !控制语句 !函数(模板) !异常处理