技能培训一.ppt

上传人:本田雅阁 文档编号:2628774 上传时间:2019-04-24 格式:PPT 页数:54 大小:945.01KB
返回 下载 相关 举报
技能培训一.ppt_第1页
第1页 / 共54页
技能培训一.ppt_第2页
第2页 / 共54页
技能培训一.ppt_第3页
第3页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《技能培训一.ppt》由会员分享,可在线阅读,更多相关《技能培训一.ppt(54页珍藏版)》请在三一文库上搜索。

1、2019/4/24,主讲人:曹宣俊,C+面向对象程序设计,2019/4/24,目录,如何开发C+程序 常量 数据类型 运算符 控制结构,2019/4/24,为何要学习c+?,1,首先在编程界使用最广泛的语言是什么? 2,C语言的优越性体现在哪里? 3,C+在C基础上扩充了哪些东西?,2019/4/24,C+几个重要概念,1、程序:数据+操作 2、数据类型:不同的数据组织方式 得到不同的数据类型 3、表达式:操作符+操作数 4、语句控制:数据操作的流程,2019/4/24,程序风格,命名(为常量、变量、函数取名) (1)名字必须符合标识符的规范。 (2)标识符:由字母、数字、下划线组成, 而且

2、只能以字母、下划线打头。 (3)名字不能是保留字(系统有固定用途 的标识符)。 (4)字母的大小写有区别。 (5)名字最好能表达一定的含义,2019/4/24,C+基本数据类型,数据类型 占用字节数 int 4 short int 2 long int 4 unsigned int 4 unsigned short int 2 unsigned long int 4 char 1 signed char 1 unsigned char 1 float 4 double 8 long double 10,2019/4/24,第一个C+程序,#include void main( ) cout ”

3、 hello,world! ”endl; 程序功能:在屏幕上显示输出 hello,world!,说明一 说明二 说明三 说明四 说明五 说明六,2019/4/24,第一个C+程序,说明一:编译预处理命令#include 1、#:预处理命令的标志。 2、 #include:包含命令; 把一个文本文件的内容插入到该命令处。 3、命令参数; 给出要插入文件的文件名。,2019/4/24,第一个C+程序,说明二:头文件:以h为扩展名的文本文件 如果程序文件中引用到的函数、变量、 常量、对象、数据类型等是由别的文件 提供的,则必须在程序文件的开始部分 用#include命令把有关的头文件包含进来。,20

4、19/4/24,第一个C+程序,说明三:函数(具有特定功能的程序模块) 1、定义格式: 返回类型 函数名(形式参数表)函数体 void main ( ) cout ”hello, world! ”;,2019/4/24,第一个C+程序,主函数(main函数) 每个程序中至少要有一个函数,这个不可缺少 的函数就是主函数,约定主函数名为: main (1)程序由一个或多个函数组成。 (2)如果程序中只有一个函数,则 一定是main函数。 (3)如果程序中有多个函数,则有且仅有一个为main函数。 (4) main函数是程序的入口,程序是从main函数开始执行的。 (5) main函数的返回值 vo

5、id:无返回值。 int: 有返回值。 (0表示程序正常结束 非0表示程序非正常结束),2019/4/24,第一个C+程序,说明四: C+语句 基本语句:以分号;作为结束标志。 复合语句:包含在 中的基本语句序列。,2019/4/24,常量,数据的一种重要表现形式,常量的值不可改变, 1、整型常量(整型常数)如:123 2、实型常量(实型常数)如:1.23 3、字符常量(用 括起的一个字符) 如: a 4、字符串常量(用 ” ”括起的字符序列) 如: ” student ” 5、枚举常量 注:除字符串常量中引号内的字符以及 注释外,其它字符必须是半角字符。 尤其注意不要误用中文标点。,2019

6、/4/24,使用常量的好处,(1) 程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意 思,用户则更加不知它们从何处来、表示什么。 (2) 在程序的很多地方输入同样的数字或字符串,难保不发生书写错误。 (3) 如果要修改数字或字符串,则会在很多地方改动,既麻烦又容易出错。,2019/4/24,定义常量的方法,const 和#define #define MAX 100 /* C 语言的宏常量 */ const int MAX = 100; / C+ 语言的 const 常量 const float PI = 3.14159; / C+ 语言的 const 常量,2019/4

7、/24,const 和 #define的比较,C+ 语言可以用 const 来定义常量,也可以用 #define 来定义常量。但是前者比后 者有更多的优点: (1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安 全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会 产生意料不到的错误(边际效应) 。 (2) 有些集成化的调试工具可以对const常量进行调试, 但是不能对宏常量进行调试。 (3)const 可以定义局部的常量,2019/4/24,常量定义规则,需要对外公开的常量放在头文件中,不需要对外公开的常量放在定义文件的头部。为便于管理,可以

