当前位置: 首页 > news >正文

C语言—基础数据类型(含进制转换)

进制转换不多,但我觉得适合小白(我爱夸自己嘿嘿)

练习

1. 确认基础类型所占用的内存空间(提示:使用sizeof 运算符): 

在这里我说一下,long 类型通常占用 4 字节。在 64 位系统上,long 类型通常也可为 8 字节。

格式化符sizeof对应的是%zu懒得改了,%lu也行毕竟没报错


2.定义一个unsigned short 类型的变量,并赋值为0,确认该变量减一后的值是什么,(注意无符号数输出需要使用%u)   


3.输入摄氏度转成华氏度输出 (摄氏 = (华氏-32)/1.8)


4. 按下面要求转换数据:
     0356 -->   十六进制   
     0x47 --->  十进制 ---> 八进制
     1026 --->  八进制----> 十六进制

手算:这里按照方法一点点来,我倒是学懂了

1.0356八进制数转十六进制,先将0356每一位数转换为三位二进制数,再由右向左每四位组在一起,不够补零。ABCDEF代表的数字是10-15,E是14,1414也就是EE

2.0x47(十六进制0x为前缀)

  转十进制就直接乘以它本身的进制数,比如十六进制就乘以它的进制数16,十进制就算出来了((4*16^1+7*16^0=71))

  十六进制转八进制把十六进制数每一位数字转为四位的二进制数再由右向左每三个排在一起,就可以了

3.1026十进制转八进制、十六进制

  直接除以要转的进制数,直至商为0,看余数,倒着数就可以,如图所示。

代码:我暂时还不太会,但我决定还是先放上来吧

#include <stdio.h>  // 引入标准输入输出库
#include <stdlib.h> // 引入标准库,用于处理转换int main(void)
{char hexInput[10]; // 声明一个字符数组,用于存储十六进制输入int decimal, octal, hex; // 声明三个整型变量,用于存储十进制、八进制和十六进制数// 八进制到十六进制printf("请输入一个八进制数:"); // 提示用户输入一个八进制数scanf("%o",&octal); // 使用%o格式符读取八进制数,并存储在变量octal中hex = octal; // 将八进制数直接赋值给十六进制数变量hex,因为八进制和十六进制数在数值上是一一对应的sprintf(hexInput,"%x",hex); // 使用sprintf函数将十六进制数转换为字符串表示,并存储在hexInput中printf("八进制数 %o 转换为十六进制数: %s\n",octal,hexInput); // 打印转换结果// 十六进制到十进制printf("请输入十六进制数:"); // 提示用户输入一个十六进制数scanf("%s",hexInput); // 使用%s格式符读取字符串形式的十六进制数decimal = (int)strtol(hexInput,NULL,16); // 使用strtol函数将十六进制字符串转换为十进制整数printf("十六进制数 %s 转换为十进制数是: %d\n",hexInput,decimal); // 打印转换结果//十六进制转八进制printf("请输入十六进制数:");scanf("%s",hexInput);hex = (int)strtol(hexInput,NULL,16); // 将十六进制数先转换为十进制octal = hex;// 将十进制数直接赋值给八进制数变量octal,因为十六进制和八进制的数值一一对应printf("十六进制数 %s 转换为八进制数是: %o\n",hexInput,octal);// 打印转换结果// 十进制到八进制printf("请输入一个十进制数:"); // 提示用户输入一个十进制数scanf("%d",&decimal); // 使用%d格式符读取十进制数octal = decimal; // 十进制数直接赋值给八进制数变量octal,因为它们在数值上也是一一对应的printf("十进制数 %d 转换为八进制数 %o\n",decimal,octal); // 打印转换结果// 十进制到十六进制printf("请输入一个十进制数:"); // 提示用户输入一个十进制数scanf("%d",&decimal); // 使用%d格式符读取十进制数sprintf(hexInput,"%x",decimal); // 使用sprintf函数将十进制数转换为十六进制字符串表示printf("十进制数 %d 转换为十六进制 %s\n",decimal,hexInput); // 打印转换结果return 0; // 程序结束
}


1、通过键盘输入一个通话秒数,编程显示通话用了几分钟几秒。

这里注意if语句应该是if(sec < 0),可以秒数可以为0,我懒得改动了,代码是改动过的

/*1、通过键盘输入一个通话秒数,编程显示通话用了几分钟几秒.*/#include <stdio.h>int main(void)
{int sec;int min;printf("请输入通话的秒数:");scanf("%d",&sec);if(sec <= 0){printf("输入错误,通话时间不能为负数,请重新输入!\n");return 1;}min = sec / 60;sec %= 60;printf("通话了%d分钟%d秒\n",min,sec);return 0;}


2、输入身高公制(cm),转换成英制(inch)(1inch = 2.54cm)。

