当前位置: 首页 > 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 二、走…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

小木的算法日记-多叉树的递归/层序遍历

&#x1f332; 从二叉树到森林&#xff1a;一文彻底搞懂多叉树遍历的艺术 &#x1f680; 引言 你好&#xff0c;未来的算法大神&#xff01; 在数据结构的世界里&#xff0c;“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的&#xff0c;它…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...