C++入门基础知识详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第1章C++基础知识C++基础知识2本章要点1.1程序设计语言的基本概念(自学)1.2C++程序的基本结构1.3一个应用程序的开发过程1.4C++的词法规则1.5C++基本数据类型1.6常量与变量1.7运算符与表达式31.1程序设计语言的基本概念(自学)面向过程的结构化程序设计语言从求解问题的功能入手按照工程的标准和严格的规范将求解问题分解为若干功能模块在软件设计和实现过程中,采用自顶向下、逐步细化的模块化程序设计原则结构化程序设计的分解突出:如何做?强调代码的功能是如何得以完成。41.1程序设计语言的基本概念(自学)面向对象的程序设计语言有两类一类是完全面向对象的语言一类是兼顾面向过程和面向对象的混合式语言(C++语言就是一种典型代表)将问题分解为对象,对象的数据——属性,作用于数据的操作——方法,将属性和方法封装成一个整体,供程序设计者使用。对象之间的相互作用通过消息传递来实现。程序设计模式:“对象+消息”面向对象的分解突出:做什么?大量的工作由相应的对象来完成,程序员在应用程序中只需说明要求对象完成的任务。51.2C++程序的基本结构C++程序的结构声明区(在函数之外)函数区程序的注释://……/*……*/6例1.1从键盘输入圆的半径,求圆的面积.//声明区(在函数之外)#includeiostream.hdoubleconstPI=3.14159;floatsum(floatx);//函数区voidmain(){floatr,s;coutInputr:;cinr;s=sum(r);coutr=rs=sendl;}floatsum(floatx){returnPI*x*x;}//包含文件//全局量声明//函数声明//main()函数返回值类型为void(无返回值类型)/*sum()函数返回值类型为float*/声明区可能需要编写:(1)包含文件。(2)宏定义。(3)函数声明。(4)条件编译。(5)全局变量声明。(6)结构体等的定义。(7)类的定义。一个程序:(1)由1个主函数main()和多个(或0个)其他函数组成(2)每个函数都是由函数声明部分与函数体部分组成(3)程序的执行从main()函数开始。(4)函数声明部分包括函数返回值类型、函数名、函数的形式参数。(5)函数体部分是用一对花括号{}括起来,完成该函数所表达的功能的语句的集合。(6)语句可以是数据描述语句或数据操作语句。71.2C++程序的基本结构C++程序通常分成几个文件:头文件(.h文件)包括类定义,构成所定义对象的接口类库文件(.lib文件、.obj文件)包括类方法的实现代码C++源程序(.cpp文件)可由一个或多文件组成81.2C++程序的基本结构C++程序的书写格式每行一般书写一条语句语句较短时,多条语句可书写在一行内。语句较长时,一条语句可写在多行上。每条语句以;结束表示一条语句的结束,但函数说明行和声明区的多数语句后不用分号。语句前面没有标号,只有goto语句的转向目标语句前加标号。使用向右缩进方法表达程序中的层次结构如花括号{}内的函数体、循环语句的循环体、if语句的if体和else体一般都向右缩进几个字符。花括号是函数体或复合语句的定界符。可使用多行注释或单行注释以增强程序的可读性多行注释以“/*”开始,以“*/”结束,占据多行。单行注释以“//”开始,占据一行。91.4C++的词法规则C++的字符集组成26个小写字母:a~z。26个大写字母:A~Z。10个数字:0~9。标点和特殊字符:+-*/,:;?\”’~|!#%&()[]{}^空格。空字符:ASCII码为0的字符,用作字符串的结束符。101.4C++的词法规则标识符由字母、下划线和数字组成的字符序列,第1个不能是数字,字母大小写是不同的。用来命名C++程序中的常量、变量、函数、语句标号及类型定义符等。例:Aa、ABC、A_Y、ycx11、_name是合法标识符。而5xyz、m.x、!abc、x-y是非法标识符。111.4C++的词法规则关键字也叫保留字,是系统已经预定义的单词,有专用的定义。这些关键字都是保留字,用户不可再重新定义。ifdomain121.5C++基本数据类型见P11表1-2131.6常量与变量常量在程序运行过程中,其值不能被改变的量。常量的定义格式:类型const常量名=常量值;或#define符号常量名常量表达式C++程序中有4种常量整型常量、浮点型常量、字符常量和字符串常量。常量在程序运行过程中,其值不能被改变的量。常量的定义格式:类型const常量名=常量值;或#define符号常量名常量表达式C++程序中有4种常量整型常量、浮点型常量、字符常量和字符串常量。例如:constPI=3.14159;PI为符号常量名为什么不使用π作为常量标识符?符号常量是一个用来替代常量的标识符141.6常量与变量整型常量定义格式:intconst常量名=常量值constint常量名=常量值;例如,intconstx=10;?x=20;是否可行?整型常量可分为:十进制:123-35327670八进制:0501201十六进制:0x100XFF0x8整型常量定义格式:intconst常量名=常量值constint常量名=常量值;例如,intconstx=10;?x=20;是否可行?整型常量可分为:十进制:123-35327670八进制:0501201十六进制:0x100XFF0x8018?0x1G?151.6常量与变量浮点型常量(实型常量)定义floatconst常量名=常量值;doubleconst常量名=常量值;例如:floatconsty=2.1;两种表示形式:小数形式:3.141592.718280.0.54指数形式:0.3e21.23e-2e21.2e2.5?0.31021.2310-2十进制数:123.456789123float:1.234567e2double:1.23456789123e2161.6常量与变量字符常量定义:charconst常量名=常量值;说明:字符常量用单引号括起来,例'A'字符串常量用双引号括起来,例abfgTYN思考:0xA52.5e-257'ab'是否可作为C++常量?.4512325.6e-24e3是否合法?ab123171.6常量与变量字符串常量是由双引号括起来的一串字符。例如“string”,长度为6,在内存中占7个字节在C++中,系统在每个字符串的最后自动加入一个字符‘\0’作为字符串的结束标志。以下哪个是字符串?‘A’“house”Howdoyoudo.$abc“house”181.6常量与变量——转义字符又称反斜线字符这些字符常量总是以一个“\”开头,后跟特定的字符来代表某一个特定的ASCII字符。1~2位十六进制数所代表的字符\xhh报警\a回车\r1~3位八进制数所代表的字符\ddd斜杠\\单引号\'垂直跳格\v空字符\0双引号\换页\f退格\b水平跳格\t换行\n功能字符形式功能字符形式‘A’的ASCII码值为65(10十进制数),其八进制数为101,写成转义字符的’\ddd’为’\101’,写成’\xhh’为’\x41’191.6常量与变量变量是指在程序运行过程中,其值可以发生变化的量。变量的命名规则与用户标识符相同变量有名字、类型和值三个要素变量是指在程序运行过程中,其值可以发生变化的量。变量的命名规则与用户标识符相同变量有名字、类型和值三个要素由字母、数字、下划线构成,并以字母、下划线开头。201.6常量与变量变量的数据类型及其定义定义变量的格式:[存储类]数据类型变量名表;例如:intx;inty;intx,y;charch;变量必须先定义后使用。变量必须先定义后使用。intx,y;211.6常量与变量变量的存储类型变量的存储类型定义变量的有效性范围,即作用域。C++中有4类:自动存储类(auto)寄存器存储类(register)静态存储类(static)外部存储类(extern)动态变量是在函数被调用执行时,才分配单元,随着函数被执行而分配,随着函数执行结束而释放,auto关键字可以省略寄存器变量是请求计算机把此变量放入CPU的寄存器内,但如果没有寄存器可使用,或系统不支持此功能,则此变量等同于动态变量静态变量是在程序编译连接时就分配的内存单元,在整个程序运行期间使用固定的存储单元,直到整个程序退出对应单元才释放在所有函数和程序段中都可引用。生存期是整个程序,在程序结束时才释放内存。221.6常量与变量整型变量C++中,不带小数值的变量表示整型变量,整型变量所表示的整数有一定的范围。例如:#includeiostream.hvoidmain(){intx=020,y;//定义2个变量,x初始化为八进制数020y=0x32;//给y赋值为十六进制数0x32coutxyendl;}结果为:231.6常量与变量实型变量小数形式表示0.123.12323.0.0指数形式表示2.30260.23026e10.230261010.00023452.345e-42.34510-4注意:e(或E)前后要有数字e或E后的指数必须为整数例如,e3.5e3..e3e不合法实型变量分为单精度实型float和双精度实型double241.6常量与变量字符变量字符变量定义形式:char变量名1,变量名2,………,变量名n;例如:charc1,c2;c1='a';c2='b';注意:'a'的ASCII码值为97,存储形式为01100001;'b'的ASCII码值为97,存储形式为0110001025例:整型字符变量的定义及输出的例子#includeiostream.hvoidmain(){inti;//定义一个整型变量charc;//定义一个字符变量i='a';//字符赋值给整型变量c=97;//整型数赋值给字符变量couticendl;c=c+1;//加1后c为98,字符'b'的ASCII码为98i=i+1;//'a'+1为'b'couticendl;}261.6常量与变量——变量声明的位置在C++中,变量可以在程序代码的任何位置去定义。例:求1+2+…+x-1#includeiostream.hvoidfunc(intk){inttotal;total=0;for(inti=0;ik;i++){total=total+i;}couttotal=totalendl;}voidmain(){intx;cinx;func(x);}271.7运算符与表达式C++的运算符:算术运算符关系运算符逻辑运算符位运算符运算符与操作数连接组成表达式。单目运算符:连接一个操作数的运算符;双目运算符:连接两个操作数的运算符;三目运算符:连接三个操作数的运算符。281.7运算符与表达式——算术运算符算术运算符用于加、减、乘、除、取余。自减自增取余除乘减加含义适用于整型变量y=x--;y=x,x=x-1y=--x;x=x-1,y=x--5-23-5*210*5/22/适用于整型变量y=x++;y=x,x=x+1y=++x;x=x+1,y=x++只适用于整型数5%21%5+27+备注例运算符例如,++--xyzx=10;10y=x++;1110z=++x;1212z=(x++)+(x++)+(x++);1536coutx++x++;17输出:1615291.7运算符与表达式——算术表达式算术表达式是把常量、变量、函数用算术运算符连接起来的有意义的式子。所谓有意义是指不能被0除等。算术表达式有整型和浮点型两类。301

1 / 51
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功