輸出控制符的詳解

来源:https://www.cnblogs.com/huao990928/archive/2020/03/13/12489586.html
-Advertisement-
Play Games

為什麼要使用輸出控制符: 我們知道在電腦中數據是以二進位的形式存儲在電腦中的,但是01組成的代碼既可以表示數據也可以表示指令。如果不用輸出控制符變成我們想要的樣子的話,很容易的造成誤解。 如果01組成的代碼表示的是數據的話,那麼同樣的 01 代碼組合不同的輸出格式就會有不同的輸出結果。所以需要使 ...


為什麼要使用輸出控制符:

  • 我們知道在電腦中數據是以二進位的形式存儲在電腦中的,但是01組成的代碼既可以表示數據也可以表示指令。如果不用輸出控制符變成我們想要的樣子的話,很容易的造成誤解。

  • 如果01組成的代碼表示的是數據的話,那麼同樣的 01 代碼組合不同的輸出格式就會有不同的輸出結果。所以需要使用輸出控制符

常見的輸出控制符包含如下:

%d --------------- int

%ld --------------- long int

%c --------------- char

%f --------------- float

%lf --------------- double

%x(或者%x 後者%#X) ------------整型(長短都可以)(用是十六進位輸出)

%o ------------整型(長短都可以)(八進位輸出)

%s ------------字元串

代碼演示

/*

  ----------------2020/3/13 21:45---------------
 
  目的: 探究非進位控制輸出符

*/
# include<stdio.h>
int main(void)
{
    int i=10;
    char a='a';
    float b=2.123459789;
    double c=3.123456789;

    //%d 一般多用於int類型。表示用十進位進行輸出
    printf("%d\n",i);

    //%ld 表示long int 類型
    printf("%d\n",i);

    //%c 用於輸出字元串
    printf("%c\n",a);

    //%f 用於輸出單精度浮點數
    printf("%f\n" ,b);

    //%lf用於輸出雙精度浮點數
    printf("%lf\n" ,c);

    
    return 0;
}
/*

--------------------vc++6.0上運行的結果------------------
10
10
a
2.123460
3.123457
---------------------------------------------------------

心得:

  我們可以看到浮點數最多輸出得是小數點後面六位,不論單精度還是雙精度都是一樣得。
  超過了六位的浮點數從第七位四捨五入,無論第八位有多大,第七位後面的數已經與這個數無關了。只看第七位是否四捨五入
  不足六位數的浮點數在後面補0

*/

進位的輸出控制符

  • 代碼演示
/*

  -----------------2020/3/13 22:35----------------
  目的:
  探究進位輸出符的控制

*/
# include<stdio.h>
int main(void)
{
    int i=30;

    //用八進位輸出
    printf("%o\n",i); //輸入的是小寫的o
    printf("%O\n",i); //輸入的大寫的O
    printf("%0\n",i);   //輸入的數字零
    printf("%#o\n",i); //輸入的是井號加小寫字母o
    printf("%#O\n",i);
    
    printf("----------------\n");

    //十六進位輸出
    printf("%x\n",i); //輸入的是小寫x
    printf("%X\n",i); //輸入的是大寫的X
    printf("%#x\n",i); //輸入的是井號加小寫字母o
    printf("%#X\n",i); //輸入的是井號加小寫字母o
    return 0;

}
/*

---------vc++6.0中運行的結果--------------
36
O

036
O
----------------
1e
1E
0x1e
0X1E
------------------------------------------

  心得:
  
  在八進位中小寫得o輸出不帶符號得八進位數。大寫得O和數字零看起來差不多,但是輸入大寫得O出來得是一個零。而數字0出來的是空行
  所以在八進位中只有小寫得o能夠輸出數據,#o能夠輸出帶符號得八進位數

  在十六進位中大小寫得x都可以輸出數據。X輸出得超過10得大寫得字元。小寫得就是小寫的字元。#x帶有符號的十六進位數。

  在十六進位中大小寫都可以輸出而八進位只有小寫可以輸出的原因可能是因為十六進位中超過的10的部分是字母表示的。可以用大小寫。而八進位都是數字無法用法大小寫區分

*/
}

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在JavaScript中,函數是經常用到的,在實際開發的時候,我想很多人都沒有太在意函數的聲明與函數表達式的區別,但是呢,這種細節的東西對於學好js是非常重要的。 函數聲明與函數表達式用代碼寫出來是這樣的: //函數聲明 function say(){ console.log("函數聲明") } / ...
  • Node.js Domain(域) 簡化非同步代碼的異常處理,可以捕捉處理try catch無法捕捉的異常。 Domain 模塊可分為隱式綁定和顯式綁定: 隱式綁定: 把在domain上下文中定義的變數,自動綁定到domain對象 顯式綁定: 把不是在domain上下文中定義的變數,以代碼的方式綁定到 ...
  • 程式名稱:功夫滑鼠KongFuMouse聯繫郵箱:[email protected]工程版本:Ver0.1.9版本狀態:工程版本,尚未發佈,敬請期待! 軟體介紹: 還在為一些固定化滑鼠點擊煩惱?還在為頻繁點擊滑鼠點擊煩惱?功夫滑鼠解放您的雙手!!!功夫滑鼠2020是一款功能強大的滑鼠自動執行軟體(滑鼠自動 ...
  • 從程式員往架構師轉型的路上,蔡學鏞老師總結的“四維架構設計方法論”對我頗有幫助,讓我對架構設計有了更加立體化、系統化的認知,現將學習心得分享出來給需要的小伙伴參考。這套方法論通過空間(X、Y、Z)三個維度及時間T維度將問題域解構成可以輕鬆應對的小方塊,分而治之。同時,空間(X、Y、Z)三個維度聯動,... ...
  • 一、動態HTML 1.爬蟲跟反爬蟲 2.動態HTML連載 (1)JavaScript (2)jQuery (3)Ajax (4)DHTML (5)Python採集動態數據 從JavaScript代碼入手採集​;Python第三方庫運行JavaScript,直接採集你在瀏覽器中看到的頁面 二、Sele ...
  • [TOC] getattr詳解 前言 這兩天在優化騰訊雲遷移平臺( "SmartMS" )的中間件( )時. 其中某些介面由於涉及多種伺服器系統類型, 遷移類型的判斷.導致往往一個介面動輒70 80行. 隨便進行一個介面的修改, 調試, 參數的變更. 都將花費好幾分鐘的時間去縷縷中間的邏輯.加上同一 ...
  • 靜態類型和動態類型、類型虛函數與多態、typeid、dynamic_cast、static_cast關鍵字的使用場合 ...
  • Celery 是一個 基於python開發的分散式非同步消息任務隊列,通過它可以輕鬆的實現任務的非同步處理, 如果你的業務場景中需要用到非同步任務,就可以考慮使用celery, 舉幾個實例場景中可用的例子: 你想對100台機器執行一條批量命令,可能會花很長時間 ,但你不想讓你的程式等著結果返回,而是給你返 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...