c语言(基本运算)
来源:互联网 发布:表结构列的删除的sql 编辑:程序博客网 时间:2024/05/18 03:42
算术运算符的基本使用:
#include <stdio.h>int main(){ int a = 10 + 1 + 2 - 3 + 5; printf("10 + 1 + 2 - 3 + 5 = %d\n", a); //10 + 1 + 2 - 3 + 5 = 15 int b = -10; printf("b = %d\n", b); //b = -10 int c = 10 * b; printf("10 * b = %d\n", c); //10 * b = -100 int d = 1 / 2; printf("1 / 2 = %d\n", d); //1 / 2 = 0 int e = -10 % -3; //%两边必须都是整数,取余结果的正负性只跟%左边的数值有关。 printf("-10 除以-3 得到的余数是:%d\n", e); //-1 return 0;}
自动类型转换
#include <stdio.h>int main(){ //double -> int,警告,丢失精度! //int a = 10.8; //printf("a = %d\n", a); //10 //强制类型转换 int b = (int)10.8; //自动类型提升 double c = 10.6 + 6; printf("10.6 + 6 = %f\n", c); //16.600000 //参与运算的值是什么类型,结果就是什么类型。 double d = 1 / 3; printf("1 / 3 = %f\n", d); //0.000000 //想要精确的结果,将参与运算的其中一个值变成double double e = 3 / 2.0; printf("3 / 2.0 = %f\n", e); //1.500000 return 0;}
思考
1) 当?是什么运算符时,不论整型变量a的值怎么变,结果c都不超过10
int c = a?10;
答:%
2) 提示用户输入两个整数,并输出两个整数的平均数
#include <stdio.h>#include <math.h>int main(){ int a,b; printf("请输入两个整数,以逗号隔开:\n"); scanf("%d,%d", &a, &b); double c = (a + (double)b) / 2; int d = (int)c; double decimal = c - d; int value = (int)(decimal * 10); if(value > 0) { printf("%d和%d的平均数是:%.1f\n", a, b, (a+(double)b)/2); } else { printf("%d和%d的平均数是:%.0f\n", a, b, (a+(double)b)/2); } return 0;}
3) 提示用户输入一个时间的秒数,比如500秒就输入500,然后输出对应的分钟和秒,比如500s就是8分钟20秒
#include <stdio.h>int main(){ printf("请输入一个秒数:\n"); int seconds; scanf("%d", &seconds); printf("您输入的秒数为:%d\n",seconds); int hour = seconds / 3600; int minute = (seconds % 3600) / 60; int second = (seconds % 3600) % 60; if (0 == hour) { printf("转换为标准时间:%dm : %ds\n", minute, second); }else if(0 == hour & 0 == minute) { printf("转换为标准时间:%ds\n", second); }else{ printf("转换为标准时间:%dh : %dm : %ds\n", hour, minute, second); } return 0;}
复合附值运算符:
a += 5 + 6 + 4;//a = a + (5 + 6 + 4);
sizeof的用法:
作用:用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。
- sizeof(变量\常量 )
- sizeof 变量\常量
- sizeof(数据类型 )
- 不能是sizeof 数据类型
#include <stdio.h>int main(){// int size = sizeof(10);// int size = sizeof 10.9; // int a = 10;// int size = sizeof(a);// int size = sizeof a; // int size = sizeof(char);// int size = sizeof char; //错误 printf("size=%d\n", size); return 0;}
关系运算(比较运算)
1. 真假(c语言没有boolean类型)
- 在C语言中,条件成立称为“真”,条件不成立称为“假”,因此,判断条件是否成立,就是判断条件的“真假”。
- 怎么判断真假呢?C语言规定,任何数值都有真假性,任何非0值都为“真”,只有0才为“假”。也就是说,108、-18、4.5、-10.5等都是“真”,0则是“假”。
- 关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者:2==3>1
- 关系运算符的结合方向为“从左往右”: 4>3>2
- 关系运算符的优先级小于算术运算符:3+4>8-2
3.关系运算符
- > 、 < 、 >= 、 <= 、 == 、 !=
- 关系运算符的运算结果只有2种:如果条件成立,结果就为1,也就是“真”;如果条件不成立,结果就为0,也就是“假”。
4.使用注意
#include <stdio.h>int main(){ int a = 10; int b = 11; //条件成立就返回1,真 //条件不成立就返回0,假 int result = a > b; printf("%d\n", result); //0 return 0;}
5.练习:
计算下列表达式的值
- 3 > 4 + 7 //3 > (4 + 7) -> 0
- (3>4) + 7 //0 + 7 -> 7
- 5 != 4 + 2 * 7 > 3 == 10 //(5 != ((4 + 2 * 7) > 3)) == 10 -> (5 != 1) == 10 -> 0
运算符的优先级(从高到低)
优先级
描述
运算符
1
括号
()、[]
2
正负号
+、-
3
自增自减,非
++、--、!
4
乘除,取余
*、/、%
5
加减
+、-
6
移位运算
<<、>>、>>>
7
大小关系
>、>=、<、<=
8
相等关系
==、!=
9
按位与
&
10
按位异或
^
11
按位或
|
12
逻辑与
&&
13
逻辑或
||
14
条件运算
?:
15
赋值运算
=、+=、-=、*=、/=、%=
16
位赋值运算
&=、|=、<<=、>>=、>>>=
如果在程序中,要改变运算顺序,可以使用()。
逻辑运算
- 逻辑与 && 、 逻辑或 || 、 逻辑非 ! 、
- 逻辑运算的结果只有2个:“真”为1,“假”为0
- 逻辑与 && 和 逻辑或 || 有短路的作用。&&左半边如果是假,右半边就不会执行,它的结果已经是假。||左半边如果是真,右半边就不会执行,它的结果已经是真。
三目运算符
例: int a = 5 ? 10 : 2; -> a = 10;
练习
- 获得a、b中的最大数 int max = a > b ? a : b;
- 获得a、b、c中的最大数 int abMax = a > b ? a : b; int max = abMax > c ? abMax : c;
0 0
- c语言(基本运算)
- C语言基本运算
- C语言基本运算
- C语言基本运算
- c语言 基本运算
- C语言-基本运算
- 【C语言】08-基本运算
- C语言学习-基本运算
- c 语言的基本运算
- C语言的基本运算
- 黑马程序员-C语言学习日记(二)基本运算
- C语言知识总结(二)基本数据类型与运算
- 【C语言】07-基本语句和运算
- 【C语言】07-基本语句和运算
- 【C语言】07-基本语句和运算
- 【C语言】07-基本语句和运算
- 【C语言】07-基本语句和运算
- C语言基础—基本运算
- android学习笔记22:可展开的ListView
- BOM、session、cookie
- 向优盘写RAW数据
- WinCE中命令行工具Viewbin简介
- cvCopy与cvCloneImage的区别
- c语言(基本运算)
- C++类实现最大数的输出
- 解决CHM文件打开无法显示网页的问题
- PHP 代码 review 细节 二
- mysql 错误
- NOJ1064快速排序
- 共享内存
- ios设计模式之二(门面模式,装饰器模式)
- NOJ1065两路合并