C程序设计——表达式的值0

news2024/12/23 11:01:05

表达式

表达式是一组序列,由操作符或操作数组成。

表达式的值

C语言中,所有的表达式,都是有值的,所以本节专门讲讲表达式的值。

算数表达式

算数表达式的值,就是算数运算的结果,比如表达式 1 + 1的值就是2,不多说了,直接上代码:

int main(void)
{
    int iA ;
    int iB ;

    iA = 70 ;
    iB = 30 ;

    printf("iA + iB's value is %d\r\n", iA + iB);
    printf("iA * iB's value is %d\r\n", iA * iB);
}

运行结果如下:

关系表达式

关系表达式的值,只有两个:0 和 1,当关系运算符的结果为真时,表达式的值为1;当关系运算符的结果为假时,结果为0。源码如下:

int main(void)
{
    int iA ;
    int iB ;

    iA = 70 ;
    iB = 30 ;

    printf("iA > iB's value is %d\r\n", iA > iB);
    printf("iA < iB's value is %d\r\n", iA < iB);
}

运行结果如下:

逻辑表达式

关于逻辑表达式,要啰嗦一句,逻辑表达式两端的值,0表示假;所有非0值,表示真。当逻辑运算符的结果为真时,表达式的值为1;当关系运算符的结果为假时,结果为0。源码如下:

int main(void)
{
    int iA ;
    int iB ;
    int iC ;

    iA = 70 ;
    iB = 30 ;
    iC = 0 ;

    printf("iA == %d, iB == %d, iC == %d\r\n\r\n", iA, iB, iC);

    printf("iA && iB's value is %d\r\n", iA && iB);
    printf("iA || iB's value is %d\r\n", iA || iB);
    printf("iA && iC's value is %d\r\n", iA && iC);
    printf("iA || iC's value is %d\r\n", iA || iC);
}

运行结果如下:

位运算表达式

位运算表达式的结果,就是运算符两端的值对应的二进制,逐位运算后的值,比如有两个二进制数:\left ( 1011 \right )_{2} 和\left ( 0101 \right )_{2},它俩按位与运算后的结果就是:\left ( 0001 \right )_{2},如果看的不是很明白,请观察下面的竖式:

\left ( 1011 \right )_{2}\\\left ( 0101 \right )_{2}\\----\\\left ( 0001 \right )_{2}

请看源码:

int main(void)
{
    int iA ;
    int iB ;


    iA = 70 ;
    iB = 30 ;

    printf("iA == 0x%x, iB == 0x%x\r\n\r\n", iA, iB);

    printf("iA && iB's value is 0x%x\r\n", iA & iB);
    printf("iA || iB's value is 0x%x\r\n", iA | iB);
    printf("~iA's      value is 0x%x\r\n", ~iA);
}

注意,上面源码打印数字时,用的是%x,其含义是:以十六进制整数打印。运行结果如下:

注意看,因为 iA 是一个int 型的变量,总共占32位的空间,高位是二进制0,,因此 iA 按位取反(运算符 ~)后,高位的0 变成了1 ,因此 ~iA's  value is 0xffffffb9

赋值表达式

赋值表达式的值,表达式右边的变量,被赋予的值,比如 a = 3,最终 a 被赋值为3 ,因此表达式 a = 3 的值,就是3 。 源码如下:

int main(void)
{
    int iA ;
    int iB ;

    printf("iA = 70's    value is %d\r\n", iA = 70);
    printf("iA += 70's   value is %d\r\n", iA += 70);
    printf("iB = iA ++'s value is %d\r\n", iB = iA ++);
}

运行结果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2076929.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Threejs三要素及demo

本文目录 前言一、threejs三要素1.1 场景Scene1.2 相机Camera1.3 渲染器Renderer1.4 项目构建准备 二、安装Threejs2.1 编写代码 前言 Three.js是一个在 MIT 许可下的 JavaScript 库&#xff0c;它在 WebGL 之上运行。这个库的目标就是简化处理3D内容的过程。它是一个WebGL引擎…

【Linux】第一次使用linux向gitee上提交代码

1.首先要在gitee上新建一个仓库 2.然后&#xff0c;复制https的仓库链接 3. 三板斧 第一斧 git add . 4.三板斧 第二斧 git commit -m ‘日志’ 5.三板斧 第三斧 git push

QQ官方BOT 机器人Python实现群聊本地图片【base64编码】上传及其发送

参考&#xff1a;实现群聊本地图片【base64编码】上传及其发送 by SlieFamily 拉取请求 #199 腾讯连接/Botpy (github.com) 首先找到api.py&#xff0c;如果你是通过pip安装的botpy。找到包对应的地址&#xff0c;如果是clone的&#xff0c;也直接找到api.py。 打开后&#xff…

io进程----文件io

目录 一丶概念 二丶特点 三丶函数 1.打开文件 open 2.关闭文件 close 3.读取文件 read 4.写入文件 write 5.文件定位操作 标准IO和文件IO区别 四丶获取文件属性 1.stat函数 2.获取文件类型 五丶目录操作 一丶概念 在posix(可移植操作系统接口)中定义的一组输入输出…

STC89C52 定时器浅谈

文章目录 1、定时器1.1 定时器简介1.2 定时器构成1.2.1 系统时钟1.2.2 计数单元1.2.3 中断系统 1.2 定时器0/1的相关寄存器1.2.1 TMOD1.2.2 TCON 1.3 初始化定时器0 1、定时器 1.1 定时器简介 定时器&#xff0c;又称为计数器&#xff0c;是51单片机的内部资源&#xff0c;即…

16、CPU缓存架构

