基于linux平台的C语言入门教程(5)基本数据类型

文章目录

      • 1. 什么是数据类型?
      • 2. C 语言的基本数据类型
      • 3. 数据类型的存储大小
      • 4. 示例代码
        • 代码解析:
        • 输出结果:
      • 5. 常见问题
        • 问题 1:`float` 和 `double` 的区别是什么?
        • 问题 2:`unsigned` 类型可以存储负数吗?
        • 问题 3:如何选择合适的数据类型?
      • 6. 扩展练习

1. 什么是数据类型?

数据类型是编程语言中用于定义变量或常量可以存储的数据种类。C 语言提供了多种基本数据类型,用于表示不同类型的数据,如整数、浮点数、字符等。

2. C 语言的基本数据类型

C 语言的基本数据类型可以分为以下几类:

数据类型关键字描述示例
整数类型int存储整数值int age = 25;
短整型short存储较小的整数值short count = 10;
长整型long存储较大的整数值long population = 1000000L;
字符类型char存储单个字符char letter = 'A';
单精度浮点型float存储单精度浮点数float price = 99.99f;
双精度浮点型double存储双精度浮点数double pi = 3.14159;
无符号类型unsigned存储非负整数值unsigned int score = 100;

3. 数据类型的存储大小

不同的数据类型占用的内存大小不同,具体取决于编译器和系统架构。以下是常见数据类型的存储大小(以 64 位系统为例):

数据类型存储大小(字节)取值范围
char1-128 到 127 或 0 到 255
short2-32,768 到 32,767
int4-2,147,483,648 到 2,147,483,647
long8-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
float4约 ±3.4e-38 到 ±3.4e38
double8约 ±1.7e-308 到 ±1.7e308

4. 示例代码

以下是一个使用基本数据类型的示例程序:

#include <stdio.h>int main() {int age = 25;                     // 整数类型short count = 10;                 // 短整型long population = 1000000L;       // 长整型char letter = 'A';                // 字符类型float price = 99.99f;             // 单精度浮点型double pi = 3.14159;              // 双精度浮点型unsigned int score = 100;         // 无符号类型// 输出结果printf("年龄: %d\n", age);printf("数量: %hd\n", count);printf("人口: %ld\n", population);printf("字母: %c\n", letter);printf("价格: %.2f\n", price);printf("圆周率: %.5lf\n", pi);printf("分数: %u\n", score);return 0;
}
代码解析:
  1. 变量声明与初始化

    • 声明并初始化了不同类型的变量。
  2. 格式化输出

    • 使用 printf 输出变量的值。
    • %hd 用于输出 short 类型,%ld 用于输出 long 类型,%u 用于输出无符号整数。
输出结果:
年龄: 25
数量: 10
人口: 1000000
字母: A
价格: 99.99
圆周率: 3.14159
分数: 100

5. 常见问题

问题 1:floatdouble 的区别是什么?
  • float 是单精度浮点数,占用 4 字节,精度较低。
  • double 是双精度浮点数,占用 8 字节,精度较高。
问题 2:unsigned 类型可以存储负数吗?
  • 不可以。unsigned 类型只能存储非负整数。
问题 3:如何选择合适的数据类型?
  • 根据数据的取值范围和精度需求选择合适的数据类型。例如,存储年龄可以使用 int,存储价格可以使用 floatdouble

6. 扩展练习

  1. 修改程序,添加一个新的变量存储体重(使用 float 类型),并输出。
  2. 尝试使用 long long 类型存储一个非常大的整数,并输出。
  3. 编写一个程序,计算两个浮点数的乘积,并输出结果。

如果你需要其他文章的内容,请告诉我,我会继续输出!

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

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

相关文章

Bellman_ford 算法——解决负权边最短路径问题

卡码网:94. 城市间货物运输 I 94. 城市间货物运输 I 题目描述 某国为促进城市间经济交流,决定对货物运输提供补贴。共有 n 个编号为 1 到 n 的城市,通过道路网络连接,网络中的道路仅允许从某个城市单向通行到另一个城市,不能反向通行。 网络中的道路都有各自的运输成本…

mysql——第二课

学生表 CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT,name varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,sex varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,age int(11) DEFAULT NULL,c_id int(10) DEFAULT NULL,PRIMARY KEY (id),KEY c_id (c_id),CONSTR…

图解 ThreadLocal

在 Java 多线程编程的世界里&#xff0c;ThreadLocal 是一个非常实用的工具&#xff0c;它为每个线程提供了独立的变量副本&#xff0c;避免了多线程环境下的变量共享问题。今天&#xff0c;我们就从内存视角出发&#xff0c;通过一张图来深入理解 ThreadLocal 的工作原理&…

Sql Server 索引性能优化 分析以及分表

定位需优化语句 根据工具 skywking 或者开启慢查询日志 找到 慢sql 的语句根据 执行过程 来 判断 慢的原因 row filter 指标 看查了多少数据 比例多少 type 看下是单表 还是 join联表 比如 执行步骤多 没索引 优化方向 减少执行次数索引 没索引考虑加索引 加索引 尽量选择 i…

@JsonSerialize注解

1.简介 JsonSerialize注解可以自定义改变返回前端的内容,比如:将Student实体类的age字段的值在返回前端之前,由20改为21. 要用到jackson-databind依赖包,在Spring Boot项目中&#xff0c;默认已经集成了Jackson&#xff0c;因此你不需要手动引入Jackson库。 2.上例子 将Stud…

Java面试黄金宝典5

1. ConcurrentHashMap 和 HashTable 有哪些区别 原理 HashTable&#xff1a;它继承自 Dictionary 类&#xff0c;是 Java 早期提供的线程安全哈希表。其线程安全的实现方式是对每个方法都使用 synchronized 关键字进行同步。例如&#xff0c;在调用 put、get 等方法时&#xff…

