Linux上的C语言基础

1.强制转换

显示转换

  1. eg:(转化目标类型)原类型
#include <stdio.h>
int main()
{
    int i;
    float pI=3.14159;
    int i = (int)pI;
    printf("%d %d",pI,i);
    return 0;
}

隐式转换

系统默认的转化规则(向范围更大的兼容)

#include<stdio.h>
int main()
{
	int b = 4;
	double a = b;
	printf("%lf",a);
	return 0;
}

825d9c7114224e0fb12dedcb81f46685.png

2.算术运算符

  1.  *乘号 整数相乘还是整数 保证输出结果为小数C*(C*1.0)

  2. /除号

  3. %整数取余eg:198%10=8    198%100=98 198/100%10=1;

  4. C++先参与运算再自增

  5. ++C先自增再参与运算

3.关系运算符

< > <= >= != ==v

4.逻辑运算符

1.逻辑与&&(短路与)(不止两个条件,可以有多个条件表达)

eg:条件1&&条件2  此表达式的结果要为真,条件1和条件2都必须成立

2.逻辑或||(短路或)

eg:条件1&&条件2  此表达式的结果要为真,条件1或条件2成立一个就行了

3.逻辑非!

将假的变成假的,假的变成真的,

eg:!条件1(条件真结果假,条件假结果真)

5.位运算

对二进制位进行运算

A.&按位与 全一则一有零则零

eg:

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

B.|按位或  有一则一全零则零

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

C.按位异或^相同为零相异为1

#include<stdio.h>
int main()
{
    //将a与b的值进行交换
	int a = 1;
	int b = 2;
	a = a ^ b;
	b = a ^ b;
	a = a ^ b;
	printf("%d %d",a,b);
	return 0;
}

eg:交换a和b

a=a^b;

b=a^b——>b=a//这里是将b=a带回上面a=a^b再将a=a^b带到下面的a=a^b即可

a=a^b——>a=b

~按位取反取反码进行取反

左移运算符号<<

  int num = 12;res = num<<2;(左移两位右边消去,左边加零)

二进制左移两位*2*2左移三位*2*2*2;(左移乘右移除)

>>右移动 

        逻辑右移低位丢弃,高位补符号位

        算术右移低位丢弃,高位补符号位

#include<stdio.h>
int main()
{ 
	int a, b,c;
	char d = 12>> 2;
	a = 12;
	b = a <<2;
	c = a >>2;
	printf("%d %d %d %d",a,b,c,d);
	return 0;
}

6.赋值复合运算符

+=  -= *= 

a6e337a0ad404b07872d387bedf5d8a4.png

7.逗号运算符和三目运算

逗号运算符

          rat =(表达式1,表达式2,表达式3)将前面(逗号优先级最低)

#include<stdio.h>
int main()
{ 
	int a,b,ret;
	a = 3;
	b = 4;
	ret = (a += 20, b += 20, a * b);
	printf("%d %d %d  ",a,b, ret);
	return 0;
}

三目运算符(三个操作符)

         格式:条件表达式?表达式1:表达式2;

         含义:条件表达式成立,整个表达式的值是1(真),否则是表达式2(假)。

884b63d946c04887a77f2944b193a569.png

单目!,~

取反小技巧

int a当a>0时取反结果为-(a+1)

      当a<0时取反结果为   | a-1|

       当a=0时取反结果为-1

3185c66d9edb46ab89d7ecc6a9e20dfb.png

特别注意:运算时自右向左看(赋值运算,三目运算)

总结:

        算术运算>关系运算>逻辑运算>赋值运算

a49e991028754a478e255ceff515af3a.jpeg

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值