黑马程序员——C语言——基础运算
来源:互联网 发布:mac有必要用office 编辑:程序博客网 时间:2024/04/30 12:25
———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———
一、 算术运算
1、算数运算包括了+、-、*、/、以及%,运算顺序为优先级由高到低、顺序从左至右。
2、/为除运算,如3/2=1,整数除以整数,结果还为整数。
3、%为取余运算,如-3%2=-1,运算结果的正负只与左边的数字正负有关。4、注意点
1)自动类型转换
int a = 2.3; (结果为a == 2)
自动将大类型转换为了小类型,会丢失精度
2) 自动类型提升
int a = 2.3 + 4; (结果为a == 6)
将右边的4提升为了double类型
3 ) 强制类型转换
double a = (double)1 / 2; (结果为a == 0.500000)
double b = (double)(1 / 2); (结果为b == 0.000000)
5、练习题
提示用户输入一个时间秒数,比如500秒就输入500,然后输出对应的分钟和秒,比如500s就是8分钟20秒
#include <stdio.h>
int main()
{
printf("请输入一个时间秒数"); // 提示输入
int a; // 定义一个整型变量,用来存储输入的秒数
scanf("%d",&a); // 接收输入
int min = a / 60; // 定义一个整型变量,用来存储分钟数
int sec = a % 60; // 定义一个整型变量,用来存储秒钟数
printf("%d秒就是%d分钟%d秒\n", a, min, sec);
return 0;
}
二、 自增自减
1. 简单使用
++ 自增运算符,如a++,++a,都等价于a = a+1。
- - 自减运算符,如a--,--a,都等价于a = a-1。
5++是错误的
2. ++a和a++的区别
a++为先计算再自加1,++a为先自加1再计算。
int main()
{
int a = 5;
int b = a++;
// a == 6, b == 5
return 0;
}三、 sizeof
1、作用:计算数据类型所占用的存储空间。
2、基本形式
sizeof( 变量\常量 )
sizeof 变量\常量
sizeof( 数据类型 )
不能是sizeof 数据类型 举例如下:
#include <stdio.h>
int main()
{
int size = sizeof (int);
printf("%d\n", size);
}
四、 关系运算
1、真假:C语言中,任何非0值都为“真”,只有0才为“假”。
2、关系运算符的运算结果只有2种:如果条件成立,结果就为1,也就是“真”;
如果条件不成立,结果就为0,也就是“假”。
3、使用注意
关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者;
关系运算符的结合方向为“从左往右”;
关系运算符的优先级小于算术运算符。
五、 逻辑运算
1、&& 逻辑与
1) 使用格式: 条件A && 条件B
2) 运算过程:
1>条件A不成立,运算停止,结果为0,即为假;
2>条件A成立,再判断条件B是否成立:若不成立,则结果为0,即为假;
若成立,则结果为1,即为真。
2、|| 逻辑或
1) 使用格式: 条件A || 条件B
2)运算过程:
1>条件A成立,运算停止,结果为1,即为真;
2>条件A不成立,再判断条件B是否成立:若成立,则结果为1,即为真;
若不成立,则结果为0,即为假。
3、! 逻辑非
1) 使用格式: !条件A
2) 运算过程:
1>条件A成立,结果为0,即为假;
2>条件A不成立,结果为1,即为真。
4、注意
1) 优先级
除了非(!)的优先级大于算术运算外,算数运算>关系运算>逻辑运算。
2) 逻辑适用于数值
例如5 && 4的结果为1,即为真。
六、 三目运算符
1、使用格式: 条件 ? 数值1 : 数值2;
2、运算过程
若条件成立,则返回数值1;若条件不成立,则返回数值2。
3、范例:比较a与b的大小,并输出最大值
int a = 5;
int b = 10;
int c = a > b ? a : b;
printf("%d\n",c);
return 0;
4、思维扩展:比较啊a、b、c的大小,并输出最大值
int a = 5;
int b = 10;
int c = 2;
int maxa_b = a > b ? a : b; // 先找出a和b的较大值,并赋值给变量maxa_b
int max = c > maxa_b ? c : maxa_b; // 比较c和maxa_b的大小,找出最大值
printf("%d\n",max);
return 0;
———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———
- 黑马程序员——C语言——基础运算
- 黑马程序员——C语言基础(三)基本运算
- 黑马程序员——C语言基础---基本运算
- 黑马程序员——C语言基础---运算符
- 黑马程序员—IOS基础(C语言基本运算)
- 黑马程序员——C语言基础篇---基本运算和位运算
- 黑马程序员——C语言基础
- 黑马程序员——C语言基础
- 黑马程序员——C语言基础
- 黑马程序员——C语言基础 03—基本运算符
- 黑马程序员——C语言基础语法--scanf函数、基本运算、流程控制
- 黑马程序员——C语言基础语法、基本运算理论
- 黑马程序员——IOS基础---C语言学习之内存分析与位运算
- 黑马程序员——ios基础---C语言:数据类型、运算符、选择结构
- 黑马程序员——ios开发基础之C语言数据类型、运算符与输入输出
- 黑马程序员—Java语言基础(运算符、代码示例)
- 黑马程序员————C语言基本运算
- 黑马程序员——C语言——基本运算
- Arm-linux-gcc安装步骤
- 字符串相似度算法
- 数组与汇编的理解
- XFire实现身份验证(基于Xfire SOAP Header的WebService安全验证)
- 发布iOS应用(xcode5)到App Store(苹果商店) 详细解析
- 黑马程序员——C语言——基础运算
- SConcreteAttributedString initWithString:: nil value
- Android高手进阶教程(四)之----Android 中自定义属性(attr.xml,TypedArray)的使用!
- [编程思想]领域模型和缓存应用【二】
- datepicker——基于jquery UI的日期选择器
- B - Moving Tables
- 【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
- 大神之旅
- 发布应用到AppStore