C语言运算中的临时匿名变量

一:C语言和汇编的区别(汇编对应机器操作,C语言对应逻辑操作)

        (1)C语言叫高级语言,汇编语言叫低级语言

        (2)低级语言的意思是汇编语言和机器操作相对应,汇编语言只是机器码的助记符,用汇编语言必须有机器的思维。因为不同的cpu设计时指令差异很大,因此用汇编编程的差异很大

        (3)高级语言(C语言)它对低级语言进行了封装(C语言的编译器来完成),给程序员提供了一个靠近人类思维的一些语法特征,人类不用过于考虑机器原理,而可以按照自己的逻辑原理来编程。譬如数组、结构体、指针 ......

        (4)有更高级的语言如JAVA、C#等只是进一步强化了C语言提供的人性化操作界面语法,在易用性上安全性上进行了提升

二:C语言的一些“小动作”

        (1)高级语言中有一些元素是机器中没有的

        (2)高级语言在运算中允许大跨度的运算。意思就是低级语言中需要好几步才能完成的一个运算,在高级语言中只需要一步即可完成。譬如在C语言中一个变量i要进行加1,在C语言中只需要一句i++即可,看起来只有一句代码,但实际翻译到汇编阶段需要3步才能完成:第一步从内存中读取i到寄存器,第二步对寄存器中的i进行加1,第三步把计算的到的结果写回到内存中的i

三:使用临时变量来理解强制类型转换

        

