🔥博客主页🔥:【 坊钰_CSDN博客 】
欢迎各位点赞👍评论✍收藏⭐
引言:
大家好,我是坊钰,为了让大家深入了解C语言,我开创了【玩转C语言系列】,将为大家介绍C语言相关知识,另外,还会不定时更新【C语言训练题库】,想学好C语言的宝子们,一定要收藏起来,一起努力吧!
点赞!收藏!以防以后找不到了!!!
目录
1. 数据类型介绍
1.1 字符型
1.2 整型
1.3 浮点型
1.4 布尔类型
1.5 数据类型的长度
1.5.1 sizeof()操作符
1.5.2 数据类型长度
1.5.3 sizeof()中表达式不计算
2.signed 和 unsigned
3. 变量
3.1 变量的创建
3.2 变量的分类
3.3 变量存储位置
4. 算术操作符:+、-、*、/、%
4.1 + 和 -
4.2 * 和 /
4.2.1 *
4.2.2 /
4.3 %
5. 赋值运算符 = 和 复合赋值
5.1 连续赋值
5,2 复合赋值
6. 单目操作符 ++,--,+,-
6.1 ++ 和 --
6.1.1 前置++
6.1.2 后置++
7. 强制类型转换
8. 小结
1. 数据类型介绍
C语言提供了丰富的数据类型来描述生活中的各种数据
所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,知道怎么操作数据
下面盘点一下C语言提供的各种数据类型,本章节主要探讨内置数据类型
1.1 字符型
char ch; //字符型
signed char ch; //有符号字符型
unsigned char ch; //无符号字符型
1.2 整型
//短整型
short int
signed short int
unsigned short int
//整型
int
signed int
unsigned int
//长整型
long int
long long int
signed long int
signed long long int
unsigned long int
unsigned long long int
1.3 浮点型
float //单精度
double //双精度
1.4 布尔类型
使用布尔类型要包含头文件---> <stdbool.h>
布尔类型的取值范围是 turn 和 false
#define bool _Bool //布尔类型定义
#define turn 1
#define false 0
1.5 数据类型的长度
每一种数据类型都有自己的长度,不同的数据类型可创造出不同的长度的变量,不同的数据类型的存储都有差异
1.5.1 sizeof()操作符
sizeof() 是一个关键字,也是操作符,注意:它并不是库函数
sizeof() 操作符的操作数可以是类型,也可是变量或者表达式
sizeof(类型)
sizeof 表达式
注意:
- sizeof 的操作数如果不是类型,是表达式的时候,可以省略掉后边的括号的
- sizeof 后边的表达式是不真实参与运算的,根据表达式的类型来得出大小
1.5.2 数据类型长度
类型 字节(单位)
char 1
bool 1
short 2
int 4
long 4 C语言标准规定:long>=int
long long 8
float 4
double 8
long double 8 C语言标准规定:long double>=double
1.5.3 sizeof()中表达式不计算
#include <stdio.h>
int main()
{
short s = 2;
int b = 10;
printf("%d\n", sizeof(s = b+1));
printf("s = %d\n", s);
return 0;
}
结果
2.signed 和 unsigned
C 语言使用 signed 和 unsigned 关键字修饰字符型和整型类型的
- signed 表示带有符号的数,可表示正数负数
- unsigned 表示没有符号的数,仅表示 0 和 正数
注意:C语言规定 char 类型默认是否带有正负号,由当前系统决定
3. 变量
3.1 变量的创建
C语言中把经常变化的值称为变量,不变的值称为常量
int ret; //整型变量
char ch; //字符变量
double dh; //浮点型变量
在创建的时候就给⼀个初始值,就叫初始化
int ret = 100;
char ch = 'w';
double dh = 0.5;
3.2 变量的分类
- 全局变量:在大括号外部定义的变量就是全局变量
- 局部变量:在大括号内部定义的变量就是局部变量
#include <stdio.h>
int a = 10; //全局变量
int main()
{
int b = 100; //局部变量
printf("%d", a);
printf("%d", b);
return 0;
}
如果局部和全局变量名字相同
#include <stdio.h>
int a = 10; //全局变量
int main()
{
int a = 100; //局部变量
printf("%d", a);
return 0;
}
结果打印 a=100;
其实当局部变量和全局变量同名的时候,局部变量优先使用
3.3 变量存储位置
- 局部变量是放在内存的栈区
- 全局变量是放在内存的静态区
- 堆区是⽤来动态内存管理的(后期会介绍)
4. 算术操作符:+、-、*、/、%
4.1 + 和 -
+ 和 - 有两个操作数,也被称为双目操作符,用来计算加法和减法
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
int c = a + b;
int d = a - c;
printf("%d\n", c);
printf("%d\n", d);
return 0;
}
4.2 * 和 /
4.2.1 *
用来计算乘法
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
int c = a * b;
printf("%d\n", c);
return 0;
}
4.2.2 /
用来计算除法,不过当 / 两边都为整数时,结果也为整数 例:
#include <stdio.h>
int main()
{
int a = 10 / 4; //结果为 2
int b = 10 / 4.0; //结果为 2.5
printf("%d\n", a);
printf("%d\n", b);
return 0;
}
4.3 %
取模运算符,意思是求余数
#include <stdio.h>
int main()
{
int x = 6 % 4; //结果为 2
return 0;
}
5. 赋值运算符 = 和 复合赋值
注意:赋值和初始化是不一样的
int a = 100; //初始化
a = 200; //赋值
5.1 连续赋值
赋值操作可以连续
a = 10;
b = 20;
c = 30;
5,2 复合赋值
在写代码时,我们经常可能对⼀个数进行自增、自减的操作,如下代码
a = a + 3;
b = b - 8;
这样代码C语言给提供了更加方便的写法
a += 3;
b -= 8;
//复合赋值符
+= -=
6. 单目操作符 ++,--,+,-
6.1 ++ 和 --
- ++是⼀种自增的操作符,又分为前置++和后置++
- --是⼀种自减的操作符,也分为前置--和后置--
6.1.1 前置++
int a = 10;
int b = ++a;
printf("%d",b);
口诀:先加一,后计算
a 先加一 为 11,在赋值给 b , 最后 b为11 ,a 最后也为 11
6.1.2 后置++
int a = 10;
int b = a++;
printf("%d",b);
口诀:先计算,后加一
a 为 10 ,先计算,那 b 就为 10,计算之后,a 在加一,最后,b 为10,a 为 11
前置 -- 和后置 -- 和++用法一样
7. 强制类型转换
在操作符中还有⼀种特殊的操作符是强制类型转换,语法形式很简单,形式如下
float a = 3.14;
int b = (int)a; //强制转换为整型
//结果 b = 3;
俗话说,强扭的瓜不甜,我们使⽤强制类型转换都是万不得已的时候使用,如果不需要强制类型转化就能实现代码,这样自然更好的
8. 小结
以上就是关于【玩转C语言】第二讲的内容了,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持!