运算符

C语言运算符

C语言提供了以下类型的运算符:
算术运算符
关系运算符
逻辑运算符
位运算符
赋值运算符
杂项运算符

运算符优先级

在这里插入图片描述
几点说明
1、赋值运算符的结合性:右结合,a=b=3,先计算b=3,在计算a=(b=3)
2、自增运算符只能在自身的基础上自增,(a+1)++是不合法的
3、&&计算时如果&&左侧为0,则不计算右侧。

#include<stdio.h>
int main()
{
	int a=0,b=1,c;
	c=(a++)&&(b++);
	printf("%d,%d",a,b);
}

a++为0,在不计算右侧b++,
最后输出a=1,b=1。

类型转化

自动类型转化不同类型数据运算时:结果的类型是取值范围大的那一种类型。 比如:float+int=float+float
强制类型转化:一般格式为**(类型)表达式**

rand()随机函数

rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数,使用 rand() 生成随机数之前需要用随机发生器的初始化函数srand(unsigned seed)(也位于 stdlib.h 中) 进行伪随机数序列初始化,seed 又叫随机种子,通俗讲就是,如果每次提供的 seed 是一样的话,最后每一轮生成的几个随机值也都是一样的,因此叫伪随机数,所以需要每次提供不同的 seed 达到完全的随机,我们通常用时间函数 time(NULL) 作为 seed ,因为时间值每秒都不同,这个函数需要包含以下头文件:

#include <time.h>

比如:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	srand(1);
	printf("%d",rand());
} 

无论运行多少次,结果都依然是41不变。
如果加上time(NULL)就会变了

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	srand(time(NULL));
	printf("%d",rand());
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值