版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会计学1C技能培训一实用2023/1/17为何要学习c++?1,首先在编程界使用最广泛的语言是什么?2,C语言的优越性体现在哪里?3,C++在C基础上扩充了哪些东西?第1页/共53页2023/1/17C++几个重要概念1、程序:数据+操作2、数据类型:不同的数据组织方式得到不同的数据类型3、表达式:操作符+操作数4、语句控制:数据操作的流程第2页/共53页2023/1/17程序风格命名(为常量、变量、函数取名)(1)名字必须符合标识符的规范。(2)标识符:由字母、数字、下划线组成,而且只能以字母、下划线打头。(3)名字不能是保留字(系统有固定用途的标识符)。(4)字母的大小写有区别。(5)名字最好能表达一定的含义第3页/共53页2023/1/17C++基本数据类型数据类型 占用字节数int 4shortint 2longint 4unsignedint 4unsignedshortint 2unsignedlongint 4char 1signed char 1unsignedchar 1float 4double 8longdouble 10 第4页/共53页2023/1/17第一个C++程序 #include<iostream.h>voidmain(){cout<<”hello,world!”<<endl;
}
程序功能:在屏幕上显示输出
hello,world!说明一说明二说明三说明四说明五说明六第5页/共53页2023/1/17第一个C++程序说明一:编译预处理命令#include1、#:预处理命令的标志。2、#include:包含命令;把一个文本文件的内容插入到该命令处。3、<iostream.h>命令参数;给出要插入文件的文件名。第6页/共53页2023/1/17第一个C++程序说明二:头文件:以h为扩展名的文本文件 如果程序文件中引用到的函数、变量、常量、对象、数据类型等是由别的文件提供的,则必须在程序文件的开始部分用#include命令把有关的头文件包含进来。第7页/共53页2023/1/17第一个C++程序说明三:函数(具有特定功能的程序模块)1、定义格式:返回类型函数名(形式参数表){函数体}voidmain(){cout<<”hello,world!”;}第8页/共53页2023/1/17第一个C++程序主函数(main函数)每个程序中至少要有一个函数,这个不可缺少的函数就是主函数,约定主函数名为:main(1)程序由一个或多个函数组成。(2)如果程序中只有一个函数,则一定是main函数。(3)如果程序中有多个函数,则有且仅有一个为main函数。(4)main函数是程序的入口,程序是从main函数开始执行的。(5)main函数的返回值☆void:无返回值。☆int:有返回值。(0表示程序正常结束非0表示程序非正常结束)第9页/共53页2023/1/17第一个C++程序说明四:C++语句☆基本语句:以分号;作为结束标志。☆复合语句:包含在{}中的基本语句序列。第10页/共53页2023/1/17常量
数据的一种重要表现形式,常量的值不可改变,1、整型常量(整型常数)如:1232、实型常量(实型常数)如:1.233、字符常量(用’’括起的一个字符)如:’a’4、字符串常量(用
””括起的字符序列)如:”student”5、枚举常量注:除字符串常量中引号内的字符以及注释外,其它字符必须是半角字符。尤其注意不要误用中文标点。第11页/共53页2023/1/17使用常量的好处(1)程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意思,用户则更加不知它们从何处来、表示什么。(2)在程序的很多地方输入同样的数字或字符串,难保不发生书写错误。(3)如果要修改数字或字符串,则会在很多地方改动,既麻烦又容易出错。第12页/共53页2023/1/17定义常量的方法const和#define#defineMAX100/*C语言的宏常量*/constintMAX=100;//C++语言的const常量constfloatPI=3.14159;//C++语言的const常量第13页/共53页2023/1/17const 和#define的比较C++语言可以用const来定义常量,也可以用#define来定义常量。但是前者比后者有更多的优点:(1)const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)。(2)有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。(3)const可以定义局部的常量第14页/共53页2023/1/17常量定义规则需要对外公开的常量放在头文件中,不需要对外公开的常量放在定义文件的头部。为便于管理,可以把不同模块的常量集中存放在一个公共的头文件中。如果某一常量与其它常量密切相关,应在定义中包含这种关系,而不应给出一些孤立的值。 例如:constfloatRADIUS=100;constfloatDIAMETER=RADIUS*2;第15页/共53页2023/1/17复合数据类型数组 数组是具有统一数据类型的对象的集合.在定义数组时,系统会自动为它分配一块连续的内存空间.举例:inta[10]={0}; sizeof(a)结果是多少?如何得到数组元素的个数?
疑问:为什么内置数组类型不支持数组之间的赋值?
即inta[5]={1,2,3,4,5};intb[5];b=a;这种语法到底对不对?为什么?第16页/共53页2023/1/17cout和数据的显示输出1、cout:连接显示器的输出流对象。2、<<:输出操作符(插入操作符)3、显示输出语句的格式:
cout<<表达式【<<表达式】
;注:【】中内容可有可无,若有,可重复多次。如:cout<<100;
屏幕输出100cout<<100<<200<<100+200;
屏幕输出100200300第17页/共53页2023/1/17cout和数据的显示输出4、插入空格:(空格符为’’)如:cout<<100<<’’<<200<<100+200;屏幕输出:100200300第18页/共53页2023/1/17cout和数据的显示输出5、换行输出☆换行符号:’\n’☆换行控制符:endl如:cout<<100\n<<200;cout<<100<<endl<<200;则这两个语句的输出结果相同:100200第19页/共53页2023/1/17cout和数据的显示输出四点注意:1、要输出的字符串需要用双引号”
”括起来。但输出到屏幕上时,双引号”
”并不显示。2、语句的最后要用分号
;表示结束。3、换行符号’\n’和换行控制符endl写法不同,但效果相同。4、可以作为输出内容的不止是字符串,还可以是数、表达式等等。第20页/共53页2023/1/17数组如何定义数组的大小inta[10];constintsize=10;inta[size];intsize=10;inta[size];inta[]={1,2,3,4,5,6,7,8,9,10};访问数组时,千万别越界。因为数组下标越界时,编译可以通过的,没法帮你检查 第21页/共53页2023/1/17复合数据类型结构体 结构体将某些相关的具有不同类型的数据组织到一个数据类型中.
定义形式: struct结构体名
{
成员列表; };第22页/共53页2023/1/17结构体举例
struct employee { charname[10]; intage; }; sizeof(employee)=?第23页/共53页2023/1/17复合数据类型共用体 共用体使用不同的数据类型的变量共占同一内存单元.
定义形式: union {
成员列表; };
第24页/共53页2023/1/17共用体共用体和结构体的比较 两者定义相似,但含义不同.二者主要区别在于:结构体变量所占长度是各成员所占内存的长度之和,每个成员分别占有自己的内存单元;而共用体变量所占的内存长度等于最长的成员的长度. unioncountry { charusa[3]; charchina[5]; charaustralia[9]; }; sizeof(country)=?第25页/共53页2023/1/17复合数据类型枚举 所谓枚举是指将变量的值一一列举出来,变量的值只限于在列举出来的值的范围内
enumcolor{Red,Green,Blue,Yellow};Red=?第26页/共53页2023/1/17复合数据类型指针类用户自定义类型第27页/共53页2023/1/17运算符算术运算符.单目算术运算符-(取负),+(取正),++(增1),--(减1),.双目算术运算符+(相加),-(相减),*(相乘),/(相除)和%(取余数)关系运算符
>(大于),<(小于),>=(小于等于),==(相等),!=(不相等)逻辑运算符.单目逻辑运算符:!(逻辑求反).双目逻辑运算符:&&(逻辑与),||(逻辑或)第28页/共53页2023/1/17运算符举例:+(加号)的使用voidswap(int&a,int&b){ a=a+b; b=a-b; a=a-b;}第29页/共53页2023/1/17运算符逻辑运算符 一般用于条件的判断,比如if(),或者while().位操作运算符位操作运算符是用来进行二进制位运算的运算符,它又分为两类:逻辑位运算符和移位运算符.第30页/共53页2023/1/17运算符逻辑位运算符.单目逻辑位运算符~(按位求反).双目逻辑位运算符&(按位与),|(按位或),^(按位异或)移位运算符移位运算符:<<(左移),>>(右移)左移是将一个二进制数按指定移动的位数向左移位,移掉的位被丢弃,右边移出的空位一律补0.右移是将一个二进制数按指定移动的位数向右移动,移掉的位被丢弃,左边移出的空位或者一律补0,或者补符号位,这要由机器而定.第31页/共53页2023/1/17运算符举例:^(按位异或)的使用
voidswap(int&a,int&b) { a=a^b; b=a^b; a=b^a; }第32页/共53页2023/1/17运算符赋值运算符.简单的赋值运算符:=.复合的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=第33页/共53页2023/1/17运算符条件运算符 条件运算符的使用格式如下:d1?d2:d3其功能是计算d1的值,并且进行判断,如果为非零,则表达式的值为d2,否则表达式的值是d3第34页/共53页2023/1/17运算符举例:?:的使用intgetLenOfStr(constchar*str)//求字符串长度{ return*str==0?0:1+getLenOfStr(str+1);}第35页/共53页2023/1/17运算符逗号运算符,逗号运算符的优先级是所有运算符中最低的.使用逗号运算符(,)可以将多个表达式组成一个表达式.例如e1,e2,e3,e4;e1,e2,e3,e4各为一个表达式.整个表达式的值和类型由最后一个表达式决定.计算一个逗号表达式的值时,从左到右依次计算各个表达式的值,最后计算的一个表达式的值和类型便是整个逗号表达式的值和类型第36页/共53页2023/1/17运算符强制类型运算符该运算符用来将指定的表达式的值强制为所指定的类型,使用格式如下:类型说明符(表达式)或者(类型说明符)表达式将指定的”表达式”的类型转换为指定的”类型说明符”所说明的类型.这种强制类型可能使数值精度受到影响.第37页/共53页2023/1/17控制结构顺序结构 在C++中,最基本的顺序结构是数据的输入和输出语句.它们是通过I/O流来实现的.cin和cout是预定义的流对象.cin用来处理标准输入,即键盘输入;cout用来处理标准输出.第38页/共53页2023/1/17控制结构选择结构
C++中的选择结构语句有:if语句,ifelse语句,ifelseif语句和switch语句if语句if语句用于在程序中有条件的执行某一语句,语法形式如下:if(condition) expression;其功能是:只有在condition为真时才执行expression第39页/共53页2023/1/17选择结构if…else语句if…else语句根据不同的条件分别执行不同的语句,其语法形式如下:if(condition) expression1;else expression2;其功能是:当condition为真时执行expression1,当condition为假时执行expression2if …elseif语句if …elseif语句用于进行多重判断,其语法形式如下:第40页/共53页2023/1/17循环结构forfor循环通常用于处理具有固定长度的数据结构,例如数组. for循环的文法结构如下: for(表达式1;表达式2;表达式3)
语句;其中,”表达式1”可以是一条说明或表达式,它一般用于对一组变量进行初始化或赋值.当然,它也可以是一个空语句.”表达式2”用于控制循环,只有在其为真时,才执行循环体中的”语句”.”表达式3”在每次循环结束后执行,它一般用于修改在”表达式1”中初始化的变量.循环体可以是简单语句也可以是复合语句,如果在第一次计算”表达式2”时得到的值为假,则循环体中的语句一次也不会执行.第41页/共53页2023/1/17forint a[10]={0};for(inti=0;i<10;++i){ a[i]=i;}经典习题:
有n盆一字排开的花盆,它们的颜色只限于红色,蓝色,白色,请问:如何每盆花盆只访问一次,便可将相同颜色的花盆放在一起第42页/共53页2023/1/17whileWhile语句特别适合于处理字符串和其他指针类型,其语法结构如下: while(condition) { expression; };只要condition为真,就会重复执行expression第43页/共53页2023/1/17while循环的使用计算10! intloop=1; intsum=1; while(loop<=10) { sum*=loop; ++loop; }第44页/共53页2023/1/17while循环典型应用求两个数的最大公约数(提示:采用辗转相除的方法)参考答案:intgetMaxCommonDivisor(intfirst,intsecond)//求两个数的最大公约数,采用辗转相除的方法{ intmin=first<second?first:second; intmax=first>second?first:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年技术开发外包合同
- 协议买房合同范本
- 《微细加工技术》课件
- 17难忘的泼水节公开课一等奖创新教学设计
- 1《故都的秋》 公开课一等奖创新教学设计统编版高中语文必修上册
- 活动策划简历新人培训
- 年产xx燃料油添加剂项目建议书
- 中小学校岗位安全工作
- 年产xx动物胶项目建议书
- 年产xx光固化机项目建议书
- GB/T 44713-2024节地生态安葬服务指南
- 一年级家长会课件2024-2025学年
- 2024年教资考试时政高频考点141条
- 《扣件式钢管脚手架安全技术规范》JGJ130-2023
- 组拼式全钢大模板施工工法(附示意图)
- 基于人才战略的企业年金在民办高校中的应用研究
- 消防维保年度总结范文(2篇)精选范文
- 天津科技大学 大学物理(下)本科试卷(A卷)(含答案)
- 消防应急组织架构图
- 锅炉安装工程—质量证明书(散装)
- 铁矿矿山环境保护与综合治理方案
评论
0/150
提交评论