C语言数据类型和变量详解

1.数据类型介绍

1.1整型

1.1.1短整型

short int
unsigned short int
signed short int

1.1.2整型

int
unsigned int
signed int

1.1.3长整型

long int
unsigned long int
signed long int

1.1.4更长的整型(C99中引入)

long long int
unsigned long long int
signed long long int

1.2浮点型

float
double
long double
注意:浮点型只有double有长整型

1.3字符

char
unsigned char
signed char

1.4布尔类型

在C语言中0表示假,非0表示真,而布尔类型是专门表示真和假的。
布尔类型的取值范围是true和false。
布尔类型的格式:_Bool=true/false
注意:
(1)下划线
(2)大写B

_Bool flag=true;
if(flag)
   printf("I love you");

2.signed和unsigned

signed和unsigned是修饰字符类型和整型的,signed顾名思义就是有符号的数据,unsigned是没有符号的数据

3.数据类型的取值范围

可在文件中查找:
整型:limits.h
浮点型:float.h
在这两个头文件中可以查找

4.变量

4.1变量的创建

变量的声明:数据类型 变量名
而在变量创建时给一个初始值就叫做变量的初始化

int age ;//变量的声明
int num=0;//变量的初始化

4.2变量的分类:

变量分为局部变量和全局变量,全局变量可以理解为在{}外定义的的变量,而局部变量则相反,局部变量,既然提到局部,那么就只能在自己所属的范围内使用。

#include <stdio.h>
int a=0;
int main()
{
    int b=0;
    int a=10;
    printf("%d\n",a);
    return 0;
}

全局变量和局部变量同名时该如何局部变量优先使用

4.3变量的存储

此处先简单介绍,我们一般会关注内存中的三个部位,栈区,堆区,静态区。
栈区是来存储局部变量和函数参数的。
堆区是用来动态内存管理的。
静态区是来存储全局变量和静态变量的。

5.算术操作符:+,-,*,/,%

5.1+和-

因为有两个操作数,这种操作符也叫双目操作符

int a=4+6;
printf("%d\n",a);//输出10
int b=3-1;
printf("%d\n",b);//输出2

5.2*

用来计算乘法

int a=2;
int b=a*a;
printf("%d",b);//打印出4

5.3/

用来计算除法
如果除号两端都是整数,则输出结果也为整数,这就是整数除法

int a=6/4;
float b=6/4;
printf("%d\n",a);//输出1
printf("%f\n",b);//输出1.000000

从上面案例可以看出丢失了小数部分,为了使输出的值为小数,那么两个运算数之间必须有一个浮点数,因此有了浮点数除法。

float a=6.0/4;
printf("%f",a);//输出1.500000

5.4%

用来求模,即返回两个整数相除的余数,这个只能用于整数

int a=6%4;//输出2

而整数又分正负,那么符数求模该如何运算呢,负数求模的规则是只与第一个数的正负有关。

int a = -6 % 4;
int b = 6 % -4;
int c = -6 % -4;
printf("%d\n", a);//输出-2
printf("%d\n", b);//输出2
printf("%d\n", c);//输出-2

6.赋值操作符:=和复合赋值

区分:初始化和赋值

要区分初始化和赋值,初始化是在创建变量时给一个初值,赋值是变量创建好后再给一个值

int a=0;//初始化
a=22;//赋值

6.1连续赋值

虽然支持,不建议使用,不清楚

int a=1;
int b=2;
int c=3;
c=b=a+1;
//分开写后:
b=a+1;
c=b;

6.2复合运算符:

就是两个运算符在一起,比如+=等等

int a=1;
a+=1;//翻译过来就是a=a+1

7.单目操作符:+,-,++,–

单目运算符,顾名思义就是只有一个操作数的运算符。
如±(加和减),++,–
这里主要介绍++和–

7.1前置++和–

口诀:先+(-)1,再使用

int a=1;
int b=++a;
printf("%d\n",a);//输出2
printf("%d\n",b);//输出2

这里就是先给a加上1,再把a赋值给b

7.2后置++和–

口诀:先使用,再+(-)1

int a=1;
int b=a++;
printf("%d\n",a);//输出2
printf("%d\n",b);//输出1

这里就是先把a的值赋给b,再给a加1

8.强制类型转换

int a=3.14;

当我们在出现上面的情况时,会有警告,为了消除警告,所以使用强制类型转换.
强制类型转换的格式是在数字前面加(),里面填要强转的数据类型。

int a=(int)3.14;

希望有所收获,谢谢观看。

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值