运算符和条件语句

今日学习到的内容:

算术运算:

1、取模的正负取决与取模数的正负

2、取模运算符的操作只能是整数

优先级结合方向

int a =(10 * 2) + (3 / 2)

优先级:优先级高的操作符他们两遍操作数优先于这个操作符进行结合成为一个整数并没计算

+ 运算符会先计算左边的表达式

结合方向:当优先级相同时, 从那边开始计算

算术运算符的结合方向是从左到右的。

自动转换类型 (类型提升):当表示范围小的数与表示范围大的类型进行计算时,小类型会自动转换为范围大的类型

当两个数据类型的数进行运算时,他们运算出来的结果还是什么类型

double d = 10 / 4; // 2.000000;

double d = 10 / 4.0; // 2.500000;

double d  = (double)10 / 4;强制类型转换 d = (double)a / b;

赋值运算符:

1、把等号右边的数值防盗左边的变量中,同时他做一个表达式本身有值,他的值就是右边的那个数

2、结合方向:右往左

复合复制运算符 += -= *= /= %=

所有赋值运算符的优先级都是小于算术运算符的

赋值运算符在所有运算符中除了逗号运算符以外优先级最低

自增自减运算符

1、无论++在前还是++在后本身都会自增1;

++a // 等价于 a = a +1; a本身是会自增1, 然后它的返回值(结果)是原来的a + 1;

a++ // 等加于 a = a +1; a本身是会自增1, 然后它的返回值(结果)是原来的a的值;

--a // 等价于 a = a -1,a本身都会自减1,他的返回值(结果)是原来的a-1;

a-- // 等价于 a = a -1,a本身都会自减1,他的返回值(结果)是原来的a;

b = a++ + a++;// 2 + 3 = 5;

b = ++a + a++;// 5 + 5 = 10;

b = ++a + ++a;// 7 + 8 = 15;

b = a++ + ++a;// 8 + 10 = 18;

int a = 10;

b = a-- + a--;// 10 + 9 =19;

b = --a + --a;// 7 + 6 = 13;

b = --a + a--;// 5 + 5 = 10;

sizeof运算符:用来计算常量、变量,以及数据类型(指的是这种数据类型的变量或常量)所占用的存储空间。

1、sizeof是运算符不是函数,当它用在常量上面可以省略小括号

sizeof 常量 或sizeof(常量)

2、当sizeof作用在变量上

sizeof(常量)或sizeof常量

3、sizeof作用在数据类型,表示这个中数据类型的常量,或者变量所占用的存储空间

小括号不可以省略、类型本身是不占用空间的,但是这种类型的数据占用空间

逗号运算符

1、在c中所有表达式都有返回值(结果)

2、逗号运算符结合方向是从左到右

3、返回值:最后一个表达式的值

int a = 10;intb = 2; int result = (a += 2,  b +4, 4 + a); result = 16;

关系运算符

< > = <= == >=

1、小括号是在所有运算符中最高的

2、当我们不确定某些运算符的优先级时,用()来明确优先级

3、赋值运算优先级 < 比较运算符优先级 < 算术运算符优先级

4、比较运算符的结合性:左到右

逻辑运算符

&&与:

1、只要有一个表达时为假,那么整个表达式结果为假:一假为假

2、如果左边的表达式为假,右边的表达式不参与运算

3、结和性:左到右

逻辑||:

1、只要有一个表达式为真,那么整个表达式结果为真:一真为真

2、如果左边表达式为真,右边的表达式不参与运算

3、优先级高的先结合,不是运算

!非

1、真变假,假变真

2、右到左

3、他的优先级高于比较运算符和算术运算符的优先级

三目运算符

条件表达式:由关系运算符或逻辑表达式构成的表达式

条件表达式 ?  结果1:结果2

求两个数中最大值:num1 > num2 ? num1 : num2;

求三个数的最大值,先求出max,在用max喝num3比较

在c语言总所有数字都有真假性,所有非0的数都为真,只有0为假

&&和||的优先级小于关系运算符,大雨赋值运算符

条件表达式if

