c++的产生和发展
从c语言发展演变而来,最初被称为“带类的C”,他最初尽可能的继承兼容C语言的所有语法,在这个基础上对类提供了支持。
C++的特点
兼容C,支持面向过程的程序设计
支持面向对象的方法
支持泛型程序设计方法
#include <iostream>
using namespace std;
int main(){
cout<<"Hello!"<<endl;
cout<<"Welcome to c++"<<endl;
return 0;
}
在这个简单的代码中cout是预定义好的类的对象,在随编译器带的库中都专门有输入输出类,每个输入输出的类都集成了一组常用的输入输出功能,<<是一个流插入运算,数据的输出就是信息的流动,输出流就是程序空间到外部设备送信息的时候就要先建立一个能够流通信息的通道。显示器送信息的流通到是默认打开的,负责向这个流送数据的就是 cout对象,送数据的动作就是<<,endl是预定义好的符号,表示行结束。
using namespace std; 命名空间可以避免命名冲突。
C++能够处理的基本数据类型
整数类型
基本的整数类型:int
按符号分:
◆符号的(signed)
◆无符号的(unsigned)
按数据范围分:
◆短整型(short)
◆长整型(long)
◆长长整型(long long)
浮点类型
◆单精度(float)
◆双精度(double)
◆扩展精度(long double)
字符类型(char)
◆容纳单个字符的编码
◆实质上存储的也是整数
字符串类型
◆有字符串常量
◆基本类型中没有字符串变量
◆采用字符数组存储字符串(C风格的字符串)
◆标准C++类库中的String类(C++风格的字符串)
布尔类型(bool)
◆只有两个值 : True 和 False
◆常用来表示关系比较、相等比较或逻辑运算的结果
C风格字符串常量
◆一对双引号括起来的字符序列
◆在内存中按传中字符的排列次序顺序存放,每个字符占一个字节
◆在末尾添加 ‘\0’ 作为结尾标记
逗号运算和逗号表达式
◆格式
表达式1 , 表达式2
◆求解顺序及结果
先求解表达式1 ,再求解表达式2
最终结果为表达式2的值
逻辑运算与逻辑表达式
◆逻辑运算符
优先次序: !(非) &&(与) ||(或)
高 一> 低
◆逻辑运算结果类型: bool,值只能为true或false
◆逻辑表达式
例如:(a> b) &&(x> y)
x=a>b?a:b
如果a大于b则将a的值赋予x,否则将b的值赋予x
位运算一一移位(<<、>>)
◆左移运算( << )
左移后,低位补0 ,高位舍弃
◆右移运算(>> )
右移后:
低位:舍弃
高位:
无符号数:补0
有符号数:补“符号位”
#include <iostream>
using namespace std;
int main() {
int a=15,c;
//逗号运算符 赋值运算符的优先级比逗号运算符的优先级高
a = (3 * 5,a*4);
cout << a << endl;
c = 3 * 5, a * 4;
cout << c << endl;
//sizeof可以测出a所属类型所占的字节数
int b = sizeof a;
cout << b<< endl;
cout << sizeof(int) << endl;
cout << sizeof(short) << endl;
cout << sizeof(long) << endl;
//条件表达式
int x, y, z;
cout << "input value of x:\n" << endl;
cin >> x;
cout << "input value of y:\n" << endl;
cin >> y;
z = (x - y) > 0 ? (x - y) : (y - x);
cout << "The difference of x and y is :" << z;
return 0;
}