1. 数据类型介绍
( 1 )内置类型:可以直接使用
1. 整型:就是整数
int 正常的整型
short int 短整型
long int 长整型
long long int 更长的整型
2. 浮点型: 小数
float 单精度浮点型
double 双精度浮点型
long double 更长的精度
3. 字符型: ‘a' 等字母
char 字符型
4. 布尔类型:专门表示真和假的类型
在计算机中,数字0代表假,非0代表真,布尔类型就是用true代表了非0,表示真。用false代表数字0,表示假。
下面是示例:
5: signed 和 unsigned
在数据类型分有符号和无符号类型,有无符号就代表是否有正负号,就比如整型 int 本身就是有符号类型,可以表示正负,如果变成 unsigned int 就代表他只能表示0和正数,不会有负数的运算
所以signed代表有符号,unsigned代表无符号
【signed】int 有符号 注:【signed】里可以省略不写
unsigned int 无符号
【signed】short int 有符号
unsigned short int 无符号
【signed】long int 有符号
unsigned long int 无符号
注意:char ==> signed char ?
char 是有符号的char 还是无符号的char,这个取决于编译器实现的。
(2)自定义类型:可以创造自己想要的类型
1. 数组
2. 结构体-struct
3. 枚举-enum
4. 联合体-union
由于这些是后面的内容,并且篇幅较大,我会在之后为大家一一写出。
2.变量
1.变量的创建
C语言中把经常变化的量称为变量,不变的量称为常量。
当我们在创建变量时,要思考我们应该使用什么样的类型。
比如计算两个整数相加就可以用整型int 来定义变量,但当我们在计算两个数相除时,没有除尽时,我们就要使用float来定义。
下面是例子
2. 变量的分类
(1)全局变量:就是在大括号外部定义的变量,全局变量使用范围广,整个工程中想使用,都是有办法使用的。
例子:
(2)局部变量:在大括号里定义的变量,局部变量使用范围比较局限,只能在自己所在的局部范围内使用。
3. 算术操作符:+, -, *, /, %
1.加法 和 减法 :+, -
没什么特殊的,和数学的加减法一样
2. 乘法 *
唯一注意的一点是在计算机的乘法中,不能像数学中用X,而要用*代表
3. 除法 /
在整数除法中 / 在计算机中不会取余数,下面是例子
但是在浮点型中不会出现这种情况,会正常算出小数
例子
注意:在浮点型中,如果两个整数相除应在其中一个数加上小数点,像5.0,也可以两个数都加,但没必要。
4. 取余 %
当我们在算两个整数相除时,并且是整型变量,在运用%会得出余数,如果除开了就会得0.
例子
4. 赋值操作符:=和复合赋值
在计算机中,= 不代表相等,而是代表赋值,比如 a = 1; 意思是我把 1 这个值赋给了 a ,所以现在 a 的值就是1。
复合赋值就是连续赋值,容易混乱。
例子
5.单目操作符和双目操作符
1.单目操作符: ++ , --
单目操作符就是只有一个操作数。
分为:++a, a++, a--, --a。
++a和a++都等于a+1,不管是前置的++,还是后置的++,都是+1的意思
但是在运行中,++a是先把1加上在进行运算,a++是先运算再加1。
a-- 和 --a就是等于a-1,前置--和后置--和上述一样。
例子
*ok了,这里我给大家出个简单的问题,大家可以思考为什么这里的C等于2了?
可以在评论区留言。(~ ~)
2.双目操作符:
有两个操作数的操作符。
双目操作符就是我上面所说的加减乘除都是。
6.强制类型转换
就是换一个变量,比如把浮点型强制转换成整型,但会使精度受损。
例子
这里我用了两次强制类型转换
第一次:当我们输入一个小数,编译器默认是double类型的,所以我在3.5后加了 f ,把3.5强制转换成float型。如图所示:
第二次:最后在输出时,我在a前面加了 int 把浮点型 3.5 强制转换成整型,所以最后得出3。
7. scanf 和 printf 的介绍
1. scanf
scanf代表着输入
scanf()处理用户输入的原理是,用户的输入先放入缓存,等到按下回车键后,按照占位符对缓存进行解读,解读用户输入时,会从上一次解读遗留的第一个字符开始,直到读完缓存,或者遇到第一个不符合条件的字符为止。
例子
这里%d是一种占位符,表示的是10进制的有符号的整型
&a代表 a 在计算机中的地址,我会在讲指针时具体说明。
当我们要用到浮点型或者字符型时,要把%d改成 %f 或者 %c。
例子
当然,还有许多,在不同类型中不同的占位符。
这些C语言中常用的:
%c:字符。
%d:十进制整数。
%i:整数,基本等同于%d。
%f:小数(包含 float 类型和 double类型) 。
%hd:十进制 short int型。
%ho:八进制 short int型。
%hx:十六进制 short int类型。
%Lf: long double类型浮点。
%0:八进制整数。
%p:指针。
%s:字符串。
%u:符(unsigned int)。
%x:十六进制整数。
%%:输出一个百分号。
2.printf
printf代表着输出。
当我用scanf输入 b 时,printf 就打印出了 b
注意:printf("%c",a); a前是不需要加上 & 这个的
这里我输入一个符号 b ,但为什么最后输出的却是98,因为当我写printf时,里面的占位符%c我改成了%d, %d是用来表示十进制的整型啊,所以这里给大家看一下ASC||码表。
在我们的电脑键盘上的所有符号都可以找到,他们都可以转换成一个数
就像我输入小写的 b 对应着98,所以当我printf输出时才会打印出98。
8.补充
1.计算机中的常见单位
bit 比特位
Byte 字节 1Byte = 8 bit
KB 1KB = 1024 Byte
MB 1MB = 1024KB
GB 1GB = 1024MB
TB 1TB = 1024GB
PB 1PB = 1024TB
~~~~~
2.变量名
(1)变量名尽量有意义
(2)变量名只能是字母,数字,下划线,并且数字不能开头。
(3)变量的名字不能是关键字
(关键字就是像 int ,float, double,char等已经被定义的量)
ok了 xdm ,这篇到此结束了。
有什么不懂在评论区留言!