版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章基本数据类型、运算符与表达式第1章基本数据类型、运算符与表达式本章主要内容C++基本数据类型及其定义方法。C++的常量定义(逻辑常量,整型常量,实型常量,字符常量,字符串常量,符号常量,枚举常量)。变量的定义与使用方法。C++运算符的种类、运算优先级和结合性。C++表达式类型及求值规则(赋值运算,算术运算,关系运算,逻辑运算,条件运算,逗号运算,位运算等)。本章主要内容C++基本数据类型及其定义方法。1-1数据类型C++提供了十分丰富的预定义数据类型,称为基本数据类型。除了基本数据类型外,C++还提供了构造数据类型,包括数组、结构体、共用体(联合体)、枚举和类等。C++可以使用的数据类型如图所示:1-1数据类型C++提供了十分丰富的预定义数据类型,称1-1-1基本数据类型每种基本数据类型各自所占的内存空间是不同的,因此所表示的数据的范围大小也不同。在5种基本数据类型中:字符型用于处理ASCII码字符整型用于处理整型数据浮点型用于处理带小数的实数布尔型用于表示的逻辑的true和false无值型主要用于处理函数和指针1-1-1基本数据类型每种基本数据类型各自所占的内存空间1-1-2类型修饰符C++的类型修饰符包括:signed
有符号型unsigned
无符号型short
短型long
长型在基本数据类型(除void类型外)前加上类型修饰符后,C++的基本数据类型为:1-1-2类型修饰符C++的类型修饰符包括:说明:(1)表中带[]的部分表示是可以省略的,如short[int]可以写为shortint或简写为short,二者的含义是相同的。(2)4种修饰符都可以用来修饰整型和字符型。用signed修饰的类型的值可以为正数或负数,用unsigned修饰的类型的值只能为正数。说明:1-2常量常量按照不同的数据类型可以分为:逻辑常量整型常量浮点型(实型)常量字符型常量字符串常量程序是根据程序中常量的书写格式来区分它是属于哪种类型的常量。1-2常量常量按照不同的数据类型可以分为:1-2-1逻辑常量逻辑型的取值只有true和false两个,它们称为逻辑常量,分别对应着整数1和0。逻辑常量主要用在逻辑运算中。如:inta=2,b=3;boolx;x=(a==b);1-2-1逻辑常量逻辑型的取值只有true和false两个在程序中,用户根据需要分别可以用十进制、八进制和十六进制的形式书写整型常量。(1)十进制格式:由数字0至9和正、负号组成书写时直接写出数字若为longint型的常量,需在常量后加一个字母l或L如0、11、300等。1-2-2整型常量在程序中,用户根据需要分别可以用十进制、八进制和十六进制的形(2)八进制格式:以0开头的数字(0至7)序列如0111、01357、0171717等。
(3)十六进制格式:以0x或0X开头的数字(数字0至9、字母a至f)序列如0xAA、0X12EF、0xFFFF等。(2)八进制格式:浮点型常量可以用十进制小数形式或指数形式表示。注意:在程序中无论采用十进制小数形式还是指数形式,在内存中都是以指数形式存储的。1-2-3浮点型常量浮点型常量可以用十进制小数形式或指数形式表示。1-2-3浮(1)十进制小数形式:一般由整数部分和小数部分组成,也可省略其一,但不能二者皆省。例如:.345
45.如果在实数的数字后面加上字母F或f,表示此数为单精度浮点数;如果加上字母L或l,表示此数为长双精度数。(1)十进制小数形式:(2)指数形式:也就是通常所讲的科学记数法的描述形式。是由数字和e(或E)组成的,且e(或E)之前必须有数字e(或E)之后必须为整数如:12e3
12E3
.56e8e5
9e3.6(2)指数形式:字符型常量分为普通字符常量和转义字符常量(1)普通字符常量用一对单引号括起来的一个字符如‘s’,‘Y’等1-2-4字符型常量字符型常量分为普通字符常量和转义字符常量1-2-4字符型常注意:①单引号只是字符与其他部分的分隔符,不是字符的一部分,并且不能用双引号代替单引号,如"Y"不代表字符常量。②字符常量只能包括一个字符,如'ab'是不合法的。③单引号中的字符不能是单引号或反斜杠,‘’’
和‘\’都是非法的字符常量。④字符常量区分大小写,如'Y'和'y'表示两个不同的字符常量。注意:①单引号只是字符与其他部分的分隔符,不是字符的一部分,(2)转义字符常量在C++中,有一些字符用于控制输出或编译系统本身保留,无法作为字符常量来表示。C++规定,采用反斜杠后跟一个字母来代表一个控制字符,反斜杠后的字符不再作原有的字符使用,而具有新的含义。(2)转义字符常量(3)字符数据在内存中的存储形式及其使用方法存储该字符相应的ASCII码,并以二进制形式存放。例如:c1=‘a’c2=‘b’注意:字符数据的运算,均以字符的ASCII码进行运算。(3)字符数据在内存中的存储形式及其使用方法例如:c1=‘a例字符数据和整型数据相互赋值。#include<iostream>usingnamespacestd;intmain(){ inti; charj; //j是字符型变量
i='A';//将一个字符常量赋给整型变量i j=97;//将一个字符常量赋给整型变量j cout<<i<<'\n'<<j<<'\n'; return0;}字符数据的使用方法:1、字符数据和整型数据可以相互赋值。2、字符数据和整型数据之间可以运算。例字符数据和整型数据相互赋值。字符数据的使用方法:例字符数据与整数进行算术运算。下面程序的作用是将小写字母a,b转换为大写字母A,B。#include<iostream>usingnamespacestd;intmain(){charc1,c2;cout<<c1<<′′<<c2<<endl;return0;}c1=′a′;c2=′b′;c1=c1-32;c2=c2-32;例字符数据与整数进行算术运算。下面程序的作用是将小写字母用一对双引号括起来的一个或多个字符的序列字符串以双引号为定界符,双引号不作为字符串的一部分可以将转义字符加入字符串,转义字符占用一个字节。如:"Hello""A""GoodMorning!""Isay\n"1-2-5字符串常量用一对双引号括起来的一个或多个字符的序列1-2-5字符串常字符串中的字符的个数称为该字符串的长度。字符串常量要用字符数组来存放。在存储时,系统自动在字符串的末尾加以字符串结束标志,即转义字符"\0"
。字符串中的字符的个数称为该字符串的长度。注意:‘0’和“0”的区别。‘0’为字符常量,“0”为字符串常量。C++规定以字符‘\0’作为字符串结束标志。在内存中以‘\0’为结尾。‘\0’在输出时不显示,只表示字符串结束。cout<<″abc″<<″s″<<endl;输出4个字符abcs,而不包括'\0'
。字符串常量″abc″在内存中占4个字节(而不是3个字节),见图。注意:‘0’和“0”的区别。‘0’为字符常量,“0”为注意:″a″和′a′不同,″a″是字符串常量,′a′是字符常量。前者占两个字节,后者占1个字节。 charc;//定义一个字符变量 c=′a′; c=″a″;思考:字符串常量″abc\n″包含几个字符?编译系统遇到“\”时就会把它认作转义字符的标志,把它和其后的字符一起作为一个转义字符。注意:″a″和′a′不同,″a″是字符串常量,′a′是字常量也可用一个标识符来表示,称为符号常量。符号常量的一般定义格式如下:
#define标识符字符串例如:#defineMAX30//末尾不加分号【例1-1】计算圆的周长和面积。#define…..1-2-6符号常量常量也可用一个标识符来表示,称为符号常量。1-2-6符号常注意:符号常量名一般用大写,而变量名用小写,以示区别。符号常量不同于变量,在其作用域内其值不能改变和赋值。注意:1-2-7枚举常量所谓“枚举”就是一一列举之意,当某些量仅由有限个数据组成时,通常用枚举类型来表示。声明枚举类型用关键字enum开头。其声明形式为:enum枚举类型名{枚举值1,枚举值2,……,枚举值n};enumweekday(sun,mon,tue,wed,thu,fri,sat);说明:对枚举值按常量处理,故称为枚举常量。枚举常量是有值的,C++语言按定义时的顺序使它们的值依次为0,1,2,……。可以改变枚举常量的值,但必须在定义时由程序员指定。enumweekday(sun=7,mon=1,tue,wed,thu,fri,sat);1-2-7枚举常量所谓“枚举”就是一一列举之意,当某些量1-3变量变量是指在程序的运行过程中其值可以变化的量。变量在使用之前需要先进行类型和名称的声明。1-3变量变量是指在程序的运行过程中其值可以变化的量。1-3-1变量的概念变量是用于保存程序运算过程中所需要的原始数据中间运算结果最终结果每一个变量就相当于一个容器,对应着计算机内存中的某一块存储单元。变量的值具有以下两个特点:一充即无取之不尽inti;i=10;inti,j,k;i=10;j=i+10;k=i+j*5;1-3-1变量的概念变量是用于保存程序运算过程中所需要的iC++规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。如:sum,total2,_day,Student_name变量名命名规则不能与C++关键字相同(如:不能取名为main、Class、if、friend等)下面标识符是否合法:M.D.John,#33,3G64,Lingli,C++,return_student,s_max,Float,floatC++规定标识符只能由字母、数字和下划线3种字符组成,且第一注意:大写字母和小写字母被认为是两个不同的字符。 如:sum和SUM是两个不同的变量名。命名约定:1、变量名、函数名用小写字母;2、符号常量名及宏用大写字母;3、下划线开头的名字常为系统程序(库函数用),用户一般不用。4、要有意义:如sum表示“求和变量”。国外软件命名时,第1个字母表示数据类型,如isum注意:大写字母和小写字母被认为是两个不同的字符。 1-3-2变量的定义每一变量都要先定义、后使用;定义变量3种格式:[修饰符]数据类型标识符变量名列表;[修饰符]数据类型标识符变量名=初始化值;[修饰符]数据类型标识符变量名1[=初始值1],变量名2[=初始值2],……;如:inti=1000; charc=’A’;floata=2,b; 1-3-2变量的定义每一变量都要先定义、后使用;1-3-3变量的使用变量的赋值形式变量=表达式;例如:charc1,c2;c1=’N’; //将c1的值赋为Nc2=’Y’; //将c2的值赋为Y变量的初始化charc1=’N’,c2=’Y’;注意:赋值运算符的运算方向是从右到左。1-3-3变量的使用变量的赋值形式变量的定义位置:在函数体内部——局部变量voidfun1(){ intx; //局部变量x x=10;}voidfun2(){ intx; //局部变量x x=-100;}变量的定义位置:形式参数——局部变量intmax(inta,intb){ if(a>b) returna; else returnb;}形式参数——局部变量全局变量intp=1,q=5; //全局变量p、qfloatfun1(inta){ intb,c ……}charc1,c2; //全局变量c1、c2charfun2(intx,inty){ inti,j; …… }intmain(){ intm,n.; ……}注意:如果在程序中没有对全局变量进行初始化,则系统会自动将其初始化为0。
全局变量注意:如果在程序中没有对全局变量进行初始化,则系统会1-3-4常变量const数据类型标识符常变量名=常量值;例如:constinta=10;区别用#define定义的符号常量和用const定义的常变量:符号常量使用一个字符串代替程序中出现的一个标识符,是在编译时把所有的符号常量都替换成指定的字符串,它没有数据类型,在内存中也不存在以符号常量命名的存储单元。常变量则具有变量的特征,它有数据类型,在内存中存在以它的名字命名的存储单元,只是与一般变量所不同的是常变量的值不能够改变。1-3-4常变量const数据类型标识符常变量名=1-4运算符和表达式1-4-1
运算符和表达式简介运算符是表示进行何种运算的符号,又称为操作符。运算量包含常量、变量、函数等,又称为操作数。C++语言的运算符按照其在表达式中与操作数的关系(即连接的操作数的个数),可以分为:单目运算符,如,*、++等;双目运算符,如,+、&&等;三目运算符,如,条件运算符?:。每个运算符都有优先级和结合性:当一个表达式中包含多个运算符时,先进行优先级高的运算,在进行优先级低的运算;而对于多个优先级相同的运算符,运算的顺序就要看运算符的结合性了。1-4运算符和表达式1-4-1运算符和表达式简介指针运算符(*)引用运算符和地址运算符(&)求字节数运算符(sizeof)强制类型转换运算符((类型)或类型())成员运算符(.)指向成员的运算符(->)下标运算符([])指针运算符(*)基本的算术运算符++、--、+(正号)、-(负号)*(乘)、/(除)、%(取余)+(加法)、-(减法)优先级高到低基本的算术运算符++、--、+(正号)、-(负号)优先级(1)/(除)例:5/2值为:2若/的两操作数都为整数,则为整除。9/2值为:4例:5/2.05.0/25.0/2.0值为:2.5若/的两操作数中有一个浮点数,则为正常的整法运算。(1)/(除)值为:2若/的两操作数都为整数,则例: inti=15; floatf; f=i/10;结果为:f=1如果希望f的结果为1.5,则可将第三条语句改为:
例:在C++中,(7/3+1)+5/6的值是()3f=(float)i/10;
或f=i/10.0;例: inti=15;结果为:f=1如果希望要求%的两操作数必须为整数,不允许对浮点数操作。例:3%4=34%4=0-4%3=-14%-3=1(2)%(取余)余数的符号与被除数相同。n=40%5n=40%7n=-40%705-5要求%的两操作数必须为整数,不允许对浮点数操作。(2)运算对象包括常量(数值常量、字符常量,不能对字符串常量进行运算)、变量、函数等。
a*b/c-1.5+’a’
a*b/c-1.5+’ab’算术表达式和运算符的优先级与结合性在求解表达式时,先按一个运算对象两侧的运算符的优先级别高低次序执行。
a-b*c如果在一个运算对象两侧的运算符的优先级别相同,则按“自左至右”结合,如
a-b+c运算对象包括常量(数值常量、字符常量,不能对字符串常量进行运在表达式中常遇到不同类型数据之间进行运算,如: 10+’
a’+1.5-1.4*’A’表达式中各类数值型数据间的混合运算在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图所示。在表达式中常遇到不同类型数据之间进行运算,如: 表达式中各类假设已指定i为整型变量,f为float变量,e为long型,有下面表达式:
10+‘a’+i*f–i/e(上述的类型转换是由系统自动完成的)10+‘a’+i*f–i/e
1 例:1.5+32/5的值是()7.5例:(1.5+32)/5的值是()6.7假设已指定i为整型变量,f为float变量,e为long型,(1)、a++
:先取a的值作为表达式的值,然后a=a+1例:inta;a=2;j=a++
自增和自减运算符(++、--)结果为:j=2,a=3(2)、++a:先a=a+1,然后取a的值作为表达式的值。例:inta;a=2;j=++a结果为:j=3,a=3(3)、a
--:先取a的值作为表达式的值,然后a=a-1例:inta;a=2;j=a--结果为:j=2,a=1(4)、--
a:先a=a+1,然后取a的值作为表达式的值。例:inta;a=2;j=--a结果为:j=,a=(1)、a++:先取a的值作为表达式的值,然后a=a+1自例:写出下列程序运行结果:inta=3;intb=++a;cout<<a<<""<<b<<endl;intc=a++;cout<<a<<""<<c<<endl;答案:4454例:写出下列程序运行结果:答案:44#include<iostream>usingnamespacestd;intmain(){ inti,j,m,n; i=8; j=10; m=++i+j++; n=i+++j; cout<<i<<'\t'<<j<<'\t'<<n<<endl; return0;}答案:101220注意:后置++、--的优先级高于前置++、--#include<iostream>答案:101正确地使用++和--,可以使程序简洁、清晰、高效。请注意:(1)自增(减)运算符只能用于变量,而不能用于常量或表达式。(5++、(a+5)++、a++)(2)自增(减)运算符使用十分灵活,但在很多情况下可能出现歧义性,产生“意想不到”的副作用。(3)自增(减)运算符在C++程序中是经常见到的,常用于循环语句中,使循环变量自动加1。也用于指针变量,使指针指向下一个地址。正确地使用++和--,可以使程序简洁、清晰、高效。(2第1章基本数据类型、运算符与表达式第1章基本数据类型、运算符与表达式本章主要内容C++基本数据类型及其定义方法。C++的常量定义(逻辑常量,整型常量,实型常量,字符常量,字符串常量,符号常量,枚举常量)。变量的定义与使用方法。C++运算符的种类、运算优先级和结合性。C++表达式类型及求值规则(赋值运算,算术运算,关系运算,逻辑运算,条件运算,逗号运算,位运算等)。本章主要内容C++基本数据类型及其定义方法。1-1数据类型C++提供了十分丰富的预定义数据类型,称为基本数据类型。除了基本数据类型外,C++还提供了构造数据类型,包括数组、结构体、共用体(联合体)、枚举和类等。C++可以使用的数据类型如图所示:1-1数据类型C++提供了十分丰富的预定义数据类型,称1-1-1基本数据类型每种基本数据类型各自所占的内存空间是不同的,因此所表示的数据的范围大小也不同。在5种基本数据类型中:字符型用于处理ASCII码字符整型用于处理整型数据浮点型用于处理带小数的实数布尔型用于表示的逻辑的true和false无值型主要用于处理函数和指针1-1-1基本数据类型每种基本数据类型各自所占的内存空间1-1-2类型修饰符C++的类型修饰符包括:signed
有符号型unsigned
无符号型short
短型long
长型在基本数据类型(除void类型外)前加上类型修饰符后,C++的基本数据类型为:1-1-2类型修饰符C++的类型修饰符包括:说明:(1)表中带[]的部分表示是可以省略的,如short[int]可以写为shortint或简写为short,二者的含义是相同的。(2)4种修饰符都可以用来修饰整型和字符型。用signed修饰的类型的值可以为正数或负数,用unsigned修饰的类型的值只能为正数。说明:1-2常量常量按照不同的数据类型可以分为:逻辑常量整型常量浮点型(实型)常量字符型常量字符串常量程序是根据程序中常量的书写格式来区分它是属于哪种类型的常量。1-2常量常量按照不同的数据类型可以分为:1-2-1逻辑常量逻辑型的取值只有true和false两个,它们称为逻辑常量,分别对应着整数1和0。逻辑常量主要用在逻辑运算中。如:inta=2,b=3;boolx;x=(a==b);1-2-1逻辑常量逻辑型的取值只有true和false两个在程序中,用户根据需要分别可以用十进制、八进制和十六进制的形式书写整型常量。(1)十进制格式:由数字0至9和正、负号组成书写时直接写出数字若为longint型的常量,需在常量后加一个字母l或L如0、11、300等。1-2-2整型常量在程序中,用户根据需要分别可以用十进制、八进制和十六进制的形(2)八进制格式:以0开头的数字(0至7)序列如0111、01357、0171717等。
(3)十六进制格式:以0x或0X开头的数字(数字0至9、字母a至f)序列如0xAA、0X12EF、0xFFFF等。(2)八进制格式:浮点型常量可以用十进制小数形式或指数形式表示。注意:在程序中无论采用十进制小数形式还是指数形式,在内存中都是以指数形式存储的。1-2-3浮点型常量浮点型常量可以用十进制小数形式或指数形式表示。1-2-3浮(1)十进制小数形式:一般由整数部分和小数部分组成,也可省略其一,但不能二者皆省。例如:.345
45.如果在实数的数字后面加上字母F或f,表示此数为单精度浮点数;如果加上字母L或l,表示此数为长双精度数。(1)十进制小数形式:(2)指数形式:也就是通常所讲的科学记数法的描述形式。是由数字和e(或E)组成的,且e(或E)之前必须有数字e(或E)之后必须为整数如:12e3
12E3
.56e8e5
9e3.6(2)指数形式:字符型常量分为普通字符常量和转义字符常量(1)普通字符常量用一对单引号括起来的一个字符如‘s’,‘Y’等1-2-4字符型常量字符型常量分为普通字符常量和转义字符常量1-2-4字符型常注意:①单引号只是字符与其他部分的分隔符,不是字符的一部分,并且不能用双引号代替单引号,如"Y"不代表字符常量。②字符常量只能包括一个字符,如'ab'是不合法的。③单引号中的字符不能是单引号或反斜杠,‘’’
和‘\’都是非法的字符常量。④字符常量区分大小写,如'Y'和'y'表示两个不同的字符常量。注意:①单引号只是字符与其他部分的分隔符,不是字符的一部分,(2)转义字符常量在C++中,有一些字符用于控制输出或编译系统本身保留,无法作为字符常量来表示。C++规定,采用反斜杠后跟一个字母来代表一个控制字符,反斜杠后的字符不再作原有的字符使用,而具有新的含义。(2)转义字符常量(3)字符数据在内存中的存储形式及其使用方法存储该字符相应的ASCII码,并以二进制形式存放。例如:c1=‘a’c2=‘b’注意:字符数据的运算,均以字符的ASCII码进行运算。(3)字符数据在内存中的存储形式及其使用方法例如:c1=‘a例字符数据和整型数据相互赋值。#include<iostream>usingnamespacestd;intmain(){ inti; charj; //j是字符型变量
i='A';//将一个字符常量赋给整型变量i j=97;//将一个字符常量赋给整型变量j cout<<i<<'\n'<<j<<'\n'; return0;}字符数据的使用方法:1、字符数据和整型数据可以相互赋值。2、字符数据和整型数据之间可以运算。例字符数据和整型数据相互赋值。字符数据的使用方法:例字符数据与整数进行算术运算。下面程序的作用是将小写字母a,b转换为大写字母A,B。#include<iostream>usingnamespacestd;intmain(){charc1,c2;cout<<c1<<′′<<c2<<endl;return0;}c1=′a′;c2=′b′;c1=c1-32;c2=c2-32;例字符数据与整数进行算术运算。下面程序的作用是将小写字母用一对双引号括起来的一个或多个字符的序列字符串以双引号为定界符,双引号不作为字符串的一部分可以将转义字符加入字符串,转义字符占用一个字节。如:"Hello""A""GoodMorning!""Isay\n"1-2-5字符串常量用一对双引号括起来的一个或多个字符的序列1-2-5字符串常字符串中的字符的个数称为该字符串的长度。字符串常量要用字符数组来存放。在存储时,系统自动在字符串的末尾加以字符串结束标志,即转义字符"\0"
。字符串中的字符的个数称为该字符串的长度。注意:‘0’和“0”的区别。‘0’为字符常量,“0”为字符串常量。C++规定以字符‘\0’作为字符串结束标志。在内存中以‘\0’为结尾。‘\0’在输出时不显示,只表示字符串结束。cout<<″abc″<<″s″<<endl;输出4个字符abcs,而不包括'\0'
。字符串常量″abc″在内存中占4个字节(而不是3个字节),见图。注意:‘0’和“0”的区别。‘0’为字符常量,“0”为注意:″a″和′a′不同,″a″是字符串常量,′a′是字符常量。前者占两个字节,后者占1个字节。 charc;//定义一个字符变量 c=′a′; c=″a″;思考:字符串常量″abc\n″包含几个字符?编译系统遇到“\”时就会把它认作转义字符的标志,把它和其后的字符一起作为一个转义字符。注意:″a″和′a′不同,″a″是字符串常量,′a′是字常量也可用一个标识符来表示,称为符号常量。符号常量的一般定义格式如下:
#define标识符字符串例如:#defineMAX30//末尾不加分号【例1-1】计算圆的周长和面积。#define…..1-2-6符号常量常量也可用一个标识符来表示,称为符号常量。1-2-6符号常注意:符号常量名一般用大写,而变量名用小写,以示区别。符号常量不同于变量,在其作用域内其值不能改变和赋值。注意:1-2-7枚举常量所谓“枚举”就是一一列举之意,当某些量仅由有限个数据组成时,通常用枚举类型来表示。声明枚举类型用关键字enum开头。其声明形式为:enum枚举类型名{枚举值1,枚举值2,……,枚举值n};enumweekday(sun,mon,tue,wed,thu,fri,sat);说明:对枚举值按常量处理,故称为枚举常量。枚举常量是有值的,C++语言按定义时的顺序使它们的值依次为0,1,2,……。可以改变枚举常量的值,但必须在定义时由程序员指定。enumweekday(sun=7,mon=1,tue,wed,thu,fri,sat);1-2-7枚举常量所谓“枚举”就是一一列举之意,当某些量1-3变量变量是指在程序的运行过程中其值可以变化的量。变量在使用之前需要先进行类型和名称的声明。1-3变量变量是指在程序的运行过程中其值可以变化的量。1-3-1变量的概念变量是用于保存程序运算过程中所需要的原始数据中间运算结果最终结果每一个变量就相当于一个容器,对应着计算机内存中的某一块存储单元。变量的值具有以下两个特点:一充即无取之不尽inti;i=10;inti,j,k;i=10;j=i+10;k=i+j*5;1-3-1变量的概念变量是用于保存程序运算过程中所需要的iC++规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。如:sum,total2,_day,Student_name变量名命名规则不能与C++关键字相同(如:不能取名为main、Class、if、friend等)下面标识符是否合法:M.D.John,#33,3G64,Lingli,C++,return_student,s_max,Float,floatC++规定标识符只能由字母、数字和下划线3种字符组成,且第一注意:大写字母和小写字母被认为是两个不同的字符。 如:sum和SUM是两个不同的变量名。命名约定:1、变量名、函数名用小写字母;2、符号常量名及宏用大写字母;3、下划线开头的名字常为系统程序(库函数用),用户一般不用。4、要有意义:如sum表示“求和变量”。国外软件命名时,第1个字母表示数据类型,如isum注意:大写字母和小写字母被认为是两个不同的字符。 1-3-2变量的定义每一变量都要先定义、后使用;定义变量3种格式:[修饰符]数据类型标识符变量名列表;[修饰符]数据类型标识符变量名=初始化值;[修饰符]数据类型标识符变量名1[=初始值1],变量名2[=初始值2],……;如:inti=1000; charc=’A’;floata=2,b; 1-3-2变量的定义每一变量都要先定义、后使用;1-3-3变量的使用变量的赋值形式变量=表达式;例如:charc1,c2;c1=’N’; //将c1的值赋为Nc2=’Y’; //将c2的值赋为Y变量的初始化charc1=’N’,c2=’Y’;注意:赋值运算符的运算方向是从右到左。1-3-3变量的使用变量的赋值形式变量的定义位置:在函数体内部——局部变量voidfun1(){ intx; //局部变量x x=10;}voidfun2(){ intx; //局部变量x x=-100;}变量的定义位置:形式参数——局部变量intmax(inta,intb){ if(a>b) returna; else returnb;}形式参数——局部变量全局变量intp=1,q=5; //全局变量p、qfloatfun1(inta){ intb,c ……}charc1,c2; //全局变量c1、c2charfun2(intx,inty){ inti,j; …… }intmain(){ intm,n.; ……}注意:如果在程序中没有对全局变量进行初始化,则系统会自动将其初始化为0。
全局变量注意:如果在程序中没有对全局变量进行初始化,则系统会1-3-4常变量const数据类型标识符常变量名=常量值;例如:constinta=10;区别用#define定义的符号常量和用const定义的常变量:符号常量使用一个字符串代替程序中出现的一个标识符,是在编译时把所有的符号常量都替换成指定的字符串,它没有数据类型,在内存中也不存在以符号常量命名的存储单元。常变量则具有变量的特征,它有数据类型,在内存中存在以它的名字命名的存储单元,只是与一般变量所不同的是常变量的值不能够改变。1-3-4常变量const数据类型标识符常变量名=1-4运算符和表达式1-4-1
运算符和表达式简介运算符是表示进行何种运算的符号,又称为操作符。运算量包含常量、变量、函数等,又称为操作数。C++语言的运算符按照其在表达式中与操作数的关系(即连接的操作数的个数),可以分为:单目运算符,如,*、++等;双目运算符,如,+、&&等;三目运算符,如,条件运算符?:。每个运算符都有优先级和结合性:当一个表达式中包含多个运算符时,先进行优先级高的运算,在进行优先级低的运算;而对于多个优先级相同的运算符,运算的顺序就要看运算符的结合性了。1-4运算符和表达式1-4-1运算符和表达式简介指针运算符(*)引用运算符和地址运算符(&)求字节数运算符(sizeof)强制类型转换运算符((类型)或类型())成员运算符(.)指向成员的运算符(->)下标运算符([])指针运算符(*)基本的算术运算符++、--、+(正号)、-(负号)*(乘)、/(除)、%(取余)+(加法)、-(减法)优先级高到低基本的算术运算符++、--、+(正号)、-(负号)优先级(1)/(除)例:5/2值为:2若/的两操作数都为整数,则为整除。9/2值为:4例:5/2.05.0/25.0/2.0值为:2.5若/的两操作数中有一个浮点数,则为正常的整法运算。(1)/(除)值为:2若/的两操作数都为整数,则例: inti=15; floatf; f=i/10;结果为:f=1如果希望f的结果为1.5,则可将第三条语句改为:
例:在C++中,(7/3+1)+5/6的值是()3f=(float)i/10;
或f=i/10.0;例: inti=15;结果为:f=1如果希望要求%的两操作数必须为整数,不允许对浮点数操作。例:3%4=34%4=0-4%3=-14%-3=1(2)%(取余)余数的符号与被除数相同。n=40%5n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《制头颈部》课件
- 甘肃省定西市陇西县2024-2025学年七年级上学期12月第二次月考道德与法治试题(含答案)
- 工程测量学课件
- 工厂工会管理制度
- 国家基本医疗保险、工伤保险和生育保险药品目录(2025年)
- 《劳动力市场经济学》课件
- 耳内镜治疗操作
- 人教部编版七年级上册语文第四单元全单元教学课件(新教材)
- 2024年全款购置商业地产合同3篇
- 2021年自考《食品标准与法规》习题及答案(卷二)
- 全国计算机等级考试二级Python复习备考题库(含答案)
- 《生物安全培训》课件-2024鲜版
- 责任保险行业可行性分析报告
- 劳务派遣人员薪资管理办法
- 医疗设备清单-2
- 生命哲学:爱、美与死亡智慧树知到期末考试答案章节答案2024年四川大学
- 2024年全国高考体育单招考试语文试卷试题(含答案详解)
- 社区专职工作者考试(题库版)
- MOOC 中国衣裳-传统服装文化-西南交通大学 中国大学慕课答案
- 2024年04月天津市应急管理局招考聘用应急管理综合行政执法专职技术检查员笔试历年高频考题难与易错考点摘选后附答案详解
- SBT 10538-2017 文物艺术品拍卖规程(修订 SBT 10538-2009)
评论
0/150
提交评论