c语言基础入门—变量及各类操作符

目录

1.变量

1.1变量的创建

1.2变量的种类

2.操作运算符

3.赋值操作符:=与复合赋值

开始

1.变量

1.1变量的创建

变量,顾名思义是可以一直变化的量,如:银行卡余额,欢乐豆颗数
前面了解的数据类型,就是为创建变量而服务的
创建变量的形式为:数据类型 变量名称(可自己起)

int weight;//整型变量
char ch;//字符型变量
double temperature;//浮点型变量

给变量赋值,就是对变量进行 初始化
注意:变量被初始化赋值不代表它像常量一样值不变,变量的值可以一直发生改变

double weight=61.5;
char ch='w';
unsigned int age=20;

1.2变量的分类

1.2.1种类

分为:全局变量局部变量
概念:两者其实是相对来说的,在大括号外面的变量叫全局变量,在大括号里面的叫局部变量

#inlude<stdio.h>
int main(void)
int a=1;//全局变量
{
  int b=5;//局部变量
  printf("%d %d",a,b);
  return 0;
  }

1.2.2全局变量与局部变量作用域与优先级

以上面的代码为例,全局变量a作用于整个工程,而变量b只能作用于它所在的大括号内
改写上述代码 看看效果
在这里插入图片描述

直接报错,说明变量b的作用域不能离开它所在的大括号在这里插入图片描述
那么 问题来了
如果两个变量名相同
在这里插入图片描述
运行结果在这里插入图片描述

所以,这里可以叫就近原则,printf会打印离自己最近的a变量
可以说:局部变量优先级大于全局变量

1.2.3全局变量与局部变量在内存中的存储

一般在c语言或c++中,会关注三个存储区:栈区,堆区,静态区
看张图
在这里插入图片描述
1.局部变量存放在内存的栈区
2.全局变量存放在内存的静态区
3.堆区是用来管理动态内存的
(后期详细介绍)

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

操作符也叫运算符,+,-,*,/,%的两端都需要有数字,所以叫做双目操作符,位于运算符两端的叫操作数

2.1 +和-

分别用于加减运算
上代码看看

#include<stdio.h>
int main(void)
{
int a=1+2;
int b=6+5;
printf("a+b=%d",a+b);
return 0;
}

2.2 *(乘)

没啥好说的,直接上代码

#include<stdio.h>
int main(void)
{ int num=5
printf("%d\n",num*num);
return 0;
}

2.3 /(除)

先上段代码看看
在这里插入图片描述

再看结果
在这里插入图片描述
所以,得出结论:如果/两边的操作数都是整数,那输出的必然是取整数部分后的值,就算你硬用float,最后也只是小数的形式而已

那怎么输出1.5?
当**/两边操作数至少有一个为小数**时,就会输出1.5

float a=6.0f/4
//或者是
float a=6/4.0f
//这里,用float定义时,最好在小数后面加上f,防止系统把小数默认为double类型

再看个例子
在这里插入图片描述
正常算结果是25
但运行结果其实是0,与上同理
如果想输出25
改:

score=(score/20.0)*100

2.4%(取模)

%:返回两个整数相除的余值

#include <stdio.h>
int main()
{
 int x = 6 % 4; // 2
 return 0;
 }

负数求模的规则是:返回值的正负与第一个操作数一致

#include<stdio.h>
int main()
{
printf("%d",11/-5)// 1
printf("%d",-11/5)// -1
printf("%d",-11/-5)// -1
return 0;
}

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

在变量创建时,给一个初始值,叫初始化
变量创建好后,再给一个值,叫赋值

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

**=**是赋值符号

3.1连续赋值

int a=1;
int b=2;
int c=3;
c=b=a+3//从右到左依次赋值,即:把a+3的值赋给b,再把b的值赋给c

但连续赋值难展现赋值过程与细节,所以推荐写成:

b=a+3;
c=b;

3.2复合赋值符

用于简写自增,自减的情况

int a=6;
a=a-2;
a=a+4;

这样,用符合赋值符更简单

int a=6;
a-=2;
a+=4;

还有以下复合赋值符
1.+= 2. -=
3.*= 4. /= 5. %=
//下⾯的操作符后期讲解
6. >>= 7. <<=
8.&= 9. |= 10. ^=

明天会有scanf和printf~

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值