C语言笔记

C语言

C运算符 分类:

(1)根据运算性质:赋值运算符、算术运算符、增1和减1、类型强转、关系运算符、逻辑运算符、位运算符······
(2)根据操作数个数:一元(单目)运算符······

C表达式:

由 运算符 和 操作数 构成

算术运算符:

除法(Division):
(1)整数除法:a and b are integers
(2)浮点数除法:a or b or both are floats
求余(Modulus):也称 取模 ,操作数必须是整数

算术表达式 优先级:

取相反数 > 乘、除 > 加、减

算术表达式 结合性:

左结合 & 右结合:-(-2) & 圆括号可改变且优先级最高

实例:分离数位

153/100 = 1
153-1*100 = 53——153%100 = 53——153/10 = 15
53/10 = 5———— 53/10 = 5————15%10 = 5
153%10 = 3——153–1 * 100–5 * 10 = 3

求余运算用途:?

求模 : H(k) = k % p 可将一个大范围自然数集合映射到一个只有p个元素的小集合上
比如:随机函数 rand ( ) 可生成一个在 0 ~ 32767 之间的随机数,将数的范围控制在指定范围 ( 1 ~ 100 ) 内。
magic = rand()% 100 ; // 0 ~ 99
magic = rand()% 100 + 1 ; // 1 ~ 100
生活中:一天24小时,一周7天,一年12个月
能否整除:整除———>%为0
其他用途求素数,最大公约数,判断闰年,约瑟夫环······

进行更复杂的数学运算:

常用标准数学函数:#include <math.h>
exp(x) ——> e^x
sqrt(x) ——> x的平方根,x>=0
pow(x,y)——> x^y
fabs(x) ——> |x|
log(x) ——> ln x ,x>0
log10(x)——> lg x ,x>0
sin(x) ———> sinx,x为弧度值
cos(x)———>cosx,x为弧度值

赋值运算符:

=:右结合,左右值类型一致
eg:x = (y = 0);

赋值表达式:

1.简单赋值(simple assignment):算术>赋值
a = a + 1;
读 写
2.多重赋值(multiple assignment)
3.复合赋值(combined assignment)

变量赋值:

1.赋值表达式语句
2.初始化:注:变量初始化需用","分隔
int a=b=3;(错)————> int a=3,b=3;

增1/减1运算符:

1.操作数只能是变量,不能是表达式 (-n)++ ————>错
2.运行速度更快
3.一元运算符右结合 > 二元
4.操作数的值是相同的,但表达式的值是不同的
eg:m = ++n-2 —— > n = n +1;&m = n-2;
m = n++ -2 —— > m = n-2;&n = n+1;
5.良好的程序设计风格:在一行语句中,一个变量只出现一个增1或减1运算符

自动类型转换:在这里插入图片描述

类型强转(casting):

(类型)表达式 —— > 一元运算符,表达式的类型
明确转化的是哪个表达式
注:除了在算术表达式中会发生自动类型转换以外,在赋值表达式中也会发生自动类型转换,其带来的危害就是有可能导致数值溢出和数值精度损失的问题,这个内容将在第4周作为扩展内容介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值