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;

}

.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

部署JForum2过程。

居然用了两天时间&#xff0c;才把JForum2部署成功。走了一些弯路&#xff0c;主要原因是想当然&#xff0c;以为jdk和tomcat&#xff0c;应该向下兼容&#xff0c;所以就随便选的版本。 一、jdk-17、apache-tomcat-10.1.18-windows-x64&#xff0c;部署完jforum-2.8.2.war,改…

海量数据处理商用短链接生成器平台 - 4

第六章 架构核心技术-池化思想-异步结合 性能优化最佳实践 第1集 RestTemplate里面的存在的问题你知道多少- Broken pipe错误 项目就更新到第六章了&#xff0c;剩下的内容 放百度网盘里面了&#xff0c;需要的来取。 链接&#xff1a;https://pan.baidu.com/s/19LHPw36dsxPB7…

LeetCode、901. 股票价格跨度【中等,单调栈】

文章目录 前言LeetCode、901. 股票价格跨度【中等&#xff0c;单调栈】题目链接及分类思路思路1&#xff1a;暴力思路2&#xff1a;单调栈写法优化&#xff1a;单调栈简化写法(数组替代栈集合) 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、…

LeetCode、1143. 最长公共子序列【中等,二维DP】

文章目录 前言LeetCode、1143. 最长公共子序列【中等&#xff0c;二维DP】题目链接与分类思路2022年暑假学习思路及题解二维DP解决 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里云平台优质作者…

如何才能学好JVM?——零基础入门篇

1. JVM是什么&#xff1f; JVM是Java Virtual Machine的简称&#xff0c;它是一个虚拟的计算机&#xff0c;专门为执行Java程序而设计。 你可以想象它是一个能够运行Java字节码的平台&#xff0c;无论你的程序在Windows、Mac还是Linux上&#xff0c;它们都能通过JVM在这些系统…

P1928 外星密码

网址如下&#xff1a; P1928 外星密码 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) C的string真的是太好用辣&#xff01; 思路就是用一个函数来递归翻译 代码如下&#xff1a; #include<iostream> #include<string> #include<cctype> using namespace…

springboot183基于java的公寓报修管理系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

Microsoft OneNote 图片文字提取

Microsoft OneNote 图片文字提取 1. 文件 -> 新建 -> 我的电脑 -> 名称 -> 位置 -> 创建笔记本2. 插入图片​​​3. 复制图片中的文本References 1. 文件 -> 新建 -> 我的电脑 -> 名称 -> 位置 -> 创建笔记本 ​ 2. 插入图片 ​​​3. 复制图片…

Linux-进程信号

Linux进程信号 初步认识信号信号的存储结构信号的处理方式信号的产生硬件异常产生的信号核心转储sigset_t信号集信号集的操作函数对block表的操作对pending表的操作对handler表的操作信号的捕捉用户态和内核态 信号的处理过程可重入函数volatile关键字 初步认识信号 生活中有哪…

C# CAD2016 多边形顶点按方向重新排序

多边形顶点按方向重新排序 初始化多边形顶点集合 outerPoints 创建一个名为 outerPoints 的 List<Point2d>&#xff0c;用于存储多边形的所有顶点坐标。 计算多边形顶点集合的边界框&#xff08;BoundingBox&#xff09; 使用LINQ的Aggregate方法遍历整个outerPoints列表…

基于Zigbee的智能温室大棚系统(附详细使用教程+完整代码+原理图+完整课设报告)

🎊项目专栏:【Zigbee课程设计系列文章】(附详细使用教程+完整代码+原理图+完整课设报告) 前言 👑由于无线传感器网络(也即是Zigbee)作为🌐物联网工程的一门必修专业课,具有很强的实用性,因此很多院校都开设了zigbee的实训课程;👑同时最近很多使用了我的单片机课…

计算机网络——10FTP

FTP FTP&#xff1a;文件传输协议 向远程主机上传输文件或从远程主机接收文件客户/服务器模式 客户端&#xff1a;发起传输的一方服务器&#xff1a;远程主机 ftp:RFC 959ftp服务器&#xff1a;端口号为21 FTP&#xff1a;控制连接与数据连接分开 控制连接 FTP客户端与FTP服…

[FFmpeg学习]从视频中获取图片

从视频中获取图片是一个比较直观的例子&#xff0c;这里从一个基础的例子来查看FFmpeg相关api的使用&#xff0c;从mp4文件中获取一帧图像&#xff0c;保存为jpeg格式图片&#xff0c;mp4文件比较好准备&#xff0c;一般手机录屏文件就是mp4格式。 原理还是比较清楚&#xff0…

【杂谈】扣子(Coze) 初体验

扣子(Coze)是什么 官方原文如下&#xff1a; 扣子&#xff08;coze.cn&#xff09;是一款用来开发新一代 AI Chat Bot 的应用编辑平台&#xff0c;无论你是否有编程基础&#xff0c;都可以通过这个平台来快速创建各种类型的 Chat Bot&#xff0c;并将其发布到各类社交平台和通…

B2084 质因数分解

题目描述 已知正整数 n 是两个不同的质数的乘积&#xff0c;试求出较大的那个质数。 输入格式 输入只有一行&#xff0c;包含一个正整数 n&#xff08;6<n<&#xff09;。 输出格式 输出只有一行&#xff0c;包含一个正整数 p&#xff0c;即较大的那个质数。 输入输…

Java 基于 SpringBoot+Vue 的社区医院系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

《Java 简易速速上手小册》第8章:Java 性能优化(2024 最新版)

文章目录 8.1 性能评估工具 - 你的性能探测仪8.1.1 基础知识8.1.2 重点案例&#xff1a;使用 VisualVM 监控应用性能8.1.3 拓展案例 1&#xff1a;使用 JProfiler 分析内存泄漏8.1.4 拓展案例 2&#xff1a;使用 Gatling 进行 Web 应用压力测试 8.2 JVM 调优 - 魔法引擎的调校8…

根据Ruoyi做二开

Ruoyi二开 前言菜单代码生成总结 前言 之前写过一篇文章&#xff0c;若依微服务版本搭建&#xff0c;超详细&#xff0c;就介绍了怎么搭建若依微服务版本&#xff0c;我们使用若依就是为了简化我们的开发&#xff0c;减少开发周期的&#xff0c;这篇文章就会介绍怎么使用若依进…

大型社区门口适合开什么店?商业趋势与消费需求分析

作为一名资深的鲜奶吧创业者&#xff0c;我在这个行业已经摸爬滚打了五年。期间&#xff0c;我见证了社区商业的蓬勃发展&#xff0c;也深刻体会到了选址对于店铺经营的重要性。 这篇文章&#xff0c;我和大家分享一下我的见解&#xff0c;探讨一下大型社区门口适合开什么店&a…

软件实例分享,茶楼收银软件管理系统,支持计时计费商品销售会员管理定时语音提醒功能

软件实例分享&#xff0c;茶楼收银软件管理系统&#xff0c;支持计时计费商品销售会员管理定时语音提醒功能 一、前言 以下软件教程以 佳易王茶社计时计费管理系统软件V18.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 问&#xff1a;这个软…