·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> 【学习笔记】【C语言】算术运算

【学习笔记】【C语言】算术运算

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23

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>
 2 
 3 int main()
 4 {
 5     /*1.算数运算符的基本使用
 6     int a = 10 + 1 + 2 - 3 + 5;
 7    
 8     int b = -10;
 9    
10     int c = 10 * b;
11    
12     int d = 10 / 2;
13    
14     // 取余运算(模运算)
15     // %两边都是整数
16     // %取余结果的正负性只跟%左边的数值有关
17     int e = 10 % -3;
18     PRintf("%d\n", e);
19     */
20    
21     /*
22     // 自动类型转换(double->int)
23     int a = 10.8;
24    
25     // 强制类型转换(double->int)
26     int b = (int) 10.5;
27     printf("%d\n", a);
28      */
29    
30     // 自动类型提升(int->double)
31     double c = 10.6 + 6;
32 
33     double d = 1 / 3;
34    
35     double e = (double)3/2;
36    
37     printf("e的值是%f\n", e);
38    
39    
40     return 0;
41 }

 

 1 #include <stdio.h>
 2 /*
 3 提示用户输入一个时间的秒数,比如500秒就输入500,然后输出对应的分钟和秒,比如500s就是8分钟20秒
 4 */
 5 int main()
 6 {
 7     /*
 8     // 将c的值固定在10以内
 9     int a = 96546546;
10    
11     int c = a % 10;
12     */
13    
14     // 1.提示用户输入时间
15     printf("请输入一个时间值(秒):\n");
16    
17     // 2.接收用户输入的时间
18     int time;
19     scanf("%d", &time);
20    
21     // 3.转换成对应的分钟和秒
22     int minute = time / 60; // 分钟
23     int second = time % 60; // 秒
24    
25     printf("%d秒 = %d分钟%d秒\n", time, minute, second);
26    
27     return 0;
28 }