0
点赞
收藏
分享

微信扫一扫

C语言学习入门之操作符详解(下)

6. 单目操作符

6.1 单目操作符介绍

操作符功能
!逻辑反操作
-负值
+正值
&取地址
sizeof操作数的类型长度(以字节为单位)
~对一个数的二进制按位取反
- -前置,后置- -
++前置,后置++
*间接访问操作符
(类型)强制类型转换

代码演示:

#include<stdio.h>
int main()
{
	int a = -10;
	int* p = NULL;
	printf("%d\n", !2);
	printf("%d\n", !0);
	a = -a;
	p = &a;
	printf("%d\n",sizeof(a));
	printf("%d\n", sizeof a);
	printf("%d\n", sizeof(int));
	//printf("%d\n", sizeof int);报错
	return 0;
}

运行结果:
在这里插入图片描述

代码演示:

#include<stdio.h>
int main()
{
	int a = -10;
	printf("%d\n", sizeof a);
	printf("%d\n", sizeof int);//报错
	return 0;
}

在这里插入图片描述

6.2 sizeof 和 数组

代码演示:


#include <stdio.h>
int main()
{
	int a = 0;
	int arr[3] = {1,2,3};
	char str[] = "hello";
    int length=sizeof(arr)/sizeof(int);
	int len_a = sizeof(a);
	int len_arr = sizeof(arr);
	int len_str = sizeof(str);
	printf("len_a=%d\n",len_a);
	printf("len_arr=%d\n", len_arr);
	printf("len_str=%d\n", len_str);
	printf("length=%d\n",length);
	return 0;
}

运行结果:

在这里插入图片描述

6.3 ++ 和 - - 运算符

代码演示:

#include <stdio.h>
int main()
{ 
	int a = 0;
	int x = ++a;
	int y = --a;
	printf("%d\n",x);
	printf("%d\n",y);
	return 0;
}

运行结果:
在这里插入图片描述

7. 关系操作符

名称功能
>
>=
<
<=
!=用于测试“不相等”
==用于测试“相等”

8. 逻辑操作符

&& 逻辑与
|| 逻辑或
逻辑与:两个值中一个为假,则判断为假
逻辑或:两个值中一个为真,则判断为真

1&2----->0
1&&2---->1
1|2----->3
1||2---->1

9. 条件操作符

代码演示:

#include <stdio.h>
int main()
{ 
	int a = 10;
	int b = 0;
	int c = 0;
	if (a > b)
		b = 3;
	else
		b = -3;
	c = (a > b ? 3 : -3);
	printf("%d %d\n", b, c);
	return 0;
}

运行结果:

在这里插入图片描述

10. 逗号表达式

#include <stdio.h>
int main()
{ 
	int a = 1; 
	int b = 2; 
	int c = (a > b, a = b + 10, a, b = a + 1);//逗号表达式
	printf("%d\n", c);
	return 0;
}

运行结果:在这里插入图片描述

11. 下标引用、函数调用和结构成员

11.1 下标引用

int arr[10]; 创建数组
arr[9] =10; 实用下标引用操作符
[ ]的两个操作数是arr和9。

11.2 函数调用

代码演示:

#include <stdio.h>
void test1() 
{ 
	printf("haha\n");
} 
void test2(const char* str) 
{
	printf("%s\n", str); 
}
int main()
{ 
	test1();
	//实用()作为函数调用操作符。 
	test2("hello world!");
	//实用()作为函数调用操作符。 
	return 0;
}

运行结果:
在这里插入图片描述

11.3 访问一个结构的成员

访问方法:

代码演示:

#include <stdio.h>
//学生
struct Stu
{
	//成员
	char name[20];
	int age;
	char sex[10];
	char tele[12];
};
void print(struct Stu* ps)
{
	printf("%s %d %s %s\n", (*ps).name, (*ps).age, (*ps).sex, (*ps).tele);
	//->
	//结构体指针变量->成员名
	printf("%s %d %s %s\n", ps->name, ps->age, ps->sex, ps->tele);
}

int main()
{
	struct Stu s = {"zhangsan", 20, "nan", "15596668862"};
		//结构体对象.成员名
	printf("%s %d %s %s\n", s.name, s.age, s.sex, s.tele);
	print(&s);
	return 0;
}

运行结果:在这里插入图片描述

总结

这两期关于操作符的介绍就到此结束了,有什么错误评论指出万分感谢!!最后,如果这篇文章对你有帮助,就三连一下吧,谢谢支持。

举报

相关推荐

0 条评论