C語言入門教程100講(6)類型修飾符

文章目錄

      • 1. 什么是類型修飾符?
      • 2. 常見的類型修飾符
      • 3. 類型修飾符的使用
        • 3.1 `short` 和 `long`
        • 3.2 `signed` 和 `unsigned`
      • 4. 類型修飾符的組合
      • 5. 示例代碼
        • 代碼解析:
        • 輸出結果:
      • 6. 常見問題
        • 問題 1:`short` 和 `long` 的具體大小是多少?
        • 問題 2:`unsigned` 類型的取值范圍是什么?
        • 問題 3:類型修飾符可以用于浮點數嗎?
      • 7. 擴展練習

1. 什么是類型修飾符?

類型修飾符是 C 語言中用于修改基本數據類型的屬性(如大小、符號性)的關鍵字。通過使用類型修飾符,可以更靈活地定義變量,以滿足不同的需求。

2. 常見的類型修飾符

C 語言中常用的類型修飾符包括:

  • short:用于減小整型變量的存儲空間。
  • long:用于增大整型變量的存儲空間。
  • signed:用于聲明有符號的整型變量(默認)。
  • unsigned:用于聲明無符號的整型變量。

3. 類型修飾符的使用

3.1 shortlong
  • shortlong 用于修飾整型變量,改變其存儲大小。
  • 語法:
    short int 變量名;  // 短整型
    long int 變量名;   // 長整型
    
  • 示例:
    short int age = 25;       // 短整型,占用 2 字節
    long int population = 1000000L;  // 長整型,占用 4 或 8 字節
    
3.2 signedunsigned
  • signedunsigned 用于修飾整型變量的符號性。
  • 語法:
    signed int 變量名;   // 有符號整型(默認)
    unsigned int 變量名; // 無符號整型
    
  • 示例:
    signed int temperature = -10;  // 有符號整型,可以存儲負數
    unsigned int score = 100;      // 無符號整型,只能存儲非負數
    

4. 類型修飾符的組合

類型修飾符可以組合使用,例如:

  • unsigned short int:無符號短整型。
  • long long int:長長整型(64 位整數)。

5. 示例代碼

以下是一個使用類型修飾符的示例程序:

#include <stdio.h>int main() {short int age = 25;               // 短整型long int population = 1000000L;   // 長整型unsigned int score = 100;         // 無符號整型// 輸出結果printf("年齡: %hd\n", age);printf("人口: %ld\n", population);printf("分數: %u\n", score);return 0;
}
代碼解析:
  1. short int age = 25;

    • 聲明一個短整型變量 age,占用 2 字節。
  2. long int population = 1000000L;

    • 聲明一個長整型變量 population,占用 4 或 8 字節。
  3. unsigned int score = 100;

    • 聲明一個無符號整型變量 score,只能存儲非負數。
  4. 格式化輸出

    • %hd 用于輸出 short int 類型。
    • %ld 用于輸出 long int 類型。
    • %u 用于輸出 unsigned int 類型。
輸出結果:
年齡: 25
人口: 1000000
分數: 100

6. 常見問題

問題 1:shortlong 的具體大小是多少?
  • short 通常占用 2 字節,long 通常占用 4 字節(32 位系統)或 8 字節(64 位系統)。
問題 2:unsigned 類型的取值范圍是什么?
  • unsigned int 的取值范圍是 0 到 4,294,967,295(32 位系統)。
問題 3:類型修飾符可以用于浮點數嗎?
  • 不可以。類型修飾符只能用于整型變量。

7. 擴展練習

  1. 修改程序,使用 unsigned short int 存儲一個較小的非負整數,并輸出。
  2. 嘗試使用 long long int 存儲一個非常大的整數,并輸出。
  3. 編寫一個程序,計算兩個無符號整數的和,并輸出結果。

如果你需要其他文章的內容,請告訴我,我會繼續輸出!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/74226.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/74226.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/74226.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux-Ubuntu 系統學習筆記 | 從入門到實戰

&#x1f4d8; Linux-Ubuntu 系統學習筆記 | 從入門到實戰 &#x1f4dc; 目錄 環境安裝基本操作Linux操作系統介紹文件系統常用命令用戶權限管理編輯器vimGCC編譯器動態庫與靜態庫Makefile 1. 環境安裝 &#x1f31f; 下載鏡像 推薦使用清華大學開源鏡像站下載Ubuntu鏡像&a…

