首页 > 其他分享 >15.初识操作符 下

15.初识操作符 下

时间:2024-07-01 17:01:01浏览次数:17  
标签:15 int ++ 初识 操作符 printf -- 原码

单目操作符介绍

~:按(二进制)位取反

有关带符号整数的二进制的三种表示:原码,反码,补码

int 32个bit

表示-1

原码

10000000000000000000000000000001 (最左边是符号位,0正1负,剩余是数值位,数值为表示真值-1的绝对值) 

反码:

负数:在原码基础上数值位0改1,1改0(即按位取反),符号位不变

正数:原码即反码

-1:01111111111111111111111111111110

补码:

负数:反码末尾+1

正数:反码即补码

-1:01111111111111111111111111111111

所以正数:原码=反码=补码

表示0

原码

00000000000000000000000000000000或10000000000000000000000000000000

(+0和-0均可)

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

结果:-1

由于整数在内存中存储的是补码,整数的真实值是由原码得到的

printf打印的是二进制补码转成原码的十进制数字

0:原码00000000000000000000000000000000

     反码11111111111111111111111111111111

     补码11111111111111111111111111111111 (不变,如果末尾+1会溢出)

++和--:

使用分为前置和后置

前置 ++a --a

后置 a++ a--

前置++:先++,后使用

int a=3;

int b=2;

b=++a;

先++(就是+1):a的值由3变4,后使用:4赋值给b 

同理b=--a;(--就是-1)

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

后置++:先使用,后++

int a=3;

int b=2;

b=a++;

先使用:a的值未变时先赋值给b

后++:a的值+1

同理b=a--

(类型):当类型不匹配时,可强制类型转换
int a=(int)1.21;

把1.21强制转换为整型

(& *单独讲)

关系操作符介绍:

>大于

>=大于等于

<小于

<=小于等于

!=不等于

==等于

介绍逻辑操作符

&& 逻辑与(a与b同时)

与:a与b任意一个为假则为假,a与b全真则为真

#include <stdio.h>
int main()
{
	int a = 3;//a非0,见第14篇
    int b = 2;//b非0
	int c = a && b;//逻辑与判断:a与b均非0,则a与b为真
	printf("%d\n", c);//输出1
	return 0;
}

||逻辑或(a或b)

或:a与b任意一个真则真,两个都为假则假

#include <stdio.h>
int main()
{
	int a = 0;//a假
    int b = 0;//b假
	int c = a || b;//逻辑与判断:a或b为假
	printf("%d\n", c);//输出0
	return 0;
}

介绍条件操作符(三目操作符) 

格式:表达式1?表达式2:表达式3即为exp1?exp2:exp3

规则:exp1成立,计算exp2,得出结果;exp1不成立,计算exp3,得出结果;(其实类似if语句)

例:输入两数输出最大值

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	scanf("%d %d", &a, &b);
	c= a > b ? a : b;
	printf("%d\n", c);
	return 0;
}

如果调用数组则简洁:

#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
	int a[3] = { 0 };
	scanf("%d %d", &a[0], &a[1]);
	a[2] = a[0] > a[1] ? a[0] : a[1];
	printf("%d\n", a[2]);
	return 0;
}

介绍逗号表达式 

定义:逗号隔开的一串表达式

exp1,exp2,exp3,……,expn

程序从左向右依次执行exp

整个exp的结果是最后一个exp的结果

int a=0;

int b=0;

int d=(a=a+1,c=c+2,c=c-a);

d为1

其他操作符:

介绍[ ]
[ ](下标引用操作符)可用于定义数组

介绍()

( )(函数调用操作符)printf();

格式:函数名(内容);

(.和->单独讲)

标签:15,int,++,初识,操作符,printf,--,原码
From: https://blog.csdn.net/2401_85828611/article/details/140099261

相关文章

  • Java环境配置-JDK15
    准备jdk-15安装包下载网址:https://www.oracle.com/java/technologies/javase/jdk15-archive-downloads.html配置步骤步骤一——安装1、双击运行exe2、选择安装地址,然后点击下一步步骤二——配置环境变量1、复制jdk15目录的路径2、点击此电脑——>属性——>系统——>......
  • 【burpsuite安全练兵场-客户端15】基于DOM的漏洞-7个实验(全)
    目录一、基于DOM的漏洞1、DOM2、污染流漏洞3、共同来源4、会导致基于DOM漏洞的汇点5、防止基于DOM的污染流漏洞二、反射型DOM、存储型DOM三、控制Web消息源1、简述:2、影响:3、使用Web消息作为攻击源构建攻击实验1:使用Web消息的DOMXSS实验2:使用Web消息和JavaS......
  • 2024.7.1 初识Linux
    1、Linux安装:(1)VmwareWorkstation安装(2)Centos7系统安装(3)使用Mobaxterm远程操控Linux虚拟机2、Linux命令(1)ipaddress查看本机的ip地址(2)cal查看日历用法:cal[选项][[[日]月]年]选项:-1,--one只显示当前月份(默认)-3,--three显示上个月、当月和下......
  • 代码随想录算法训练营第九天|151.翻转字符串里的单词,卡码网:55.右旋转字符串
    151.翻转字符串里的单词题目链接:151.反转字符串中的单词-力扣(LeetCode)题目要求是给定一个字符串,要求把里面的单词进行倒序输出,并且要删除里面多余的空格。我的第一种做法是把里面的字符串提取出来,然后倒序放入一个新的字符串中,这样空间复杂度会比较高,也AC了,但肯定不是最......
  • 初识Docker容器
    前言:Docker容器技术是一个强大而灵活的工具,用于构建、发布和运行分布式应用程序。以下是从入门到精通Docker容器的详细指南: 一、Docker容器基础Docker概述Docker是一个开源的应用容器引擎,它基于Go语言开发并遵循Apache2.0协议。Docker允许开发者将应用程序及其依赖打包到一个......
  • 初识Kubernetes
    前言:Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。以下是从入门到精通Kubernetes的详细指南:一、Kubernetes基础概述Kubernetes由Google开源,旨在自动化容器的部署、扩展和管理。它提供了一个平台,用于运行分布式系统,具有出色......
  • 【C语言】--操作符详解
    ......
  • 逻辑操作符
    目录&&---逻辑与操作符||---逻辑或操作符 &&---逻辑与操作符逻辑与操作符有并且的意思,一般用于判断语句中逻辑与操作符运行规则是都要为真,才会继续执行或计算360笔试题:有关前置++(--),后置++(--)的知识请见:单目操作符-CSDN博客#include<stdio.h>intmain(){ ......
  • 23201115-邓俊豪-第三次blog
    目录blog2前言关于难度和题目量关于知识点设计与分析pta-7一、项目简介二、项目实现三、项目测试四、代码示例五、总结六、代码分析pta-8一、项目简介二、项目实现三、项目测试四、代码示例五、总结六、代码分析改进建议blog2前言关于难度和题目量前三次大作业难度属于偏难水......
  • (五)DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍
    DeepSpeedChat:一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍如需引用DeepSpeedChat,请引用我们的arxivreport:@article{yao2023dschat,title={{DeepSpeed-Chat:Easy,FastandAffordableRLHFTrainingofChatGPT-likeModelsatAllScales}},autho......