C++程序设计教程
定义描述二维坐标系中点(x,y)的类Point,重载递增运算符++和递减运算符--,并区分这两种运算符的前置和后置运算。编写main()函数,完整测试Point类的正确性
定义描述二维坐标系中点(x,y)的类Point,重载递增运算符++和递减运算符--,并区分这两种运算符的前置和后置运算。编写main()函数,完整测试Point类的正确性
答案:、C++语言的产生C++是从C语言发展演变而来的,首先是一个更好的C,它引入了类的机制,最初的C++被称为“带类的C”。1983年正式取名为C++,从1989年开始C++语言的标准化工作,于1994年制定了ANSI C++标准草案,1998年11月被国际标准化组织(ISO)批准为国际标准,成为目前的C++。
2、C++的特点全面兼容C,保持了C的简洁、高效和接近汇编语言等特点,对C的类型系统进行了改革和扩充,C++也支持面向过程的程序设计,不是一个纯正的面向对象的语言,支持面向对象的方法
C++程序实例—例2-1
//2_1.cpp
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello!\n";
cout<<"Welcome to c++!\n";
}
运行结果:
Hello!
Welcome to c++!
3、C++字符集大小写的英文字母:A~Z,a~z
数字字符:0~9
特殊字符:
空格 ! # % ^ & * _(下划线) + = - ~ < > / \ ' " ; . , () [] {}
4、词法记号关键字: C++预定义的单词
标识符:程序员声明的单词,它命名程序正文中的一些实体
文 字:在程序中直接使用符号表示的数据
操作符:用于实现各种运算的符号
分隔符 () {} , : ; : 用于分隔各个词法记号或程序正文
空白符: 空格、制表符(TAB键产生的字符)、换行符(Enter键所产生的字符)和注释的总称
5、标识符的构成规则以大写字母、小写字母或下划线(_)开始。
可以由以大写字母、小写字母、下划线(_)或数字0~9组成。
大写字母和小写字母代表不同的标识符。
6、数据类型: (1)数据类型 ——常量与变量举例说明下列程序中的常量与变量:
#include <iostream>
using namespace std;
int main(void)
{
const int PRICE=30;
int num,total;
float v ,r,h;
num=10;
total=num*PRICE;
cout<<total <<endl;
r=2.5;
h=3.2;
v=3.14159*r*r*h;
cout<<v <<endl;
}
(2)数据类型 ——整型数据#include <iostream>
using namespace std;
int main(void)
{
const int PRICE=30;
int num,total;
float v ,r,h;
num=10;
total=num*PRICE;
cout<<total <<endl;
r=2.5;
h=3.2;
v=3.14159*r*r*h;
cout<<v <<endl;
}
(3)数据类型——整型数据及取值范围类型 说明符 位数 数值范围
短整 short 16 -32768~32767
基本 int 32 -231~(231-1)
长整 long 32 -231~(231-1)
无符号
(4)数据类型——实型数据
unsigned short 16 0~65535
unsigned [int] 32 0~(232-1)
unsigned long 32 0~(232-1)#include <iostream>
using namespace std;
int main(void)
{
const int PRICE=30;
int num,total;
float v ,r,h;
num=10;
total=num*PRICE;
cout<<total<<endl;
r=2.5;
h=3.2;
v=3.14159*r*r*h;
cout<<v<<endl;
}
(5)数据类型——字符型数据(一)字符常量: 单引号括起来的一个字符,如:'a', 'D', '?', '$'。
字符变量: 用来存放字符常量。
例:char c1,c2;
c1='a';
c2='A';字符数据在内存中的存储形式: 以ASCII码存储,占1字节,用7个二进制位。
数据类型——字符型数据(二)
字符数据的使用方法: 字符数据和整型数据之间可以运算。
字符数据与整型数据可以互相赋值。
字符串常量:
例:"CHINA"
"a"
'a'所以:char c;
(6)数据类型——布尔型数据
c="a";布尔型变量的说明:例:bool flag;
布尔型数据的取值:只有 false 和 true 两个值
(7)数据类型——变量初始化例:
(8)数据类型——混合运算时的类型转换
int a=3;
double f=3.56;
char c='a';
int c(5);不同类型数据进行混合运算时,C++编译器会自动进行类型转换。为了避免不同的数据类型在运算中出现类型问题,应尽量使用同种类型数据。
可以采用强制类型转换,例如:
7、变量的存储类型
float c;
int a,b;
c=float(a)/float(b); 或 c= (float)a/(float)b;auto :属于一时性存储,其存储空间可以被若干变量多次覆盖使用。
register :存放在通用寄存器中。
extern :在所有函数和程序段中都可引用。
static :在内存中是以固定地址存放的,在整个程序运行期间都有效。
8、各种运算与表达式(1)算术运算符与算术表达式基本算术运算符:
+ - * / (若整数相除,结果取整)
%(取余,操作数为整数)
优先级与结合性: 先乘除,后加减,同级自左至右
++, --(自增、自减): 例:i++; -- j;
(2)赋值运算符和赋值表达式赋值运算符和赋值表达式——简单的赋值运算符"="
举例: n=n+5
表达式的类型: 等号左边对象的类型
表达式的值: 等号左边对象被赋值后的值
赋值运算符和赋值表达式——复合的赋值运算符
有10种复合运算符:+=, -=, *=, /=, %=, <<=,>>=,&=,^=,|=
例:
a+=3 等价于 a=a+3
x*=y+8 等价于 x=x*(y+8)赋值运算符和赋值表达式——赋值表达式举例
a=5 : 表达式值为5
a=b=c=5 : 表达式值为5,a,b,c均为5
a=5+(c=6) : 表达式值为11,a为11,c为6
a=(b=4)+(c=6) : 表达式值为10,a为10,b为4,c为6
a=(b=10)/(c=2) : 表达式值为5,a为5,b为10,c为2
a+=a-=a*a : 相当于 a=a+(a=a-a*a)
(3)逗号运算
上一个:Java和C++有什么区别
下一个:C++型别转换问题