if(条件表达式) {

语句;

}

1、当变量与常量进行等于活不等于判断的时候,一般会把常量写在前面

2、只有一个分号的语句时一个空语句,空语句也是语句

3、在if小括号后面不要自己写分号

4、if代码块中定义变量不可以在外面代码块中访问

5、作用域紊乱,如果想要if语句中变量, 那么就必须加大括号

6、if语句必须连接在一起,不可以有无头的if

交换位置的理解

假设num1 雪碧 num2 可乐 temp 空瓶

1、将雪碧倒入空瓶子中

2、把可乐倒入雪碧的瓶子中

3、将空瓶中的雪碧倒入可乐瓶中

switch:

sitch(表达试)

{

case 常量:

语句;

语句;

break;

。。

default;

语句;

break;

1、当switch与一个case匹配了, 那么后面的大括号才会结束

2、case后面职能是一个常量或者常量表达式

3、switch后面的小括号中只能是整形表达式

4、当莫个变量只有及格固定的取值的时候使用switch会跟更加简洁

5、如果是区间的话[-无穷,1],用if

6、在case后面的语句中不能直接定义变量,如果要定义变量,必须在后面加上大括号,来明确定义变量的作用

case 0:

int num = 0;

在c中获得随机数:

1)arc4Random()比较精确不需要生成随机种子

通过arc4random获取0-(x-1)之间的整数

int value = arc4random() % x;

2)CCRANDOM_0_1 cocos2d中使用,范围是[0, 1];

float random = CCRANDOM_0_1()*5 //[0,5]

3)random()需要初始化时设置种子

srandom((unsigned int)time(time_t *)NULL);// 初始化时,设置下种子就好了

4)arc4random_uniform

在开发ios游戏过程中,一致觉得arc4random产生的随机数有问题,产生的数值不够平衡。惊天终于查到还有一个arc4random_uniform函数,也是c标准库里面的。会产生均衡的随机数。

int random = arc4random_uniform(3);

销售系数的概念

/*

已知某公司员工的工资底薪为500,员工销售的软件金额与提成方式如下:

销售额 ≤2000            没有提成

2000 < 销售额 ≤ 5000    提成8%

5000 < 销售额 ≤ 10000   提成10%

销售额 ≥ 10000          提成12%

利用switch

利用switch使程序更加的简洁 如果用if if else使得程序看起来很重合

*/

int main()

{

double salary = 500;

double sales;

printf("请输入员工的销售额");

scanf("%lf", &sales);

// 计算销售系数

int k;

if (sales % 1000 == 0) {

k = sales / 1000;

} else {

k = sales / 1000 + 1;

}

// 销售软件提成方式

switch (k)

{

case 0:

case 1:

case 2:

break;

case 3:

case 4:

case 5:

salary += sales * 0.8;

break;

case 6:

case 7:

case 8:

case 9:

case 10:

salary += sales * 0.1;

break;

default:

salary += sales * 0.12;

break;

}

printf("员工这个月工资为%.3lf", salary);

return 0;

}

时间: 2024-10-13 08:20:23

运算符和条件语句的相关文章

R中的运算符,条件语句,控制语句