CPU缓存架构 CPU缓存架构详解CPU高速缓存概念CPU多核缓存架构CPU多核缓存架构缓存一致性问题分析 CPU缓存架构缓存一致性的解决方案缓存一致性协议实现原理总线窥探工作原理窥探协议类型 缓存一致性协议MESI协议 伪共享的问题linux下查看Cache Line大小避免伪共享方案 CPU缓存架…

netty编程之实现HTTP服务

写在前面 http是应用层协议&#xff0c;是我们日常开发中直接用到最多的协议了。本文来看下通过netty如何实现。 1&#xff1a;程序 netty不仅仅提供了String相关的编解码器&#xff0c;还贴心的提供了http相关的编码器和解码器&#xff0c;直接拿来用就行了&#xff0c;所以…

【3.3】贪心算法-解分发糖果

一、题目 老师想给孩子们分发糖果&#xff0c;有N 个孩子站成了一条直线&#xff0c;老师会根据每个孩子的表现&#xff0c;预先给他们评分。 你需要按照以下要求&#xff0c;帮助老师给这些孩子分发糖果&#xff1a; 1&#xff09;每个孩子至少分配到1 个糖果。 2&#xff…

apache经典模型和nginx参数配置

Apache 几个经典的 Web 服务端 ①Apache prefork 模型 ● 预派生模式&#xff0c;有一个主控制进程&#xff0c;然后生成多个子进程&#xff0c;使用select模型&#xff0c;最大并发 1024 ● 每个子进程有一个独立的线程响应用户请求 ● 相对比较占用内存&#xf…

Cyberchef实用功能之-模拟沙箱的文件静态分析能力

本文将介绍如何使用cyberchef 提取文件的重要元数据的信息&#xff0c;根据自己的需求实现沙箱中的静态文件的分析能力。 在网络安全日常的运营&#xff0c;护网行动&#xff0c;重保活动的过程中&#xff0c;样本的分析是一个重要的过程&#xff0c;这些可疑或者恶意的样本的…

Beyond Compare忽略特定格式文本

1 问题背景&#xff1a; 文本对比时忽略某些文本。比如有些生成的文件需要做差异对比&#xff0c;除了内容有差异外&#xff0c;自动生成的ID也不同&#xff0c;想忽略这些ID。特别是文件内容比较多的时候。 如上图&#xff0c;其中UUID“*”的部分我想忽略。 方法&#xff1…

微信开放平台应用签名MD5

可以使用JS转换一下 一、在任一网页 右键 检查 打开调试 二、把字母转换成小写&#xff0c;去除&#xff08;:&#xff09; MD5 应用签名示例 "70:71:5F:CA:AE:E5:B1:01:30:11:8F".toLowerCase().replace(/:/g, "") 70715fcaaee5b10130118f 就是要填写…

我们为什么推出数据模型

调用接口之前&#xff0c;要写大量的字段校验代码&#xff1f; 需要关联读写多张表的数据&#xff0c;难以写出复杂的数据库语法&#xff1f; 不仅需要开发核心的业务逻辑&#xff0c;还需要加班搭建CMS和数据管理页面&#xff1f; 数据不止放在云开发&#xff0c;还需要查询…

ctfhub-web-基础认证

HTTP协议&#xff1a;什么是HTTP基本认证_网易订阅 https://zhuanlan.zhihu.com/p/64584734 弹框输入密码账号bp抓包&#xff0c;发现了Authorization&#xff1a;后面有一串BASE64的编码(输入的密码) 账号默认是admin&#xff0c;抓包后是basic 把抓到的包发送到爆破模块i…

MySql【约束】

约束 1.1 约束 是什么? 约束,即限制,就是通过设置约束,可以限制对数据表数据的插入,删除,更新 怎么做? 约束设置的语法,大部分是 create table 表名( 字段 数据类型(长度) 约束, 字段 数据类型(长度) 约束 ); 另外一种是建表后,使用alter语句修改表添加约束 1.1 数据类型 其实…

人社大赛算法赛题解题思路分享+第五名

关联比赛: [国家社保]全国社会保险大数据应用创新大赛 赛题背景分析及理解 本次比赛&#xff0c;“精准社保”的赛题为“基本医疗保险医疗服务智能监控”&#xff0c;由参赛队完成数据算法模型的开发设计&#xff0c;实现对各类医疗保险基金欺诈违规行为的准确识别。 在进行了…

AI工业ros机械臂

1、基本介绍 该产品是一款面向于人工智能、机器人工程等专业的实验平台&#xff0c;能够学习基于人工智能技术的智能机器臂相关知识。主要由工业六轴机械臂、机械臂控制器、边缘计算主机、安全防护工作台四部分构成。该产品可完成的课程&#xff1a;机器视觉、机器人操作系统RO…

Stable Diffusion 使用详解(10)--- 场景立体字

目录 背景 复刻立体雏形 Lora 模型 参数设置与controlnet 出图效果 融入图片 提取 合成 背景 虽然都是字&#xff0c;带场景的立体字和上一节讲的做法不太一样。一般来说&#xff0c;一般这种带字体的场景字现阶段都是Lora模型居多&#xff0c;Lora 属于轻量级模型&…

linux系统中USB模块基本原理分析

大家好,今天主要给大家分享一下,USB设备的发展历程。 第一:USB发展变化 随着时代的发展,USB模块也随之不断的升级。 USB1.1:规范了USB低全速传输; USB2.0:规范了USB高速传输,采用NRZI(反向不归零)编码(NRZI采用8bit编码方式),位填充(在数据进行NRZI编码前…

每日一练-threejs实现三维动态热力图

前言&#xff1a;学习自用Three.js搞个炫酷热力山丘图&#xff0c;作者讲解的十分详细&#xff0c;在这里不再过多赘述&#xff0c;直接上代码&#xff01; <template><div class"map" ref"map"></div> </template><script set…