嵌入式笔记day03

不同种类数据输出符号

  • 十进制%d;八进制写法0开头写数字,输出%o;十六进制写法0xff,输出%x
  • 无符号数%u
  • char型%c
  • float型%f或%g

预处理命令,常识标量

  • 写在函数外
  • 写法:#define MAX 50
  • 一般不定义 NULL 0,已经在头文件中作为指针定义,若强行定义则会警告覆盖定义
  • 不是变量,在预编译处理时会消失并成为定义项

函数的参数

  • 形参写在函数头括号中
  • 实参写在调用时括号中
  • 形参是局部变量
  • 返回值r并不返回变量,只返回变量的值
 int f2(int a, int b)	//形参a b
 {
 	int r = a + b;
 	return r;
 }
int main()
{
	int r = f1(100, 200);
	printf("r = %d\n", r);	//r = 300

	return 0;
}
 	
  1. 同时实参也可以是变量,具体如下:
 int f3(int a, int b)	//形参a b
 {
 	return a + b;
 }
int main()
{
	int a = 100, x = 200;
	printf("a + b = %d\n", f3(a, x));	//r = 300

	return 0;
}
 	

运算符

  1. 算术运算符
+
-
*
/
%求余
++加1
- -减1

注意:加法和其他运算记过超值域时取低位

//浮点数除法有小数,没有求余运算
	int x = 5, y = 10;
	z = ++x;			//x = 6, z = 6,加号在前,先加后赋值
	z = x++;			//x = 5, z = 6,加号在后,先赋值后加
	z = ++x + y++ 		//z = 16, x = 6, y =11,先++x,再+y,最后y++;自加加号在后面时后运算

//运算符优先级口诀:非 算 关 与或 赋

//特殊情况:x++>10不成立,因为该句先判断后自加
  1. 关系运算符
>大于
<小于
>=大于或等于
<=小于或等于
==等于
!=不等于
int main()
{
	float a = 234.000001;
	int b = 234;
	int r = (a == b);		//r = 0
	printf("r = %d\n", r);	//r = 1
	
	return 0;
}
	
//无法判断差距过小的数据,可能判断为相同,应避免此种情况
  1. 逻辑运算符
单位运算符,!0=1,!1=0
&&与,同真为真
II或,同假为假

短路问题:参与运算时其中一个单位不参与运算的情况,在与运算中第一个位为假时第二个位不参与运算,必为假;在或运算中第一个位为真时第二个位不参与运算,必为真。

	int a = 1;
	int m = a - 1 && --a;	//	0 && ? == 0
	printf("a = %d\n", a);	//	因为--a没有参与运算,a = 1
  1. 逗号运算符:(比赋值运算级别低,一定要加括号)逗号运算最后一次运算的值为该部分的值
	int a = 10;
	int b = 20;
	int r = (b, a);
	printf("r = %d\n", r);	//结果为10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值