8、把不同模块的常量集中存放在一个公共的头文件中。 如果某一常量与其它常量密切相关,应在定义中包含这种关系,而不应给出一些孤立的值。 例如: const float RADIUS = 100; const float DIAMETER = RADIUS * 2;,2019/4/24,复合数据类型,数组 数组是具有统一数据类型的对象的集合.在定义数组时,系统会自动为它分配一块连续的内存空间. 举例:int a10=0; sizeof(a)结果是多少?如何得到数组元素的个数? 疑问:为什么内置数组类型不支持数组之间的赋值? 即int a5=1,2,3,4,5;int b5;b=a;这种语法到底对不对?

9、为什么?,2019/4/24,cout和数据的显示输出,1、 cout:连接显示器的输出流对象。 2、 :输出操作符(插入操作符) 3、显示输出语句的格式: cout 表达式【 表达式】 ; 注:【 】中内容可有可无, 若有,可重复多次。 如:cout100; 屏幕输出 100 cout100200100+200; 屏幕输出 100200300,2019/4/24,cout和数据的显示输出,4、插入空格:(空格符为 ) 如: cout 100 200100+200; 屏幕输出 :100 200 300,2019/4/24,cout和数据的显示输出,5、换行输出 换行符号:n 换行控制符:end

10、l 如:cout 100n200; cout 100endl200; 则这两个语句的输出结果相同: 100 200,2019/4/24,cout和数据的显示输出,四点注意: 1、要输出的字符串需要用双引号” ”括起 来。但输出到屏幕上时,双引号” ” 并 不显示。 2、语句的最后要用分号 ;表示结束。 3、换行符号n 和换行控制符endl写法不同,但效果相同。 4、可以作为输出内容的不止是字符串,还可以是数、表达式等等。,2019/4/24,数组,如何定义数组的大小 int a10; const int size=10;int asize; int size=10;int asize; int

11、 a=1,2,3,4,5,6,7,8,9,10; 访问数组时,千万别越界。因为数组下标越界时,编译可以通过的,没法帮你检查,2019/4/24,复合数据类型,结构体 结构体将某些相关的具有不同类型的数据组织到一个数据类型中. 定义形式: struct 结构体名 成员列表; ;,2019/4/24,结构体,举例 struct employee char name10; int age; ; sizeof(employee) =?,2019/4/24,复合数据类型,共用体 共用体使用不同的数据类型的变量共占同一内存单元. 定义形式: union 成员列表; ;,2019/4/24,共用体,共用体和

12、结构体的比较 两者定义相似,但含义不同.二者主要区别在于:结构体变量所占长度是各成员所占内存的长度之和,每个成员分别占有自己的内存单元;而共用体变量所占的内存长度等于最长的成员的长度. union country char usa3; char china5; char australia9; ; sizeof(country)=?,2019/4/24,复合数据类型,枚举 所谓枚举是指将变量的值一一列举出来,变量的值只限于在列举出来的值的范围内 enum color Red,Green,Blue,Yellow; Red = ?,2019/4/24,复合数据类型,指针 类 用户自定义类型,201