1.运算符 算术运算符:+,-,*,/ 关系运算符:==,!=,>,>=,<,<= 逻辑运算符:&,|,&&,||,! &和|称为短逻辑符,&&及||称为长逻辑符.长逻辑符只比较左边和右边的第一个元素,而短逻辑符将会一 一比较所有的元素. 2.条件语句:if ..else if(boolean_expression) { statement(s) } else{ statement(s)}或多个条件 if(boolean_expres

js中的运算符和条件语句

js中的运算符大体上可以分为4类:1算术运算符.2一元操作符.3比较运算符.4逻辑运算符. 算术运算符一般指的是加减乘除求余这五种操作符:+,-,*,/,%.通过算术运算符可以对js中的变量进行操作.如: var a=100,b,c,d,e,f; b= a+10; //110 c=a-10; //90 d=a*10; //1000 e=a/10; //10 f=a%3; //1 一元操作符指的是只能操作一个值的操作符:如i++,i--,++i,--i;在这里要注意区别i++与++i: var a

JS一周游~(基础、运算符、条件语句)

一.基础篇 JavaScript 基于浏览器(客户端).基于(面向)对象{没有继承}.事件驱动(要有对象).脚本语言(灵活多变) 1.作用 表单的验证,减轻服务端的压力 添加页面动画效果 动态更改页面内容 Ajax网络请求( 异步 js and xml)无跳转刷新 2.组成部分 ECMAScript语法标准 语法,变量.数据类型,运算符,逻辑控制语句 ,关键字.保留字,对象 DOM文档对象类型操作 BOM文档对象类型操作 JS的执行原理 前台向服务器发起请求,请求服务器给我们数据,然后返回到前台

python基础:变量、编码、运算符、条件语句、while循环

一.变量命名 a.只能以数字.字母.下划线组成,不能以数字开头 b.不能和内置关键词一样 c.不能是关键字:and.continue.def.elif…… d.变量命名遵从驼峰式命名:my_name 二.编码介绍 ascill 8位 00000000 例如:00000001 unicode 最少16位 0000000000000000+ 例如:0000000000000001 utf-8 最少位数表示 例如:如果¥在用ascill中表示为00000101    在unicode中表示为00000

暴走Python之运算符与条件语句

本文原创作者:LoneliNess,本文属i春秋原创奖励计划,未经许可禁止转载 本文来源:i春秋学院 i春秋(ichunqiu.com)网络安全平台能提供专业的网络安全技术.网络渗透技术.网络安全攻防技术,还能提供网络渗透培训.网络安全工程师培训,是一家线上网络安全教育培训中心, 致力于培育安全人才和信息时代的安全感:爱春秋网络安全培训中心提供最新的网络安全视频和最先进的信息安全技术知识,为网络安全培训课程提供一个贴近实际环境的安全实验平台.爱春秋,更安全! 本文来源:http://bbs.ic

php的注释、变量、类型、常量、运算符、比较符、条件语句;

php的注释 1.// 2.# 3./*  */ 变量 变量是储存信息的容器: 变量规则: 1.变量以$开头,后面跟名称>>>$sum; 2.变量必须以字母或下滑先开头,不能用数字开头: 3.变量名称对大小写敏感>>>$q与$Q是不相同的: php数据类型 四种标量类型: 1.Boolean(布尔型)>>>True  False; 2.Integer(整型)>>>没有小数的数字,正负均可: 3.Float(浮点型)>>&g

第六章—条件语句和循环

6.1①条件语句在脚本中称为控制流.②尽管JavaScript不支持"elseif"关键字,但是允许通过if/else语句链创建这种类型的语句.③switch条件语句中default项中也用上break语句,因为如果它没有在最后,后面的case依然会执行.④如果case中没有default,而它又不是最后一个,则称为fall through(落空)⑤条件运算符(也称为三元运算符): 6.2提示框获得用户输入: var username=window.prompt("Give

Python成长之路第一篇(4)_if,for,while条件语句

有了以上的基本基础,已经上面写的几个小练习,大家肯定有很多的不满,比如查询为什么查询一次就退出了呢?下面我们来学习条件语句 一.万恶的加号 以前我们在print的时候如果要加上变量都有是使用+来作为连接,但是这样做是不好的 因为在使用加号的时候,会在内存中开辟新的内存地址来存放新的内容这样做的坏处就是增加了内存的消耗 那么我们该怎么办呢? (1)字符串格式化 ①内置占位符 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符

awk条件语句

条件语句用于在执行操作之前做一个测试.在前面的章节中,我们看到了模式匹配规则的一些示例.模式匹配规则本质上就是影响输入循环的条件表达式.在这一部分,我们主要就在action中所使用的条件语句进行探讨.条件语句以if开头,并计算放在圆括号中的表达式.语法是: if (expression) action1 [else action2] 如果条件表达式expression的值为真(非零或非空),就执行action1 .当存在else语句时,如果条件表达式的值为假(零或空) ,则执行action2.一