一、数据类型
1、typedef:为已有的类型赋予新的名字(类似于#define)
例如:typedef int feet; 那么int(feet) distance 合理。
2、"枚举"是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。
enum color { red, green, blue } c;
c = blue;
二、变量类型
声明和定义区别:定义只能定义一次,声明可以多次。
extern int a ; //声明
int a=10;//定义
定义:用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
声明:指给除了当前变量或者函数,或者类什么的名字,不给其中的内容。
三、定义常量
const 只读 ,const int A=10;
#define LENGTH 10 宏定义
const优点:const 常量有数据类型,而 #define 没有,编译器可以对前者进行类型安全检查,而对后者只能进行字符替换,没有安全检查
四、C++存储类
静态存储方式是指在程序运行期间,系统对变量分配固定的存储空间。而动态存储方式则是在程序运行期间,系统对变量动态地分配存储空间。
具体包含4种:自动的(auto)、静 态的(static)、寄存器的(register)和外部的(extern)。
1、auto(自动)
默认都是auto。auto int b, c=3; 等同于 int b, c=3;
2、用static 声明静态局部变量
希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量保留上一次函数调用结束时的值。
输出1到5的阶乘。
#include <iostream>
using namespace std;
int fac(int);
int main()
{
int i;
for (i = 1; i <= 5; i++)
cout << i << "!=" << fac(i) << endl;
return 0;
}
int fac(int n)
{
static int f = 1;
f = f*n;
return f;
}
3、register(寄存器)
为提高执行效率,C++允许将局部变量的值放在CPU中的寄存器中,需要用时直接从寄存器取出参加运算,不必再到内存中去存取。
4、extern外部变量
extern 修饰符通常用于当有两个或多个文件共享相同的全局变量或函数的时候。
只要看到extern,就可以判定这是变量声明,而不是定义变量的语句。
五、运算符
算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。
1、关系运算符
== 检查两个操作数的值是否相等,如果相等则条件为真。
!=检查两个操作数的值是否相等,如果不相等则条件为真。
2、赋值运算符
<<== 左移且赋值运算符 C <<= 2 等同于 C = C << 2
六、C++循环
1、break用于完全结束一个循环,跳出循环体执行循环后面的语句。10 11 12 13 14 15
#include <iostream>
using namespace std;
int main()
{
int a = 10;
do
{
cout << "a的值" << a << endl;
a = a + 1;
if (a > 15)
{
break;
}
} while (a < 20);
return 0;
}
2、continue 是跳过当次循环中剩下的语句,执行下一次循环。只是终止一次循环。10 11 12 13 14 16 17 18 19
#include <iostream>
using namespace std;
int main()
{
int a = 10;
do
{
if (a == 15)
{
a = a + 1;
continue;
}
cout << "a的值:" << a << endl;
a = a + 1;
} while (a < 20);
return 0;
}
七、C++判断
if if....else switch 嵌套switch
#include <iostream>
using namespace std;
int main ()
{
// 局部变量声明
char grade = 'D';
switch(grade)
{
case 'A' :
cout << "很棒!" << endl;
break;
case 'B' :
case 'C' :
cout << "做得好" << endl;
break;
case 'D' :
cout << "您通过了" << endl;
break;
case 'F' :
cout << "最好再试一下" << endl;
break;
default :
cout << "无效的成绩" << endl;
}
cout << "您的成绩是 " << grade << endl;
return 0;
}