#include <stdio.h>int main(void)
{float a = 12.34;int b = (int)a;printf("a = %f\nb = %d\n",a,b);        //输出结果a = 12.340000 b = 12//(int)a在强制类型转换并赋值时其实进行了四个步骤:第一步先在另外的地方找一个内存构建了一个临时            //变量x(x的类型是int,x的值等于a的整数部分),第二步将float a 的值的整数部分赋值给x,第三步将 //x的值赋值给b,第四步将临时变量x销毁//最后的结果:变量a的值不变,b的值是a的整数部分return 0;}

四:使用临时变量来理解不同数据类型之间的运算

        

#include <stdio.h>int main(void)
{int b;float a,f;b = 10;f = 1.5;a = b / f;printf("a = %f\n",a);        //输出结果a = 6.666667}

        

#include <stdio.h>int main(void)
{int b;float a;b = 10;a = b / 3;        //第一步先计算 b / 3 ,第二步将计算后的值强制转换为float类型的临时变量//第三步将临时变量的值赋值给a,最后销毁临时变量printf("a = %f\n",a);        //输出结果为3.000000}

        

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

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

相关文章

Linux echo输出命令以及重定向符号

echo命令 使用他可以输出指定内容&#xff0c;和编程语言中的 print( )差不多&#xff0c;都是将文字打印输出&#xff0c;该命令无参数。 输出文本 echo "123" 123输出命令执行结果 echo pwd /home/dpc重定向符 > 将左侧的命令结果&#xff0c;覆盖写入右侧…

分数计算 初级题目

今天继续更题。今天的题目是《第五单元 分数的加减法》初级题目。 定位&#xff1a;题目较为初级&#xff0c;适合预习 参考答案&#xff1a;CACCADACAABACBBCDBCB

Linux文件系统【真的很详细】

目录 一.认识磁盘 1.1磁盘的物理结构 1.2磁盘的存储结构 1.3磁盘的逻辑存储结构 二.理解文件系统 2.1如何管理磁盘 2.2如何在磁盘中找到文件 2.3关于文件名 哈喽&#xff0c;大家好。今天我们学习文件系统&#xff0c;我们之前在Linux基础IO中研究的是进程和被打开文件…

【DevOps】 什么是容器 - 一种全新的软件部署方式

目录 引言 一、什么是容器 二、容器的工作原理 三、容器的主要特性 四、容器技术带来的变革 五、容器技术的主要应用场景 六、容器技术的主要挑战 七、容器技术的发展趋势 引言 在过去的几十年里,软件行业经历了飞速的发展。从最初的大型机时代,到后来的个人电脑时代,…

「前端+鸿蒙」鸿蒙应用开发-ArkTS语法说明-组件声明

ArkTS 是鸿蒙应用开发中的一个框架,它允许开发者使用 TypeScript 语法来创建声明式的用户界面。在 ArkTS 中,组件声明是构建 UI 的基础。以下是 ArkTS 快速入门的指南,包括组件声明的语法说明和示例代码。 ArkTS 快速入门 - 语法说明 - 组件声明 组件基础 在 ArkTS 中,组…

【Mongodb-01】Mongodb亿级数据性能测试和压测

mongodb数据性能测试 一&#xff0c;mongodb数据性能测试1&#xff0c;mongodb数据库创建和索引设置2&#xff0c;线程池批量方式插入数据3&#xff0c;一千万数据性能测试4&#xff0c;两千万数据性能测试5&#xff0c;五千万数据性能测试6&#xff0c;一亿条数据性能测试7&am…

Rust 的编译时间过长

Rust 代码的编译时间可能会比某些其他编程语言长&#xff0c;原因有以下几点&#xff1a; Rust 使用了静态类型&#xff0c;这意味着编译器需要更多的时间来验证类型安全性。与动态类型的语言相比&#xff0c;这可能会导致编译时间变长。Rust 的编译器在进行许多优化时需要大量…

MySQL-----InnoDB的自适应哈希索引

InnoDB存储引擎监测到同样的二级索引不断被使用&#xff0c;那么它会根据这个二级索引&#xff0c;在内存上根据二级索引树(B树)上的二级索引值&#xff0c;在内存上构建一个哈希索引&#xff0c;来加速搜索。 查看是否开启自适应哈希索引 show variables like innodb_adapti…

JavaScript常见面试题(一)

文章目录 1. JavaScript有哪些数据类型&#xff0c;它们的区别&#xff1f;2.数据类型检测的方式有哪些3. 判断数组的方式有哪些4.null和undefined区别5.typeof null 的结果是什么&#xff0c;为什么&#xff1f;6.intanceof 操作符的实现原理及实现7.为什么0.10.2 ! 0.3&…

Fluent固体运动的设置方法(1)

1 概述 固体运动是某些CFD问题中必须要考虑的因素&#xff0c;如风扇的旋转。相关问题可分类如下&#xff1a; 问题类型是否为刚体运动规律是否已知无特定称呼YY六自由度运动问题YN流固耦合问题NN 在 Fluent 中&#xff0c;有多种方法表征固体运动&#xff0c;包括&#xff1…

大数据—什么是大数据?

大数据是指所涉及的资料量规模巨大到无法透过主流软件工具&#xff0c;在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。想要更加全面地了解大数据的概念&#xff0c;可以从以下几个维度进行介绍&#xff1a; 大数据的定义&#xff1a; 基本…

BBS (CUTE): 1.0.2

BBS (CUTE): 1.0.2 https://www.vulnhub.com/entry/bbs-cute-102,567/ 靶场配置网络 登陆时按e 修改rw signie init/bin/bash 按Ctrlx 进入 root(none) 模式 ip add 看到网卡名字叫做ens33 需要修改网卡配置文件 vi /etc/network/interfaces allow-hotplug ens33 iface ens33 …

Highcharts 动态图

Highcharts 动态图 Highcharts 是一个流行的 JavaScript 图表库,广泛用于网页中创建交互式和动态的数据可视化。它支持多种图表类型,如折线图、柱状图、饼图等,并且可以轻松地与各种数据源集成。Highcharts 的动态图功能使其成为展示实时数据或用户交互驱动的更新的理想选择…

本地模型一键上传modelscope

ModelScope官网主页 存放大模型大文件 安装依赖 apt install git-lfs pip3 install modelscope上传 from modelscope.hub.api import HubApi import os, jsonYOUR_ACCESS_TOKEN 请从ModelScope个人中心->访问令牌获取 MODEL_ID "yourname/your_model_id" LO…

联合体(union)的定义以及它与结构体的区别是什么

联合体&#xff08;union&#xff09;是C/C提供的一种数据定义格式&#xff0c;其特点是将多个占据同一内存单元的成员放在一起。在union内部定义的所有成员都共享内存的起始位置&#xff0c;即它们共同使用同一块内存空间&#xff0c;并且同时只有一个成员可以得到这块内存的使…

C语言猜输赢游戏

目录 开头游戏的程序游戏的流程图结尾 开头 大家好&#xff0c;我叫这是我58&#xff0c;现在&#xff0c;请你看一下下面的游戏程序。 游戏的程序 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <Windows.h> int main() {int i 1;int ia 0…

【医学图像处理】从ADNI中下载样本的MMSE数据

MMSE是什么&#xff1f; 简易精神状态检查&#xff08;MMSE&#xff0c;Mini-Mental State Examination&#xff09;是一种广泛使用的认知功能评估工具。它通常用于临床和研究环境中筛查痴呆症及评估其严重程度。MMSE通过考察患者的多种认知功能来进行评估&#xff0c;包括算术…

pg和oracle的区别

1、从功能上来说pg要比oracle数据库弱。 2、pg不支持索引组织表。 pg和oracle的相似之处&#xff1a; 1、使用共享内存的进程结构&#xff0c;客户端与数据库服务器建立一个连接后&#xff0c;数据库服务器就启动一个进程为这个连接服务。这与mysql的线程模型不一样。 2、p…

深度学习(八)——神经网络:卷积层

一、卷积层Convolution Layers函数简介 官网网址&#xff1a;torch.nn.functional — PyTorch 2.0 documentation 由于是图像处理&#xff0c;所以主要介绍Conv2d。 class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, b…

C++初学者指南第一步---3.输入和输出(基础)

C初学者指南第一步—3.输入和输出&#xff08;基础&#xff09; 1. I/O Streams(I/O流) #include <iostream>int main () {int i;// read value into istd::cin >> i; // print value of istd::cout << i << \n; }数据的来源和目标 …