【学习笔记】【C语言】算术运算
2015-06-02 19:19
218 查看
C语言一共有34种运算符,包括了常见的加减乘除运算
整数除于整数,还是整数。1/2的值是0,这个并不是二分之一
%两侧只能是整数
正负性取决于%左侧的数值
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
运算符的优先级(从高到低)
如果在程序中,要改变运算顺序,可以使用()。
7.课程代码
1. 加法运算+
除开能做加法运算,还能表示正号:+5、+902. 减法运算-
除开能做减法运算,还能表示符号:-10、-293. 乘法运算*
注意符号,不是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.课程代码
#include <stdio.h> int main() { /*1.算数运算符的基本使用 int a = 10 + 1 + 2 - 3 + 5; int b = -10; int c = 10 * b; int d = 10 / 2; // 取余运算(模运算) // %两边都是整数 // %取余结果的正负性只跟%左边的数值有关 int e = 10 % -3; printf("%d\n", e); */ /* // 自动类型转换(double->int) int a = 10.8; // 强制类型转换(double->int) int b = (int) 10.5; printf("%d\n", a); */ // 自动类型提升(int->double) double c = 10.6 + 6; double d = 1 / 3; double e = (double)3/2; printf("e的值是%f\n", e); return 0; }
#include <stdio.h> /* 提示用户输入一个时间的秒数,比如500秒就输入500,然后输出对应的分钟和秒,比如500s就是8分钟20秒 */ int main() { /* // 将c的值固定在10以内 int a = 96546546; int c = a % 10; */ // 1.提示用户输入时间 printf("请输入一个时间值(秒):\n"); // 2.接收用户输入的时间 int time; scanf("%d", &time); // 3.转换成对应的分钟和秒 int minute = time / 60; // 分钟 int second = time % 60; // 秒 printf("%d秒 = %d分钟%d秒\n", time, minute, second); return 0; }
相关文章推荐
- 【Interleaving String】cpp
- c++primer第一章
- c++第三次作业
- c++第四次作业
- 为什么使用C++
- c++ static 类成员
- c++第一次作业
- Tiny4412之C语言实现流水灯,Tiny4412裸机程序[3]
- vs中c++的反汇编分析
- iOS软件开发应用C语言之变量、运算符
- C++中的new 和delete 运算的使用
- 在C++中为数组动态分配内存
- 矩阵C++实现
- extern type variable name问题及解决方案
- zz[C++]合理的设计和使用消息队列
- 如何在eclipse上添加c语言工程头文件
- c语言模块化编程
- yate学习--yate的认证方式--从文件认证(regfile.cpp)
- c语言使用zlib实现文本字符的gzip压缩与gzip解压缩
- C++:按值传递的还有地址