防火墻帶寬管理

拓撲 配置 [fw]interface GigabitEthernet 0/0/0 [fw-GigabitEthernet0/0/0]service-manage all permit [fw]interface GigabitEthernet 1/0/0 [fw-GigabitEthernet1/0/0]ip address 12.0.0.1 24 [fw]interface GigabitEthernet 1/0/1 [fw-GigabitEthernet1/0/1]ip ad…

一人系統 之 為什么要做一人系統?

一人系統 之 賺錢認知篇&#xff08;下&#xff09; 本文 2119個字&#xff0c;大概閱讀時間 16分鐘。 在上一篇文章中&#xff0c;主要講了以下三個內容&#xff1a; 什么是好的工作&#xff1f;時薪高&#xff0c;并且有能力提升&#xff0c;而且最終可以獨立創業的工作&…

基于springboot的電影院管理系統(源碼+lw+部署文檔+講解),源碼可白嫖!

摘要 互聯網技術的成熟和普及&#xff0c;勢必會給人們的生活方式帶來不同程度的改變。越來越多的經營模式中都少不了線上運營&#xff0c;互聯網正強力推動著社會和經濟發展。國人對民族文化的自信和不同文化的包容&#xff0c;再加上電影行業的發展&#xff0c;如此繁榮吸引…

Java安全-類的動態加載

類的加載過程 先在方法區找class信息&#xff0c;有的話直接調用&#xff0c;沒有的話則使用類加載器加載到方法區(靜態成員放在靜態區&#xff0c;非靜態成功放在非靜態區)&#xff0c;靜態代碼塊在類加載時自動執行代碼&#xff0c;非靜態的不執行;先父類后子類&#xff0c;…

ROS多機通信功能包——Multibotnet

引言 這是之前看到一位大佬做的集群通信中間件&#xff0c;突發奇想&#xff0c;自己也來做一個&#xff0c;實現更多的功能、更清楚的架構和性能更加高效的ROS多機通信的功能包 鏈接&#xff1a;https://blog.csdn.net/benchuspx/article/details/128576723 Multibotnet Mu…

C++:背包問題習題

1. 貨幣系統 1371. 貨幣系統 - AcWing題庫 給定 V 種貨幣&#xff08;單位&#xff1a;元&#xff09;&#xff0c;每種貨幣使用的次數不限。 不同種類的貨幣&#xff0c;面值可能是相同的。 現在&#xff0c;要你用這 V 種貨幣湊出 N 元錢&#xff0c;請問共有多少種不同的…

IT工具 | node.js 進程管理工具 PM2 大升級!支持 Bun.js

P(rocess)M(anager)2 是一個 node.js 下的進程管理器&#xff0c;內置負載均衡&#xff0c;支持應用自動重啟&#xff0c;常用于生產環境運行 node.js 應用&#xff0c;非常好用&#x1f44d; &#x1f33c;概述 2025-03-15日&#xff0c;PM2發布最新版本v6.0.5&#xff0c;這…

2025年01月02日浙江鼎永前端面試

目錄 webpack 和 vite 區別react fiber 架構vue diff 算法react diff 算法hooks 源碼垂直水平布局項目介紹單點登錄大文件上傳微前端 1. webpack 和 vite 區別 Webpack 和 Vite 是兩種不同的前端構建工具&#xff0c;它們在設計理念、性能表現和使用場景上存在顯著差異。以下…

1.企業級AD活動目錄核心解析:架構、組件與集成實踐

在當今數字化時代&#xff0c;企業級網絡環境日益復雜&#xff0c;高效、安全的資源管理和用戶認證成為企業 IT 運營的關鍵。AD&#xff08;Active Directory&#xff09;活動目錄作為微軟 Windows 系列服務器中的重要目錄服務&#xff0c;為企業級網絡管理提供了強大的解決方案…

【數據分享】2014-2024年我國各城市逐年空氣質量指數(AQI)數據

