用户工具

站点工具


导航菜单

首页

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/06/21 17:44