第1章 C++初步知识
C++的基本标准程序形式
# include <iostream> //头文件没有.h
# include <string> //string头文件
using namespace std; //使用命名空间std
int main(void)
{
string str; //增加了字符串变量这个数据类型string
return 0;
}
最简单的C++程序
# include <iostream>
using namespace std;
int main(void)
{
cout<<"This is a C++ program";
return 0;
}
求 a+b 的C++程序
#include <iostream>
using namespace std;
int main(void)
{
int a, b, sum;
cin >>a >>b; //输入语句
sum = a + b;
cout << "a + b = " << sum << endl; //输出语句,其中endl是end line的缩写,表示本行结束,用于换行
return 0;
}
PS:注释很重要,有时候可以占到一个程序的 1/3
类是C++新增加的重要的数据类型,是C++对于C的最重要的发展,有了类,就可以实现面向对象中的 封装、信息隐蔽、继承、派生和多态等功能
用高级语言编写出来的程序称为源程序,C++源程序的后缀名是 .cpp 其实是 C plus plus 的缩写
第2章 数据类型与表达式
C++的数据类型
数据类型与数据结构:例如使用指针和结构体类型就可以构成 表、树和栈等等复杂的结构
常量
包括数值常量和字符常量还有符号常量
浮点数为什么叫浮点数:在内存中,浮点数这种数值常量可以使用指数形式表示(当然也可以用十进制小数形式表示),在指数表示的过程中,可以通过改变指数部分使得小数点的位置浮动,这也就是浮点数这个名字的由来
字符常量中注意:普通的字符常量使用单引号表示,而字符串使用双引号表示
cout << '\n';
//等价于
cout << endl;
字符常量与整数进行算术运算(大小写转换,因为字符常量是 ASCII 码,'a' 是 97,'A' 是 65)
#include <iostream>
using namespace std;
int main(void)
{
char c1, c2;
c1 = 'a';
c2 = 'b';
c1 = c1 - 32;
c2 = c2 - 32;
cout << c1 << ' ' << c2 << endl;
return 0;
}
A B
符号常量举例:
#define PRICE 30
变量
变量:就是在程序运行过程中其值能够改变的量
匈牙利命名法:cSex 代表变量是字符类型的,iCount 代表变量是整型的
确定数据类型的原因是:当变量被指定为一个确定的数据类型之后,在编译时就可以为其分配相应的存储单元(内存分配在程序中的重要性)
只读变量(常变量):存储单元内的值不允许变化,其定义方式为
const int a;
运算符
我觉得这里要注意的有几个
(1)逻辑运算符:&& 与、|| 或、!非
(2)位运算符:& 按位与、| 按位或、~ 按位取反、^按位异或 以及 << 按位左移 和 >> 按位右移
(3)成员运算符:.
(4)指向成员的运算符:->
(5)下标运算符:[ ]
(6)模(求余)运算符:%
(7)自增自减运算符:
不得不提 ++i 和 i++ 的区别
对于 i 本身的数值变化来讲,++i 与 i++ 没有区别,但是如果你想获得 ++i 或者 i++ 这个语句的返回值 j( j=i++ 这样的),那么他们的区别就大了。j = i++ 就是先把 i 的值给 j 然后 i 再自增,j = ++i 就是 i 先自增再把 i 的值给 j。我的观点是,自己写代码时尽量让它们没有区别,也就是说不要写 j = i++ 或者 j=++i 这样的语句,每次都单独用 i++ 或者 ++i 实现 i 的自增,这样程序会更加明了。这里核心是要区别表达式的值和变量的值是不同的概念。