1、C++是静态类型语言,使用静态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。
2、面向对象程序设计
C++ 完全支持面向对象的程序设计,包括面向对象开发的四大特性:
- 封装
- 抽象
- 继承
- 多态
3、基础语法
a.C++ 是区分大小写的编程语言
b.三字符组就是用于表示另一个字符的三个字符序列,又称为三字符序列。三字符序列总是以两个问号开头。三字符序列可以出现在任何地方,包括字符串、字符序列、注释和预处理指令。
// 变量声明 extern int a, b; extern int c; extern float f; int main () { // 变量定义 int a, b; int c; float f; // 实际初始化 a = 10; b = 20; c = a + b; cout << c << endl ; f = 70.0/3.0; cout << f << endl ; —变量作用域 //⚠️ 全局变量可以和局部变量名相同,但在函数内,局部会覆盖全局变量 #include <iostream> using namespace std; //全局的变量 int c,d; void bianliang(void); int main(int argc, const char * argv[]) { //函数内的变量 int a,b; a = 10; b = 13; cout << a+b; bianliang(); c = d +1; cout << c; return 0; } void bianliang(void){ c = 13; d = c + 5; }
—整数常量 //⚠️ 整数常量:也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned) L表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。 浮点常量:210f // 非法的:没有小数或指数、 布尔值常量:布尔常量布尔常量共有两个,它们都是标准的 C++ 关键字: true 值代表真。false 值代表假。 //常量定义:在 C++ 中,有两种简单的定义常量的方式: 使用 #define 预处理器。 使用 const 关键字。 /*宏定义 #define 和常量 const 的区别 类型和安全检查不同 宏定义是字符替换,没有数据类型的区别,同时这种替换没有类型安全检查,可能产生边际效应等错误; const常量是常量的声明,有类型区别,需要在编译阶段进行类型检查 编译器处理不同 宏定义是一个"编译时"概念,在预处理阶段展开,不能对宏定义进行调试,生命周期结束与编译时期; const常量是一个"运行时"概念,在程序运行使用,类似于一个只读行数据 存储方式不同 宏定义是直接替换,不会分配内存,存储与程序的代码段中; const常量需要进行内存分配,存储与程序的数据段中*/
//宏定义在头部 或者 函数内。在全局都有效 —函数 Lambda 函数与表达式 C++11 提供了对匿名函数的支持,称为 Lambda 函数(也叫 Lambda 表达式)。 Lambda 表达式把函数看作对象。Lambda 表达式可以像对象一样使用,比如可以将它们赋给变量和作为参数传递,还可以像函数一样对其求值。 [函数对象参数] (操作符重载函数参数) mutable或exception声明 -> 返回值类型 {函数体} C++11 lambda 表达式解析 —数组 #include <iomanip> using std::setw; cout<<245667<<setw(15)<<33<<endl; 输出:245667 33。 ,带有空格的输出 ——字符串 序号 函数 & 目的 1 strcpy(s1, s2); 复制字符串 s2 到字符串 s1。 2 strcat(s1, s2); 连接字符串 s2 到字符串 s1 的末尾。 3 strlen(s1); 返回字符串 s1 的长度。 4 strcmp(s1, s2); 如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。 5 strchr(s1, ch); 返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。 6 strstr(s1, s2); 返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。 C++ 日期 & 时间http://www.runoob.com/cplusplus/cpp-date-time.html // 输出流 char name[23]; int age; cout <<"请输入你的名字"; //输入 cin >> name >> age; //输出 cout << name<<age; cerr<<"错误流"; clog << "日志流";