嵌入式C语言完全学习笔记(三)
3、C语言数据类型
3.1、整形
C语言中的整形对应数学中的整数,整形变量是用来描述一个整数值的,整形变量经过计算
后也只能是整数(整型),不可能出现小数(浮点型).
要求:要学会整形变量的定义,赋值,计算
要学会使用printf函数打印出一些整形变量的值,作为输出和调试。
C语言中整形有三种:
(1)int 整形
(2)short int,又叫做short,短整形(<=整形)
(3)long int,又叫做long,长整型(>=整形)
3.2、浮点型
C语言中浮点型对应数学中的小数。浮点型有float和double两种。使用方式相同,不同在于
表示范围和精度。float表示的范围小,精度低(小数点后6位);而double表示范围大,精度
高。(小数点后16位)
范围是说表示的数有多大,精度是指这个数的分辨率有多细
注意:printf中打印float或double类型,要是用%f,不能用%d。
3.3、字符型
字符型对应ASCII字符。ASCII字符是一种编码,就是用数字编码来表示一个符号的一种方法
本质上说,字符型其实也是整形,只是这些整形数被用来表示一些字符的ASCII编码值,所
以叫做字符型。字符型一般用8位二进制表示,无符号字符型范围是0~255.
字符型其实是一种比short还短的整形,所以它可以和int相运算。
3.4、有符号数和无符号数
数学中数是有符号的,有整数和负数之分。所以计算机中的数据类型也有符号,分为有符号
数和无符号数。
有符号数:
整形:signed int(简写为 int)
signed long,也写作signed long int,(简写为long)
signed short,也写作signed short int(简写为short)
signed(表示signed int)
浮点型:
signed float(简写为float)
signed double(简写为double)
字符型:
signed char(简写为char)
无符号数:
整形:整形有无符号数,用来表示一些编码编号之类的东西。譬如身份证号,房间号
unsigned int(没有简写)
unsigned long int(简写unsigned long)
unsigned short int(简写为unsigned short)
浮点数:没有无符号浮点数。也就是说,小数一般只用在数学概念中,都是有符号的。
字符型:字符型有无符号数
unsigned char(没有简写)
注意:对于整形和字符型来说,有符号数和无符号数表示的范围是不同的。
譬如字符型,有符号数范围是-128~127,无符号数的范围是0~255
4、C语言常用运算符
4.1、数学运算符号
4.1.1、常见数学运算符号,跟数学中理解相同
+ 加号
- 减号
* 乘号
/ 除号,相除以后的商
% 取余符号,相除以后余数是几
() 括号括起来优先级最高,先计算
4.1.2、跟数学中意义不同的运算符
= 赋值运算符,与数学中的等号完全不同。赋值运算符作用是经过运算后符号左边的部分(
左值,一般是一个变量),的值就等于右边部分(右值,一般是常数或变量)了。
+= a = a + b; 等同于 a += b;
-= a = a - b; 等同于 a -= b;
*= a = a * b; 等同于 a *= b;
/= a = a / b; 等同于 a /= b;
%= a = a % b; 等同于 a %= b;
bianliang1 = bianliang1 + bianliang2;
bianliang1 += bianliang2;
4.1.3、判断运算符
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
4.1.4、逗号运算符
, 逗号运算符的主要作用是用来分割
4.1.5、++与--
++ a++; 等同于 ++a; 等同于 a = a + 1; 等同于 a += 1;
-- a--; 等同于 --a; 等同于 a = a - 1; 等同于 a -= 1;
作业:
1、自己查找资料或写代码测试,总结++放在前面和后面的区别(a++和++a区别)
a = 5;
b = a++; // b = 5,因为++后置,先运算后进行+1
a = 5;
b = ++a; // b = 6,因为++前置,先加1,再进行运算
注意:强调程序风格。
所谓程序风格,主要是指写代码的格式,譬如空格,空行,缩进,注释,文件头,函数头等。
越是大公司,越看重程序风格。软件界公认的准则:程序风格不良好的程序是垃圾代码,是废品;写出程序风格不良好的代码的人,是垃圾程序员。