13、9/4/24,运算符,算术运算符 .单目算术运算符-(取负),+(取正),+(增1),-(减1), .双目算术运算符+(相加),-(相减),*(相乘),/(相除)和%(取余数) 关系运算符 (大于),=(小于等于),=(相等),!=(不相等) 逻辑运算符 .单目逻辑运算符:!(逻辑求反) .双目逻辑运算符:&(逻辑与),|(逻辑或),2019/4/24,运算符,举例:+(加号)的使用 void swap(int ,2019/4/24,运算符,逻辑运算符 一般用于条件的判断,比如if(),或者 while(). 位操作运算符 位操作运算符是用来进行二进制位运算的运算符,它又分为两类:逻辑位运算符

14、和移位运算符.,2019/4/24,运算符,逻辑位运算符 .单目逻辑位运算符(按位求反) .双目逻辑位运算符&(按位与),|(按位或),(按位异或) 移位运算符 移位运算符:(右移) 左移是将一个二进制数按指定移动的位数向左移位,移掉的位被丢弃,右边移出的空位一律补0.右移是将一个二进制数按指定移动的位数向右移动,移掉的位被丢弃,左边移出的空位或者一律补0,或者补符号位,这要由机器而定.,2019/4/24,运算符,举例:(按位异或)的使用 void swap(int ,2019/4/24,运算符,赋值运算符 .简单的赋值运算符:= .复合的赋值运算符:+=,-=,*=,/=,%=,&=,|=

15、,=,=,2019/4/24,运算符,条件运算符 条件运算符的使用格式如下: d1 ? d2 :d3 其功能是计算d1的值,并且进行判断,如果为非零,则表达式的值为d2,否则表达式的值是d3,2019/4/24,运算符,举例:? :的使用 int getLenOfStr(const char* str)/求字符串长度 return *str = 0 ? 0 : 1+getLenOfStr(str+1); ,2019/4/24,运算符,逗号运算符, 逗号运算符的优先级是所有运算符中最低的.使用逗号运算符(,)可以将多个表达式组成一个表达式.例如e1,e2,e3,e4; e1,e2,e3,e4各为

16、一个表达式.整个表达式的值和类型由最后一个表达式决定.计算一个逗号表达式的值时,从左到右依次计算各个表达式的值,最后计算的一个表达式的值和类型便是整个逗号表达式的值和类型,2019/4/24,运算符,强制类型运算符 该运算符用来将指定的表达式的值强制为所指定的类型,使用格式如下: 类型说明符(表达式)或者(类型说明符)表达式 将指定的”表达式”的类型转换为指定的”类型说明符”所说明的类型.这种强制类型可能使数值精度受到影响.,2019/4/24,控制结构,顺序结构 在C+中,最基本的顺序结构是数据的输入和输出语句.它们是通过I/O流来实现的.cin和cout是预定义的流对象.cin用来处理标准

17、输入,即键盘输入;cout用来处理标准输出.,2019/4/24,控制结构,选择结构 C+中的选择结构语句有:if语句,if else语句,if else if语句和switch语句 if语句 if语句用于在程序中有条件的执行某一语句,语法形式如下: if(condition) expression; 其功能是:只有在condition为真时才执行expression,2019/4/24,选择结构,ifelse 语句 ifelse 语句根据不同的条件分别执行不同的语句,其语法形式如下: if(condition) expression1; else expression2; 其功能是:当con

18、dition为真时执行expression1,当condition为假时执行expression2 if else if语句 if else if 语句用于进行多重判断,其语法形式如下:,2019/4/24,循环结构,for for循环通常用于处理具有固定长度的数据结构,例如数组. for循环的文法结构如下: for(表达式1;表达式2;表达式3) 语句; 其中,”表达式1”可以是一条说明或表达式,它一般用于对一组变量进行初始化或赋值.当然,它也可以是一个空语句.”表达式2”用于控制循环,只有在其为真时,才执行循环体中的”语句”.”表达式3”在每次循环结束后执行,它一般用于修改在”表达式1”中

19、初始化的变量.循环体可以是简单语句也可以是复合语句,如果在第一次计算”表达式2”时得到的值为假,则循环体中的语句一次也不会执行.,2019/4/24,for,int a10=0; for(int i=0;i10;+i) ai=i; 经典习题: 有n盆一字排开的花盆,它们的颜色只限于红色,蓝色,白色,请问:如何每盆花盆只访问一次,便可将相同颜色的花盆放在一起,2019/4/24,while,While语句特别适合于处理字符串和其他指针类型,其语法结构如下: while(condition) expression; ; 只要condition为真,就会重复执行expression,2019/4/2

20、4,while循环的使用,计算10! int loop=1; int sum=1; while(loop = 10) sum*=loop; +loop; ,2019/4/24,while循环典型应用,求两个数的最大公约数(提示:采用辗转相除的方法) 参考答案:int getMaxCommonDivisor(int first,int second)/求两个数的最大公约数,采用辗转相除的方法 int min = firstsecond ? first : second; int r= max%min; while(r0) max=min; min=r; r = max%min; return m

21、in; ,2019/4/24,do while,其文法结构如下: do expression; while(condition); 它先执行循环体语句,而后再去判断条件是否成立的,2019/4/24,do while,举例:计算1+2+n(n=10) int sum=0; int loop=1; do sum+=loop; +loop; while(loop=10);,2019/4/24,三种循环的比较,1,for和while只有条件为真时才执行,而do while总会执行一次的,2019/4/24,break语句,break语句用于强制退出循环语句以及switch语句的执行.当程序遇到这一语句时,将直接执行循环体后面的语句. 举例: while(1) cout“hello”endl; break; cout“world”endl; ,2019/4/24,continue语句,continue语句仅仅使当前进行的这一次最内层的循环终止,程序流程转去执行对真值条件的计算,如果计算结果为真,则开始下一次循环,否则循环终止. continue和break不同是:它不终止整个循环,只是终止当前循环. 举例: while(1) cout“hello”endl; continue; cout“world”endl; ,2019/4/24,Thank You!,2019/4/24,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1