C语言一共有34种运算符,包括了常见的加减乘除运算
1. 加法运算+除开能做加法运算,还能表示正号:+5、+90
2. 减法运算-除开能做减法运算,还能表示符号:-10、-29
3. 乘法运算*注意符号,不是x,而是*
4. 除法运算/注意符号,不是÷,也不是\,而是/
整数除于整数,还是整数。1/2的值是0,这个并不是二分之一
5. 取余运算%什么是取余:两个整数相除之后的余数
%两侧只能是整数
正负性取决于%左侧的数值
6. 注意点1> 自动类型转换
int a = 10.6;
int b = 10.5 + 1.7;
自动将大类型转换为了小类型,会丢失精度
2> 自动类型提升
int b = 10.5 + 10;
将右边的10提升为了double类型
double b = 1.0 / 2;
解决除法的精度问题
3> 强制类型转换
double a = (double)1 / 2;
double b = (double)(1 / 2);
4> 运算顺序
表达式
结合性(结合方向):2+3+4
优先级:5+4*8-3
运算符的优先级(从高到低)
优先级
描述
运算符
1
括号
()、[]
2
正负号
+、-
3
自增自减,非
++、--、!
4
乘除,取余
*、/、%
5
加减
+、-
6
移位运算
<<、>>、>>>
7
大小关系
>、>=、<、<=
8
相等关系
==、!=
9
按位与
&
10
按位异或
^
11
按位或
|
12
逻辑与
&&
13
逻辑或
||
14
条件运算
?:
15
赋值运算
=、+=、-=、*=、/=、%=
16
位赋值运算
&=、|=、<<=、>>=、>>>=
如果在程序中,要改变运算顺序,可以使用()。
7.课程代码
1#include <stdio.h>23intmain()4{5/*1.算数运算符的基本使用6int a = 10 + 1 + 2 - 3 + 5;78int b = -10;910int c = 10 * b;1112int d = 10 / 2;1314// 取余运算(模运算)15// %两边都是整数16// %取余结果的正负性只跟%左边的数值有关17int e = 10 % -3;18PRintf("%d\n", e);19*/2021/*22// 自动类型转换(double->int)23int a = 10.8;2425// 强制类型转换(double->int)26int b = (int) 10.5;27printf("%d\n", a);28*/2930//自动类型提升(int->double)31doublec =10.6+6;3233doubled =1/3;3435doublee = (double)3/2;3637printf("e的值是%f\n", e);383940return0;41}
1#include <stdio.h>2/*3提示用户输入一个时间的秒数,比如500秒就输入500,然后输出对应的分钟和秒,比如500s就是8分钟20秒4*/5intmain()6{7/*8// 将c的值固定在10以内9int a = 96546546;1011int c = a % 10;12*/1314//1.提示用户输入时间15printf("请输入一个时间值(秒):\n");1617//2.接收用户输入的时间18inttime;19scanf("%d", &time);2021//3.转换成对应的分钟和秒22intminute = time /60;//分钟23intsecond = time %60;//秒2425printf("%d秒 = %d分钟%d秒\n", time, minute, second);2627return0;28}