vs基础运算符及算术进阶使用
发布时间:2023-08-18 02:53:37 504 相关标签:
1.算术运算符
+ 求和
- 求差
* 求乘
/ 求商
% 求模运算符。求余数 10/3余数为1
2.算术表达式
简单表示要先定义(例子)
#include
int main()
{
int num = 10 + 10;//声明int类型,再计算
printf("答案等于%d",num);//最后赋值打印
return 0;
}
3.需要注意:1)/ 除法运算
a.如两个整型的数相除如果存在小数(且我们需要这个小数)应该将一个整数型变为一个double型且在计算时也要变成double型
#include
int main()
{
double num = 10;//定义成double
int num2 = 4;
double num3 = num / num2;//有小数存在所以也要double型进行赋值
printf ("num3=%lf", num3);
return 0;
}
或这乘以1.0
#include
int main()
{
int num = 10;//乘以1.0使其变为小数型
int num2 = 4;//
double num3 = num *1.0/ num2;//需要在前面的那一个相乘,
printf ("num3=%lf", num3);//在后面相乘无法执行
return 0;
}
b.如果不变,且继续使用int型则会输出整数。
2)%求模运算
a.可判断一个数的倍数
b.来判断是否能整除
c.不能用小数进行求模运算
d.m%n的余数是在0到(N-1)之间
4.算术表达式结果的类型
a.我们首先要知道算术表达式结果的类型
b.如果参与表达式类型一样,那么算术表达式也是一样的
c.如果算术表达式的操作类型不一致,那么结果用最大范围的
int<float<double
#include
int main()
{
int num = 10;//
double num2 = 4;//两个不同的类型
double num3 = num / num2;//double型较大所以要使用大的打印
printf ("num3=%lf", num3);
return 0;
}
5.算术优先级
先乘除后加减,如果同级按从左到右的顺序
使用小括号先算小括号
6.char数据
a.字符也可以计算,通过ascll码转换为数字来运算(因为ascll码是数字代换,所以使用整型变量,可转换为数字)
#include
int main()
{
int num = 10;
char ch = 'a';//ascll码表示97
int f = num + ch;//转换为数字相加
printf("最后答案是%d",f);
return 0;
}
b
b.如果小写转大写则-32,大写装小写+32
#include
int main()
{
char ch = 'a';//ascll码表示97
char f = ch - 32;//大写转小写需-32
printf("最后答案是%c",f);
return 0;
}
7.复合赋值运算符
含义:如果你想在原数据上更改,可以使用复合赋值运算符
+= 在原来的基础上加一个数
-=
*=
/=
%=
#include
int main()
{
int num = 2;
printf("%d\n", num);
num += 3;
printf("%d\n", num);
return 0;
}
8.自增和自减
a.前自增表达式++num,后自增表达式num++
b.无论前后自增,都是加1

前自增运算过程++num
表达式先加1,然后打印
后自增num++
表达式先复制,然后加1打印
自减雷同
c.自增自减优先级大于算术优先级
9.逗号运算符
略
10.比较表达式(不成立为0,成立为非0数)
a.<小于 当两个表达式小于成立则为1,不成立则为0
<=小于等于 成立为1,不成立为0
==相等比 成立为1,不成立为0
!=不等比 成立为1,不成立为0
#include
int main()
{
int num1 = 10, num2 = 20;//进行赋值
int num3=num1 < num2;//比较时注意类型,为整数型
printf("%d\n",num3);//打印
return 0;
}
b.比较运算符的两边可以是变量,常量,表达式
c.char类型
运用ascll码来进行比较

12.逻辑运算符
1).&& 并且 两边都要成立,最后才可以打印。断路:左边的不成立直接停止运行,如果只是右边不成立,那么左边依旧运行
#include
int main()
{
int i = 1;//定义一个整型
int res= i++ <20 && ++i > 50;//利用并且联系
printf("i%d", i);//打印i为3表示在右边断路,前面依旧运行
printf("chenli%d", res);//打印最后是否成立
return 0;
}
2).|| 或者 一边成立即可。断路:左边成立,则停止运行。只是右边成立则程序依旧从左到右运行


3).! 取反 真为假,假为真。

优先级 !>&&>||
13.不懂运算符优先级和结合性的可以查看


补充:三元表达式可以一次将三个值表达出来。
语法: 条件表达式? 值1:值2
如果条件表达式成立则结果值为值1,否则为值2.
三元表达式可以部分代替if-else
注意:条件表达式可以是任意的表达式,0为假,非0为真
值1和值2可以的是表达式,是各自的结果。
文章来源: https://blog.51cto.com/u_15809685/5731321
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报