/*2、输入身高公制(cm),转换成英制(inch)(1inch = 2.54cm)*/#include <stdio.h>int main(void)
{float height_cm,height_inch;printf("请输入您的身高(cm):");scanf("%f",&height_cm);if(height_cm < 0){printf("身高不能为负数,请重新输入!\n");return 1;}height_inch = height_cm / 2.54;printf("您的身高是%.2f英寸\n",height_inch);return 0;}


3、输入身高和体重,计算BMI指数(BMI = w/(h*h))。

/*3、输入身高和体重,计算BMI指数(BMI = w/(h*h))。*/#include <stdio.h>int main(void)
{float wei,hei,bmi;printf("请输入您的体重(kg):");scanf("%f",&wei);printf("请输入您的身高(m):");scanf("%f",&hei);bmi = wei / (hei * hei);printf("您的BMI指数是: %.2f\n",bmi);return 0;}


4.已经字符变量的值为 'p',如何使得该变量的输出为 'M',写出程序;

/*4.已经字符变量的值为 'p',如何使得该变量的输出为 'M'*/
/*p ASCII码112     M 77*/#include <stdio.h>int main(void)
{char var = 'p';var -= 35;printf("%c\n",var);return 0;}


5.将数字8输出为'8'; 

变量a被赋予了整数值8。当printf使用%c格式说明符时,它会将整数8转换为其对应的ASCII字符,即输出字符’8’。我是这么理解的,当然也可以直接输出字符'8'.

/*5.将数字8输出为'8'*/#include <stdio.h>int main(void)
{int a = 8;printf("%c\n",a);return 0;}//只输出字符'8'
printf("%c\n",'8');


6. 写出整型数 -56 在内存中的存储数据,如果将该内存的存储数据当作无符号整型数,则值是多少?(没记错的话,补码是其在存储方式)四个字节也就是11001000 11001000 11001000 1100100

          内存存储方式:  按照整数数据的补码方式存放:
               原码:  整型数据的二进制形式
               有符号整数   (最高位符号位 (0:正数,1:负数)) + 数据位
               无符号:     所有的二进制位都是数据位 
           反码:   除了符号位外,其余数据位取反(0--->1, 1--->0)
           补码:   反码 + 1

正数: 原码,反码 和补码是相同的; 
负数: 最高位符号位,其余位为数据位,采用补码方式存储,

差不多上述算就完事好像是这样不确定,就这样啦,我会的话会回来精进的啦,数应当是对的,让C自己算的哈哈哈

/*6. -56 如果将该内存的存储数据当作无符号整型数,则值是多少?*/#include <stdio.h>int main(void)
{int a = -56;printf("%u\n",a);return 0;}

.

相关文章:

C语言—基础数据类型(含进制转换)

进制转换不多&#xff0c;但我觉得适合小白(我爱夸自己嘿嘿) 练习 1. 确认基础类型所占用的内存空间(提示&#xff1a;使用sizeof 运算符)&#xff1a; 在这里我说一下&#xff0c;long 类型通常占用 4 字节。在 64 位系统上&#xff0c;long 类型通常也可为 8 字节。 格式…...

警钟长鸣-合同问题

由于去年入职了某家公司&#xff0c;本来想着临时过渡一下&#xff0c;虽然签的时候发现合同和竞业协议存在很明显的问题或者说好听点“限制比较严&#xff1f;”&#xff0c;大部分互联网公司都成了它的假想敌&#xff0c;但是本着来都来了的想法就签了&#xff0c;于是导致发…...

CAN通讯协议学习

介绍 它是一种异步通讯&#xff0c;can_high和can_low两条线利用的是电位差传输信号&#xff0c;抗干扰能力强&#xff0c;但是必须要有can控制器如TJA1050&#xff08;我的开发板&#xff09; 当 CAN 节点需要发送数据时&#xff0c;控制器把要发送的二进制编码通过 CAN_Tx 线…...

Spring Boot 笔记 008 创建接口_获取用户信息

1.1.1 编写userinfo接口 1.1.2 User实体类中增加转json忽略password注释 package com.geji.pojo;import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data;import java.time.LocalDateTime;//lombok 在…...

EMC学习笔记(二十六)降低EMI的PCB设计指南(六)

降低EMI的PCB设计指南&#xff08;六&#xff09; 1.PCB布局1.1 带键盘和显示器的前置面板PCB在汽车和消费类应用中的应用1.2 敏感元器件的布局1.3 自动布线器 2.屏蔽2.1 工作原理2.2 屏蔽接地2.3 电缆屏蔽至旁路2.4 缝隙天线&#xff1a;冷却槽和缝隙 tips&#xff1a;资料主要…...

pytorch花式索引提取topk的张量

文章目录 pytorch花式索引提取topk的张量问题设定代码实现索引方法gather方法验证 补充知识expand方法gather方法randint pytorch花式索引提取topk的张量 问题设定 或者说&#xff0c;有一个(bs, dim, L)的大张量&#xff0c;索引的index形状为(bs, X)&#xff0c;想得到一个(…...

Swagger2

Swagger2 引入依赖 <!-- springfox-swagger2 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.10.5</version></dependency>编写配置 @Configuration public …...

