基于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.pswp.cn/diannao/74190.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/74190.shtml
英文地址,請注明出處:http://en.pswp.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…