====== 极度简化的C/C++教程 ====== 1. 变量与变量类型 变量定义的方式: <类型> <变量名称>; <类型> <变量名称> = <数值>; eg. int a = 1; 变量类型: 整型: int 2 字节 0 - 65535 长整形: long 字符型: char 1 字节 0 - 255 浮点型: float sizeof(long); 变量修饰: 无符号: unsigned unsigned int a = 0; 静态: static ----------------------------------------------------------- 常量定义方式: const <类型> <常量名称> = <数值>; 宏定义: #define <宏名称> <宏值> pinMode(3, OUTPUT); #define PO(x) pinMode(x, OUTPUT) #define PI(x) pinMode(x, INPUT) #include 头文件 #ifndef MAIN_H #define MAIN_H 声明各种 #endif a.c int aaa = 1; b.c extern int aaa; printf(aaa); ----------------------------------------------------------- 数组: <类型> <变量名称>[n]; <类型> <变量名称>[n] = {v1,v2,...v_n}; int array[10] = {0}; a = array[10]; X ----------------------------------------------------------- 字符串: C本身并没有字符串这个类型 字符数组来表示字符串 char str[] = "Your String"; str = "adlhasdfhkl";X //特别注意: 只有在初始化的时候可以用=赋值字符串 //其他的时候,需要用strcpy函数来复制字符串 ----------------------------------------------------------- 变量的赋值: = 运算:+ — * / % 取模 逻辑运算:|| && ! 或 与 非 unsigned char == != > < >= <= 位运算: | & ^ ~ >> << 或 与 异或 非 右移 左移 char 8 bit 7 6 5 4 3 2 1 0 1 0 1 0 1 1 1 0 | 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 1 & 1 0 0 0 1 1 1 0 ~ 0 1 0 1 0 0 0 1 >>1 0 1 0 1 0 1 1 1 改变优先级:() ----------------------------------------------------------- ---- 2. 面向过程的程序的三种结构 ----------------------------------------------------------- 顺序执行 ----------------------------------------------------------- 语句1; 语句2; 语句3; ... ----------------------------------------------------------- 选择执行 ----------------------------------------------------------- if 语句系列 if (条件) { 语句块1; } else { 语句块2; } if (条件) { 语句块1; } if (条件1) { 语句块1; } else if (条件2) { 语句块2; } else { 语句块3; } switch语句: switch (n) { case 1: 语句块1; //break; case 2: 语句快2; break; ... default: break; } ----------------------------------------------------------- 循环执行 ----------------------------------------------------------- for 循环 for (循环变量初始化; 循环条件; 循环变量操作) { 语句块; } eg. for (i = 0; i < 10; i++) { } ----------------------------------------------------------- while循环系列 while (条件) //条件满足继续循环 { 语句块; } for(;;) { } while(1) { } a = 3; do { 语句1; 语句2; a--; }while(a > 1); //条件满足继续循环 ---- 3. 函数的概念 意义: 和数学上的函数非常相似 y = f(x1, x2, ... xn) 定义: <返回值类型> <函数名称> (<参数类型1> <参数1>...) //这里的参数都是形参,传递的只是数值,不是变量本身 //想修改变量本身?目前先考虑全局变量 //更好的办法以后再讲 void eg. int function_not(int x) { if (x == 0) { x = 1; return 1; } else { return 0; } } 作用域: 一层{}就是一个作用域 函数之外的层是全局层 内层可以操作外层,反之不可以 外层也有的情况下,内层依然可以在定义一次, 定以后就不再影响外层 再谈静态变量 int call_num() { static int count_num = 0; return ++count_num; } ----------------------------------------------------------- ---- 4. 关于C++ ----------------------------------------------------------- 只说一点: . : 点运算,调用对象的属(bian)性(liang)或者方(han)法(shu) Serial.begin(9600); Serial.print("Good");