达内C教程MKVCoreCProgrammingnew课件.ppt
《达内C教程MKVCoreCProgrammingnew课件.ppt》由会员分享,可在线阅读,更多相关《达内C教程MKVCoreCProgrammingnew课件.ppt(505页珍藏版)》请在三一办公上搜索。
1、The C+Programming LanguageChapter 1,C+Programming in UNIX,课程介绍C+语法基础面向对象程序设计的概念大量的编程实践目标熟练掌握C+语法具有面向对象程序设计的概念与能力能熟练阅读复杂的C+程序源代码能独立的设计与完成面向对象的C+程序,课程内容简介 1,C+语言基础保留字变量,常量表达式语句函数程序的结构数据结构与算法数组、指针、引用、结构、链表与栈,课程内容简介 2,C+面向对象编程类构造函数与析构函数静态成员与友员函数重载继承与多态I/O流模板异常,程序设计语言介绍1,What computer understand?bitsAsse
2、mbler LanguageLimited structureGlobal scopeMachine codePrimitive High-Level LanguageFunction decompositionData separationHigh level structure,程序设计语言介绍2,Block Structured LanguageEncapsulationFlexible data scopingModularizationObject-Oriented LanguageInheritancePolymorphismAbstract data types,C+程序设计语言
3、,1972,AT&T,Bell Lab.Dennis Ritche,C language1980,Bell Lab.Bjarne Stroustrup,C extension,1983,C+named1997,ANSI(American National Standards Institute)C+(standard C+),What C+will we learn in this course?,Standard C+:ANSI C+is more scalable to different platform such as Unix,Microsoft windows,MacThe sta
4、ndard 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+的标准,使之具有高度的可移植性。程序能够运行得很快,可直接操作系统资源,保持机器层次的实现细节。不要求图形环境,对系统要求相对较低。易于解决与旧工程的接口以及在数据库,存储和性能方面的技术限制。C+是一种面向对象
5、的多范型语言,可以将面向对象的模型映射成为C+的结构。它为开发者设计和编写一个解决方案提供了一定的选择范围。,C+的优点,Supports data abstraction and object-oriented programmingContains all existing features of C,making the migration from C to C+relatively easyIs as portable and efficient as CCan be linked to existing C libraries and functionsProvides stron
6、g static-type checkingIs a general-purpose language,程序员应该具备的计算机知识1,操作系统与应用程序运行环境与运行机制系统与命令运行环境与命令行参数进程栈堆,Binary and Hexadecimal,Binary:0101 1000Decimal:88Hexadecimal:0 x581 byte=8 bits.,程序员应该具备的计算机知识2,编辑器编译器编译器的功能解释执行与编译执行的差别熟悉自己常用的编译器,查错能力连接器库与库函数系统调用,软件开发周期,Software Lifecycle,开发测试维护更新,熟悉你的环境,可用的UN
7、IX服务器192.168.0.21 192.168.0.23192.168.0.26Telnet命令介绍:telnet 192.168.0.21Login:use your registered user account.Password:type in your pass word.,创建自己的学习帐号,telnet,login:tarenaPassword:tarena欢迎使用达内科技(中国)公司开放实验室的服务!Welcome to the OpenLab of Tarena Technologies Inc.Cananda.请按照以下提示创建您的用户帐号.Please follow t
8、he steps to create your own account.(请输入您要注册的帐号)Please enter your new account name:XXXXXXXX(请输入您的E-Mail地址)Please enter your email address:XXXYYY.ZZZ,用自己的帐号登录UNIX服务器,Escape character is.SunOS 5.8login:XXXXXXXChoose a new password.New password:*,程序员经常用到的UNIX命令1,简单的文件维护与管理ls,cd,mkdir,rm,cp,mv,cat,more源
9、程序的编写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 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 functionint main()co
10、ut Hello world!endl;cout This is my first C+program.n;,g的常用参数,-c 编译成目标文件.o-o指定输出文件名,输出文件名跟在-o后面,用空格分隔。如果不使用这个选项,缺省的输出文件名为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
11、 hello.o%ls%g+hello.o%ls,运行hello 程序,%hello%a.out,C+程序的基本结构1,/*the first C+program*/#include using namespace std;/main functionint main()cout Hello world!endl;cout This is my first C+program.n;,C+程序的基本结构2,#include 与#include Name space:提供了一个全局标识符和全局变量所在的作用域。int main()注释函数函数的调用cout语句,头文件,#include语句#inc
12、lude 与#include,使用#include using namespace std;少用#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,编写一个程序,打印出自己的:姓名性
13、别年龄家庭住址电话号码爱好每一条信息输出为一行,在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在程序中使用命令行参数int main(int argc
14、,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程序,不带命令行参数程序自动提示用户输入字符串来获得姓名与年龄,练习程序age.cc,#include using namespace
15、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=y)cout good endl;else cout try again.endl;,练习程序grade.cc,This is your assignment.,
16、Q&A,Thank You!,The C+Programming LanguageChapter 2,字符集,abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0 1 2 3 4 5 6 7 8 9_+-*/%=.,:?|!#&()空白,C+的保留字,auto,bool,break,case,catch,char,class,const,const_cast,continue,default,delete,do,double,else,enum,extern,false,float,for,friend,goto,if,inline,int
17、,long,new,operator,private,protected,public,return,short,signed,sizeof,static,struct,switch,template,this,throw,true,try,typedef,union,unsigned,virtual,void,while,常量与变量,内存程序的内存使用常量变量动态内存变量的类型,C+变量名,变量名(identifier)第一个字符必须是字母或下划线只能使用字母,数字,或下划线中间不能有空格不能是保留字,不能与全局函数和数据类型同名C+严格区分大小写(UNIX中)使用易懂的变量名(一般是相关的
18、英语单词或者缩写)长度一般不要超过32个字符不单是变量名,所有需要自己起名的地方都需要遵守这样的规则。,C+变量,C+是强类型语言每一个变量都有确定的类型,且保持不变基本数据类型整型,int,字符型,char,实型,float,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,unsigne
19、d long int,float,double,long double,boolvoid:enum,struct,union,array,pointer,class,基本数据类型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:
20、usually for top-down data type cast.reinterpret_cast:more general cast for 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;/
21、see what happenscout i=i endl;i=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 using namesp
22、ace std;int main()cout size of char is:sizeof(char)endl;cout size of unsigned char is:sizeof(unsigned char)endl;cout size of signed char is:sizeof(signed char)endl;cout size of int is:sizeof(int)endl;cout size of unsigned int is:sizeof(unsigned int)endl;cout size of signed int is:sizeof(signed int)e
23、ndl;cout size of short int is:sizeof(short int)endl;,变量的取值范围,变量的类型与值的范围常用类型的取值范围,常量,常量与常量的数据类型const double pi=3.14,const限定符,限定一个常量或者函数方便编译器来检测非法的修改操作,运算符,运算符+,-,*,/,%,+,-,=,=,结合性优先级:see table 3-1 in page 35 in the recommended book 1.,运算符的使用,if(demo=2)与 if(demo=2)if(2=demo)/左值与右值。if(demo!=2)与 if(demo
24、=!2),运算符的优先级,int a=8,b=4,c=5;cout(a%b?b:c);cout a%b?b:c;,变量的赋值,赋值表达式变量的初始化一次声明多个变量声明并初始化变量,无符号类型的值,无符号整数类型的回绕unsigned short int snum;snum=65535;cout snum=snum endl;snum=snum+1;cout snum=snum endl;,有符号类型的值,有符号整数类型的回绕int inum=2147483647;cout inum=inum endl;inum=inum+1;cout inum=inum endl;,常用类型的取值范围,常用
25、类型的取值范围int i=65535;int j=65535;cout i*j/9 endl;,练习,为表示如下数据,应该使用什么类型的变量:年龄姓名工资电话号码身份证号码西三环到东三环的距离,练习程序bin.cc,#include using namespace std;int main()int a=10;cout a;unsigned int r;int k;unsigned int j;char str33;memset(str,0,33);str32=0;r=a;int i=32;,练习程序bin.cc,do j=r;r=r/2;k=j-r*2;if(k)str-i=1;else s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教程 MKVCoreCProgrammingnew 课件
链接地址:https://www.31ppt.com/p-5850542.html