空氣質量指數&#xff08;AQI&#xff09;是一個衡量空氣污染程度的綜合指標&#xff0c;它并不直接表示具體污染物的濃度值&#xff0c;而是基于多種污染物的濃度進行的綜合評價&#xff0c;具體基于六種主要污染物的濃度&#xff1a;PM2.5、PM10、SO?、NO?、O?和CO。AQI是…

【C++】深入理解list迭代器的設計與實現

深入理解list迭代器的設計與實現 引言1、鏈表基礎結構2、鏈表迭代器的封裝2.1 初步封裝迭代器類2.2 引入const迭代器2.2.1 參考STL源代碼2.2.2 完善迭代器 3、迭代器實現機制結語 引言 在STL容器中&#xff0c;list作為經典的雙向鏈表容器&#xff0c;其迭代器設計體現了C模板編…

C語言基礎系列【27】typedef

博主介紹&#xff1a;程序喵大人 35- 資深C/C/Rust/Android/iOS客戶端開發10年大廠工作經驗嵌入式/人工智能/自動駕駛/音視頻/游戲開發入門級選手《C20高級編程》《C23高級編程》等多本書籍著譯者更多原創精品文章&#xff0c;首發gzh&#xff0c;見文末&#x1f447;&#x1f…

【CXX-Qt】2.5 繼承

某些 Qt API 要求你從抽象基類中重寫某些方法&#xff0c;例如 QAbstractItemModel。 為了支持直接從 Rust 中創建這樣的子類&#xff0c;CXX-Qt 提供了多種輔助工具。 某些基類可能需要特殊的構造參數。這可以通過使用自定義構造函數來實現。 訪問基類方法 要在 Rust 中訪…

磁盤清理工具-TreeSize Free介紹

TreeSizeFree是一個磁盤空間管理工具&#xff0c;主要用于分析磁盤使用情況&#xff0c;幫助用戶找到占用空間大的文件和文件夾: 特點&#xff1a;按大小排序&#xff1a;快速找到占用空間最大的文件或文件夾 一般可以刪除: 掃描 C:\Users\XXX\AppData\Local\Temp 或 C:\Window…

OpenCV中距離公式

一、各類距離公式總結 常見距離公式 歐氏距離&#xff1a; 曼哈頓距離&#xff08;L1&#xff09;?&#xff1a; 切比雪夫距離&#xff08;Chessboard&#xff09;?&#xff1a; 1、點與點距離(歐氏距離) ?二維空間? 設兩點坐標為 P1(x1,y1)、P2(x2,y2)&#xff0c;其距離…

Vue.js 模板語法全解析:從基礎到實戰應用

引言 在 Vue.js 的開發體系中&#xff0c;模板語法是構建用戶界面的核心要素&#xff0c;它讓開發者能夠高效地將數據與 DOM 進行綁定&#xff0c;實現動態交互效果。通過對《Vue.js 快速入門實戰》中關于 Vue 項目部署章節&#xff08;實際圍繞 Vue 模板語法展開&#xff09;…

論文筆記(七十三)Gemini Robotics: Bringing AI into the Physical World

Gemini Robotics: Bringing AI into the Physical World 文章概括1. 引言2. Gemini 2.0的具身推理2.1. 具身推理問答&#xff08;ERQA&#xff09;基準測試2.2. Gemini 2.0的具身推理能力2.3. Gemini 2.0支持零樣本和少樣本機器人控制 3. 使用 Gemini Robotics 執行機器人動作3…

centos7搭建postgresql12主從

主從搭建 192.168.159.101 node1 主庫&#xff08;讀寫&#xff09; 192.168.159.102 node2 備庫&#xff08;只讀&#xff09; 兩臺機器首先安裝postgrsql 主庫 postgres用戶操作&#xff1a; 修改postgresql.conf # 在文件中修改(此配置僅用于遠程訪問, 流復制后續還有額外…

嵌入式基礎知識學習:SPI通信協議是什么?

SPI&#xff08;Serial Peripheral Interface&#xff09;是串行外設接口的縮寫&#xff0c;是一種廣泛應用于嵌入式系統的高速同步串行通信協議&#xff0c;由摩托羅拉公司于20世紀80年代提出。以下是其核心要點&#xff1a; 一、SPI的核心定義與特點 基本特性 全雙工同步通信…