2024/2/13

数组练习 1、选择题 1.1、若有定义语句&#xff1a;int a[3][6]; &#xff0c;按在内存中的存放顺序&#xff0c;a 数组的第10个元素是 D A&#xff09;a[0][4] B) a[1][3] C)a[0][3] D)a[1][4] 1.2、有数组 int a[5] {10&#xff0c;20&#xff0c;30&#xff0c;40&…...

【工具】Android|Android Studio 长颈鹿版本安装下载使用详解

版本&#xff1a;2022.3.1.22&#xff0c; https://redirector.gvt1.com/edgedl/android/studio/install/2022.3.1.22/android-studio-2022.3.1.22-windows.exe 前言 笔者曾多次安装并卸载Android Studio&#xff0c;反复被安卓模拟器劝退。现在差不多是第三次安装&#xff0c…...

第三代互联网web3.0

Web3.0&#xff0c;通常被称为第三代互联网&#xff0c;代表了互联网技术的下一个演进阶段。它主要基于区块链、去中心化和用户赋权的理念构建&#xff0c;旨在创造一个更加智能、开放且安全的网络环境。以下是Web3.0的一些关键特点&#xff1a; 1. **去中心化**&#xff1a;We…...

FL Studio版本升级-FL Studio怎么升级-FL Studio升级方案

已经是新年2024年了&#xff0c;但是但是依然有很多朋友还在用FL Studio12又或者FL Studio20&#xff0c;今天这篇文章教大家如何升级FL Studio21 FL Studio 21是Image Line公司开发的音乐编曲软件&#xff0c;除了软件以外&#xff0c;我们还提供了FL Studio的升级服务&#…...

服务降级(Sentinel)

服务降级 采用 SentinelResource 注解方式实现&#xff0c; 必要的 依赖必须引入 以及 切面Bean 接口代码 RequestMapping("/degrade")SentinelResource(value DEGRADE_RESOURCE_NAME, blockHandler "blockHandlerForDegrade",entryType EntryType.IN…...

Rust入门问题: use of undeclared crate or module `rand`

按照官网学rust&#xff0c;程序地址在这里&#xff0c; 写个猜数字游戏 - Rust 程序设计语言 简体中文版 程序内容也很简单&#xff0c; use std::io; use rand::Rng;fn main() {println!("Guess the number!");let secret_number rand::thread_rng().gen_range…...

2024.2.6 模拟实现 RabbitMQ —— 数据库操作

目录 引言 选择数据库 环境配置 设计数据库表 实现流程 封装数据库操作 针对 DataBaseManager 单元测试 引言 硬盘保存分为两个部分 数据库&#xff1a;交换机&#xff08;Exchange&#xff09;、队列&#xff08;Queue&#xff09;、绑定&#xff08;Binding&#xff0…...

dolphinscheduler海豚调度(一)简介快速体验

1、简介 Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景&#xff0c;提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系&#xff0c;并为应…...

VTK 三维场景的基本要素(相机) vtkCamera

观众的眼睛好比三维渲染场景中的相机&#xff0c;在VTK中用vtkCamera类来表示。vtkCamera负责把三维场景投影到二维平面&#xff0c;如屏幕&#xff0c;相机投影示意图如下图所示。 1.与相机投影相关的要素主要有如下几个&#xff1a; 1&#xff09;相机位置: 相机所处的位置…...

小游戏和GUI编程(5) | SVG图像格式简介

小游戏和GUI编程(5) | SVG图像格式简介 0. 问题 Q1: SVG 是什么的缩写&#xff1f;Q2: SVG 是一种图像格式吗&#xff1f;Q3: SVG 相对于其他图像格式的优点和缺点是什么&#xff1f;Q4: 哪些工具可以查看 SVG 图像&#xff1f;Q5: SVG 图像格式的规范是怎样的&#xff1f;Q6…...

多机多卡运行nccl-tests和channel获取

nccl-tests 环境1. 安装nccl2. 安装openmpi3. 单机测试4. 多机测试mpirun多机多进程多节点运行nccl-testschannel获取 环境 Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic x86_64)cuda 11.8 cudnn 8nccl 2.15.1NVIDIA GeForce RTX 4090 *2 1. 安装nccl #查看cuda版本 nv…...

SQL,HQL刷题,尚硅谷

相关表数据&#xff1a; 1、score_info 2、student_info 题目及思路解析&#xff1a; 分组结果的条件 1、查询平均成绩大于60分的学生的学号和平均成绩 代码&#xff1a; selectstu_id,avg(score) score_avg from score_info group by stu_id having score_avg>60; 思路…...

DevOps:CI、CD、CB、CT、CD

目录 一、软件开发流程演化快速回顾 &#xff08;一&#xff09;瀑布模型 &#xff08;二&#xff09;原型模型 &#xff08;三&#xff09;螺旋模型 &#xff08;四&#xff09;增量模型 &#xff08;五&#xff09;敏捷开发 &#xff08;六&#xff09;DevOps 二、走…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...