vim的一般操作(分屏操作) 和 Makefile 和 gdb

目录 一. vim的基本概念 二. vim基础操作 2.1 插入模式 aio 2.2 [插入模式]切换至[正常模式] Esc 2.3[正常模式]切换至[末行模式] shift ; 2.4 替换模式 Shift R 2.5 视图&#xff08;可视&#xff09;模式 (可以快速 删除//注释 或者 增加//注释) ctrl v 三&…

Linux:基础IO---文件描述符

文章目录 1. 前言1.1 C语言文件知识回顾 2. 文件2.1 文件基础知识 3. 被打开的文件3.1 以C语言为主&#xff0c;先回忆一下C文件接口3.2 过渡到系统&#xff0c;认识文件系统调用3.3 访问文件的本质3.4 重定向&&缓冲区 序&#xff1a;在深入了解了进程的内容后&#xf…

2025年十大AI工具对比

2025年十大AI工具对比 以下是2025年各大AI工具的详细对比&#xff0c;涵盖性能、功能、用户评价等方面&#xff0c;并以表格形式呈现。数据来源于多个权威来源&#xff0c;确保信息全面且准确。 对比表格 排名AI工具名称主要功能性能特点用户评价适用场景1DeepSeek多模态AI、…

JDK 24 发布,新特性解读!

一、版本演进与技术格局新动向 北京时间3月20日&#xff0c;Oracle正式发布Java SE 24。作为继Java 21之后的第三个非LTS版本&#xff0c;其技术革新力度远超预期——共集成24项JEP提案&#xff0c;相当于Java 22&#xff08;12项&#xff09;与Java 23&#xff08;12项&#…

批量图片压缩工具,高效减小文件大小并保持质量

在处理大量图片时&#xff0c;如何高效压缩文件大小并保持画质是个常见难题。今天为大家推荐一款专业工具——JPGC&#xff0c;它专为图片批量处理设计&#xff0c;能快速压缩JPG/JPEG格式图片&#xff0c;在减小文件体积的同时尽可能保留画质&#xff0c;尤其适合处理数码相机…

【002安卓开发方案调研】之Kotlin+Jetpack开发方案

基于2025年国内移动开发领域的现状&#xff0c;结合Jetpack Compose的技术特性和生态发展&#xff0c;以下是对KotlinJetpack Compose开发安卓应用的综合分析&#xff1a; 一、技术与生态成熟度评估 1. 技术成熟度 声明式UI与开发效率 Jetpack Compose采用声明式编程模型&…

软考中级-软件设计师 准备

软考中级-软件设计师 准备 一、软考相关1.1、考试时间1.2、考试时长1.3、题型和分值&#xff1a; 二、软考备考2.1、相关书籍2.2、推荐课程&#xff1a;B站up主zst_20012.3、学习路线 一、软考相关 1.1、考试时间 一年有两次软考&#xff0c;一般是五月末和十一月的中旬 以下…

【数据挖掘】Python基础环境安装配置

【数据挖掘】Python基础环境安装配置 一、摘要二、安装Python3.13.2三、安装Jupyter Notebook四、安装Numpy和Pandas以及matplotlib五、安装scikit-learn库和seaborn库 一、摘要 本文主要介绍如何在Windows上安装Python3.13.2&#xff0c;然后基于该Python版本安装Jupyter not…

给语言模型增加知识逻辑校验智能,识别网络中的信息投毒行为模式

目前阶段&#xff0c;现在的LLM缺少一个形式逻辑校验模型。 网络系统上不断增长的信息相当部分不再纯粹是人类生成&#xff0c;而是也由各种模型生成输出&#xff0c;模型后续从网络系统上取得信息&#xff0c;AI生态系统陷入了信息熵增循环&#xff0c;AI模型生态系统的计算输…

OpenLayers集成天地图服务开发指南

以下是一份面向GIS初学者的OpenLayers开发详细教程&#xff0c;深度解析代码&#xff1a; 一、开发环境搭建 1.1 OpenLayers库引入 <!-- 使用CDN引入最新版OpenLayers --> <link rel"stylesheet" href"https://cdn.jsdelivr.net/npm/ollatest/ol.c…

【免费】2000-2019年各省地方财政房产税数据

2000-2019年各省地方财政房产税数据 1、时间&#xff1a;2000-2019年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;行政区划代码、地区、年份、地方财政房产税 4、范围&#xff1a;31省 5、指标说明&#xff1a;房产税是对个人和单位拥有的房产征收的一种…

在Ubuntu 22.04 中安装Docker的详细指南

在Ubuntu 22.04 中安装Docker的详细指南 一、引言 Docker是一个开源的应用容器引擎&#xff0c;它可以让开发者将应用程序及其依赖项打包到一个可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。在Ubuntu 22.04上安装Docker能为开发、…

macOS 使用 iconv 转化文件编码

文章目录 使用方式支持的编码类型iconv 更多用法 使用方式 iconv -f GB2312 -t UTF-8 分治算法.txt > 分治算法2.txt 支持的编码类型 可以使用 下面命令 查看编码类型 iconv -lPS : ISO-8859 有很多种分支&#xff0c;iconv 支持 ISO-8859-1、ISO-8859-10&#xff0c;但…

操作系统核心问题解析(目的/定位、管理思想:先描述,再组织、 库函数与系统调用的关系)

1. 目的/定位 核心作用&#xff1a;操作系统是计算机系统的资源管理者和用户/应用程序的服务提供者。 资源管理&#xff1a;统一管理CPU、内存、磁盘、外设等硬件资源&#xff0c;避免冲突、提高利用率&#xff08;如多任务调度、虚拟内存&#xff09;。 服务接口&#xff1a…