C语言学习,从入门到进阶系列(三)

C语言学习,从入门到进阶系列(三)

话接上文,我们聊到了操作符的地方。就是那些‘+’ , ‘-’ , ‘*’ ,‘/’。这些学过小学数学的应该都知道,只不过 “ * ”这个东西会比较陌生,这个其实是乘号。
当然操作符当然不止这些啦。还有移位操作符,位操作符,赋值操作符,复合赋值符,单目操作符,关系操作符,逻辑操作符,逗号操作符。
因为我们这个系列先大家了解大致的C语言,之后会进行进阶。希望大家多多支持,同时,给出有意义的建议。在这里谢谢大家!

位操作符号

#include<stdio.h>
//位操作符
// & - 按二进制位与  两个数字相与,有0则0;全1为1;
// | - 按二进制位或  两个数字相或,有1则1;全0为0;
// ^ - 按二进制位异或  两个数字相异或,相同为0;不同为1
int main()
{
	int a = 3;   //二进制: 0011
	int b = 5;   //二进制:0101
	int c = 3 & 5;
	int d = 3 | 5;
	int e = 3 ^ 5;
	printf("%d %d %d", c, d, e); //输出是:1 7 6     为什么会这样呢?我们看看结果的二进制就知道了;
	//6 二进制:0110;7 二进制:0111; 1 二进制:0001;
	return 0;
}

赋值操作符

#include<stdio.h>
int main()
{
	int a = 10;   //创建变量这边的等号不是赋值
	a = 20;     //这边的等号是赋值
	return 0;
}

单目操作符

#include<stdio.h>
int main()
{
	// ! 是单目操作符,可以将真变成假,假变成真。(真是非0数字,假是0)
	int a = 10;
	printf("%d\n", !a);  //输出为0;将真变为假。当a = 0那么输出的是1;
	//- + 是单目操作符,就是负数与正数的改变。
	int b = -a;
	printf("%d\n", b);  //输出是-10;
	//sizeof()是单目操作符。计算字节数。
	int c = sizeof(a);
	printf("%d\n", c);  //输出的是4;计算的是所占 字节数。
	// ~ 是单目操作符,是对一个数字的二进制,按位取反。
	int d = 0;
	printf("%d\n", ~d); //输出的是-1;
	// --  ++ 是单目操作符,使得一个数字减一  加一。
	int e = a++;
	int f = ++a;
	printf("%d %d\n", e,f);//输出是10 11;当然这个还有前置与后置的区别。前置是先加后用,后置加加是先用后加。减减类似。
	// *是单目操作符,是用于指针;
	// () 是单目操作符,用于类型的强制转换。
	return 0;
}

条件运算符号

#include<stdio.h>
int main()
{
	int a = 10;
	int b = 9;
	int c = a > b ? a : b;
	printf("%d", c); //输出是 10;这个语句类似与if语句。
	return 0;
}

逗号表达式

#include<stdio.h>
int main()
{
	int a = 10;
	int b = 5;
	int c = (a++, b++, a + b);//输出结果是17;返回的值是前面处理之后的a+b;
	printf("%d", c);
	//逗号表达式是从左往右计算,逗号表达式的最后返回值是最后一个计算结果。
	return 0;
}

逻辑操作符

#include<stdio.h>
int main()
{
	int m = 0;
	int n = 1;
	printf("%d %d", m && n, m || n); //输出是0 1;&& 和||是逻辑操作符号。分别是逻辑与和逻辑或。
	return 0;
}

还有很多的操作符号还没有写上去,但我之后会有文章,对于这部分知识进阶。希望大家多多支持,同时感谢大家的支持。

static的作用

#include<stdio.h>
void print()
{
	int a = 2;
	printf("%d ", a);
	a++;
}
void print_2()
{
	static int a = 2;  //static 是静态修饰,当我们的代码从函数出去之后,变量a不会被销毁。
	printf("%d ", a);
	a++;
}
int main()
{
	int i = 0;
	while (i < 5)
	{
		print_2(); //输出是 2 3 4 5 6;
		//print();  //输出是 2 2 2 2 2
		i++;
	}
	return 0;
}

extern

#include<stdio.h>
 //extern  是用于申请外部文件的。可以将外面的变量链接过来,在这边用
int main()
{

	return 0;
}

define

//define定义标识符常量
#define MAX 1000
//define定义宏
#define ADD(x, y) ((x)+(y))
#include <stdio.h>
int main()
{
	int sum = ADD(2, 3);
	printf("sum = %d\n", sum);
	sum = 10 * ADD(2, 3);
	printf("sum = %d\n", sum);
	return 0;
}

文章的最后,是我最后的感谢。最近周围发生了好多事情,有点忙,博客的水平不高,但还是感谢,读到这边的你们,谢谢!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值