用户工具

站点工具


导航菜单

首页

Home


锤蚁出品

By TREEE


培训活动

Workshop


知识技术

Tech & Skills


里程碑

Milestone


加入我们

Opening

os:tep:cpp

这是本文档旧的修订版!


极度简化的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 <stdio.h>
头文件
#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");
· 最后更改: 2016/05/11 21:49