c语言基础笔记15

本部分包含操作符,主要为位操作符,逻辑操作符,三目操作符,逗号表达式,结构成员,.结构体    .成员名,->结构体指针   ->成员名。

练习题:求一个整数存储在内存中的二进制位

笔记部分:

图片版本:

 文字版本:

  • 操作符(运算符)
    • 作用:用于执行代码的运算
    • 算术操作符
      • 作用:用于处理四则运算
      • 算术运算符包括以下符号

      • 两个小数不可以取模
      • 前置递增先对变量进行++,再计算表达式,后置递增相反
    • 位移操作符
      • 移(2进制)位操作符
      • <<左移
      • >>右移
    • 赋值操作符
      • 作用:用于将表达式的值赋给变量
      • 赋值运算符包括以下几个符号:

    • 比较操作符
      • 作用:用于表达式的比较,并返回一个真值或假值
      • 比较运算符有以下符号:

      • 注意:C和C++ 语言的比较运算中, “真”用数字“1”来表示, “假”用数字“0”来表示。
    • 逻辑操作符
      • 作用:用于根据表达式的值返回真值或假值
      • 逻辑操作符有以下符号:

      • 规律:
        • 逻辑非:真变假,假变真
        • 逻辑与:一假全假
        • 逻辑或:一真全真
    • 位操作符
      • & 与 一假全假
      • | 或 一真全真
      • ^ 异或 相同为假 不同为真 ~ 按位取反
    • [ ]——下标引用操作符
    • ( )——函数调用操作符

 代码练习:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<windows.h>

struct Student
{
	char name[10];
	char sex[5];
	int year;
};

int main()
{
	//位操作符
	//a=3 b=5 不用第三个变量,打印a=5,b=3

	//1.
	int a = 3;
	int b = 5;
	a = a + b;
	b = a - b;
	a = a - b;
	printf("a=%d,b=%d", a, b);
	
	//2.
	int a = 3;
	int b = 5;
	a = a ^ b;
	b = a ^ b;
	a = a ^ b;
	printf("a=%d,b=%d", a, b);

	//求一个整数存储在内存中的二进制位
	int c = 0;
	int count = 0;
	printf("\n请输入:");
	scanf("%d", &c);
	for (int i = 0;i < 32;i++)
	{
		if (((c >> i) & 1) == 1)
		{
			count++;
		}
	}
	printf("有%d个1\n",c,count);

	//逻辑操作符
	int a = 0, b = 1, c = 2, d = 3;
	int i = a++ && b++ && c++ && d++;
	printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);

	//三目操作符
	int b = 0;
	int a = 6;
	b = (a > 5 ? 1:2);

	//逗号表达式
	int a = 0;
	int b = 3;
	int c = 2;
	int d = (c = 4, a = b + 2, c += 1);
	printf("%d\n", d);

	//结构成员
	struct Student stu = { "mumu","男",45 };

	////.结构体    .成员名
	//printf("名字:%s\n", stu.name);

	////->结构体指针   ->成员名
	struct Student* pstu = &stu;
	printf("名字:%s\n", (*pstu).name);
	printf("名字:%s\n", pstu->name);
}
	

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ohrkaninchen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值