C 語言輸入輸出 (I/O)

C 語言輸出

在C語言編程中,printf()是主要的輸出函數之一。該函數將格式化的輸出發送到屏幕。例如,

示例1:C 語言輸出

#include <stdio.h>int main (int argc, char* argv)
{printf("Hello world\n");return 0;
}

輸出結果

C?Programming

該程序如何工作?

  • 所有有效的C程序都必須包含該main()函數。代碼從main()函數的開頭開始執行。

  • printf()是一個庫函數來格式化輸出發送到屏幕上。該函數將打印引號內字符串。

  • 要在我們的程序中使用printf()函數,我們需要使用#include <stdio.h>語句包括stdio.h頭文件? 。

  • return 0;main()函數中的語句是程序的“退出狀態”。 它是可選的。

示例2:整數輸出

#include <stdio.h>
int main()
{
int test = 5;
printf("number= %d",test);
return 0;
}

輸出結果

Number?=?5

我們使用%d格式說明符來打印int類型。在這里,引號內的%d將替換為testInteger的值。

示例3:單精度浮點和雙精度浮點數輸出

#include <stdio.h>
int main()
{
float number1 = 15.6;
double number2 = 12.36;
printf("number1 = %f\n",number1);
printf("number2 = %lf",number2);
return 0;
}

輸出結果

number1 = 15.600000
number2 = 12.360000

要打印float,我們使用%f格式說明符。同樣,我們還是要了%lf打印double值。

示例4:打印字符

#include <stdio.h>
int main()
{
char c = 'c';
printf("charchar = %c",c);
return 0;
}

輸出結果

charchar =?c

要打印char,我們使用%c格式說明符。

C 語言輸入

在C語言編程中,scanf()是從用戶那里接受輸入的常用功能之一。該scanf()功能從標準輸入(例如鍵盤)讀取格式化的輸入。

示例5:整數輸入/輸出

#include <stdio.h>
int main()
{
int testnumber;
printf("請輸入數字:");
scanf("%d",&testnumber);
printf("testnumber = %d",testnumber);
return 0;
}

輸出結果

輸入數字:?4
testnumber =?4

在這里,我們使用了scanf()函數內部的格式%d說明符來接收用戶的輸入int數值。用戶輸入整數時,它將存儲在testInteger變量中。

注意,scanf()使用了&testIntegerinside 。這是因為&testInteger獲取的地址testInteger,并且用戶輸入的值存儲在該地址中。

示例6:單精度浮點和雙精度浮點數輸入/輸出

#include?<stdio.h>
int?main()
{float?num1;double?num2;printf("輸入一個數字:?");scanf("%f",?&num1);printf("輸入另一個數字:?");scanf("%lf",?&num2);printf("num1?=?%f\n",?num1);printf("num2?=?%lf",?num2);return?0;
}

輸出結果

輸入一個數字:?12.523
輸入另一個數字:?10.2
num1?=?12.523000
num2?=?10.200000

float和double我們分別使用%f和%lf格式說明符。

示例7:C 字符 I / O

#include?<stdio.h>
int?main()
{char?chr;printf("輸入一個字符:?");scanf("%c",&chr);?????printf("您輸入了?%c.",?chr);??return?0;
}

輸出結果

輸入一個字符:?g
您輸入了?g.

當用戶在上述程序中輸入字符時,字符本身不會被存儲。而是存儲一個整數值(ASCII值)。

當我們使用%c文本格式顯示該值時,將顯示輸入的字符。如果%d用于顯示字符,則將其ASCII值打印出來。

示例8:ASCII值

#include?<stdio.h>
int?main()
{char?chr;printf("輸入一個字符:?");scanf("%c",?&chr);?????//當使用%c時,將顯示一個字符printf("您輸入了?%c.\n",chr);??//使用%d時,顯示ASCII值printf("ASCII?值為?%?d.",?chr);??return?0;
}

輸出結果

輸入一個字符:?g
您輸入了?g.
ASCII?值為?103.

多個值輸入輸出(I/O)

這是您可以從用戶那里獲取多個輸入并顯示它們的方法示例。

#include?<stdio.h>
int?main()
{int?a;float?b;printf("輸入整數,然后再輸入浮點數:?");//接受多個輸入scanf("%d%f",?&a,?&b);printf("您輸入了%d和?%f",?a,?b);??return?0;
}

輸出結果

輸入整數,然后再輸入浮點數:?-3
3.4
您輸入了?-3?和?3.400000

I / O的格式說明符

從以上示例中可以看到,我們使用

  • %d 對應為 int

  • %f 對應為 float

  • %lf 對應為 double

  • %c 對應為 char

這是常用的C數據類型及其格式說明符的列表。

數據類型格式說明符
int%d
char%c
float%f
double%lf
short int%hd
unsigned int%u
long int%li
long long int%lli
unsigned long int%lu
unsigned long long int%llu
signed char%c
unsigned char%c
long double%Lf

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

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

相關文章

分布式系統中的緩存設計與應用

引言 緩存是分布式系統中的重要組件&#xff0c;主要解決高并發&#xff0c;大數據場景下&#xff0c;熱點數據訪問的性能問題。提供高性能的數據快速訪問。 本文是緩存在分布式應用第一篇文章&#xff0c;介紹緩存的原理&#xff0c;緩存的分類&#xff0c;緩存的設計&#xf…

智能機器人的技術革命:從感知到決策的全棧架構解析

——基于多模態大模型的下一代機器人系統設計引言&#xff1a;機器人技術的范式遷移當波士頓動力的Atlas完成后空翻時&#xff0c;全球見證了機器人運動控制的巔峰&#xff1b;但當Figure 01通過大模型理解人類模糊指令并自主執行任務時&#xff0c;我們正見證機器人認知智能的…

day20 雙向鏈表

雙向鏈表的函數功能注意事項 1.雙向鏈表還需要關注到前指針的指向2.函數都需要判斷邏輯3.函數的增刪都要關注到len的變化4.函數的改查功能都需要遍歷結束的標志NULL5.注意p->next->prio時&#xff0c;p->next是否指向NULL創建雙向鏈表頭節點Node_ptr list_create()函數…

[Rust 基礎課程]猜數字游戲-獲取用戶輸入并打印

創建項目 按照之前的章節講的創建一個 Cargo 項目的方法&#xff0c;自己創建一個名為 guessing_game 的 cargo 項目并執行&#xff0c;確保能成功打印出 Hello World。 編寫代碼 使用 RustRover 打開項目&#xff0c;打開 src/main.rs 文件&#xff0c;我們將在這個文件中編寫…

重讀《人件》Peopleware -(22)Ⅲ 適當人選 Ⅵ 樂在其中(上)

本章以一個小測驗開始&#xff1a;問題1&#xff1a;在過去幾年里&#xff0c;你們組織的年員工流失率是多少&#xff1f; 問題2&#xff1a;替換一個離職員工平均需要多少成本&#xff1f;評分標準如下&#xff1a;如果你對這兩個問題有任何答案&#xff0c;則通過&#xff1b…

Go、Node.js、Python、PHP、Java五種語言的直播推流RTMP協議技術實施方案和思路-優雅草卓伊凡

Go、Node.js、Python、PHP、Java五種語言的直播推流RTMP協議技術實施方案和思路-優雅草卓伊凡既然我們甲方要做直播私有化&#xff0c;既然我們做了這么多年系統&#xff0c;我們對直播的理解很深&#xff0c;那么我們2025年就應該用更先進的技術棧&#xff0c;不然怎么讓我們的…

SpringBoot 集成Mybatis Plus

一、為什么SpringBoot不推薦使用MybatisSpring Boot 不推薦使用 MyBatis&#xff0c;主要源于二者在設計理念、生態融合和開發風格上的差異。Spring Boot 強調“約定優于配置”&#xff0c;追求高效的開發體驗和統一的框架風格。它通過自動配置和依賴注入&#xff0c;將復雜的基…

PI 思維升級 PI設計的典范轉移:從阻抗思維到諧振控制

們先來回想一件事&#xff0c;根據歐姆定律&#xff0c;阻抗是不是越低越好&#xff1f; 代表即使有很大的瞬時電流&#xff0c;瞬間的電壓降也不會超過某個極限&#xff01;理論上是&#xff01; 可是這其實忽略了兩個關鍵的要素&#xff1a;PDN阻抗有諧振&#xff1a;諧振代表…

如何制定企業級服務器安全策略(Security Policy)

制定一套**企業級服務器安全策略&#xff08;Security Policy&#xff09;**對于保護服務器資源、數據安全和業務連續性至關重要。以下是制定安全策略的詳細指南&#xff0c;包括安全策略的核心要素、實施步驟和具體措施&#xff0c;幫助企業構建全面的服務器安全防護體系。1. …

n1 armbian docker compose 部署aipan mysql

apt update apt install docker-compose-plugin -y #安裝docker compose docker compose version Docker Compose version v2.38.2 sudo mkdir -p /sda1/data/mysql/conf.d sudo chown -R 999:999 /sda1/data/mysql # MySQL 用戶 UID 通常為 999 cat docker-compose.yml vers…

RAG情境化分段向量模型voyage-context-3,聚焦分段細節,融入全局文檔上下文

最近看到一個有意思的工作&#xff0c;原文來自&#xff1a; https://blog.voyageai.com/2025/07/23/voyage-context-3/?utm_sourceTWITTER&utm_mediumORGANIC_SOCIAL voyage-context-3&#xff1a;聚焦分段細節&#xff0c;融入全局文檔上下文 概要&#xff1a; Voyage A…

計算機體系結構中的中斷服務程序ISR是什么?

計算機體系結構中的中斷服務程序ISR是什么&#xff1f; 在計算機體系結構中&#xff0c;中斷服務程序&#xff08;Interrupt Service Routine, ISR&#xff09; 是操作系統或硬件直接調用的關鍵代碼模塊&#xff0c;用于響應來自硬件設備、軟件異常或系統事件的中斷信號。其核心…

開源項目XBuilder前端框架

spx-gui/ 配置文件package.json 項目依賴和腳本配置vite.config.ts Vite構建工具配置tsconfig.json TS項目配置主文件tsconfig.app.json 應用程序的TS配置tsconfig.node.json Node.js環境的TS配置index.html 應用入口HTML文件src/ 源碼目錄main.ts 應用入口文件&#xff0c;初始…

0723 單項鏈表

Part 1.完成單向鏈表&#xff0c;并完成下面功能1.單鏈表節點創建鏈表是物理空間上不連續的一個結構&#xff0c;需要創建一個next作為指向下一個節點的指針&#xff0c;所以需要建立一個結構體包含數據域&#xff0c;next指針域&#xff0c;記錄長度的數據域。因為長度只有頭節…

基于 ASP.NET Web 應用程序(.NET Framework)的花店系統

1.1功能模塊實現1.1.1整體結構界面由兩部分組成&#xff1a;左側導航欄、右側內容展示區。使用了 Bootstrap 5 的樣式庫&#xff0c;并結合了 ASP.NET MVC 的 Html.ActionLink 和 Razor 條件判斷語句來動態生成菜單項。1.1.2導航欄功能模塊導航欄基礎結構導航欄基礎結構使用 Bo…

C++ Qt6 CMake qml文件啟動方式說明

在Qt6之后,Qt程序默認使用CMake進行構建,當然也可以使用qmake, 本篇博客介紹Qt6.8之前和Qt6.8版本中QtQuick程序的啟動方式。 在QtQuick程序main.cpp里qml的文件啟動分為兩種:(1)直接加載qml文件,(2)加載qml模塊,下面分別介紹這兩種啟動方式。 方式1:直接啟動qml文…

字符串 “asdasjkfkasgfgshaahsfaf” 經過哈夫曼編碼之后存儲比特數是多少?

要計算字符串 “asdasjkfkasgfgshaahsfaf” 經過哈夫曼編碼后的存儲比特數&#xff0c;需按以下步驟進行&#xff1a;步驟 1&#xff1a;統計字符出現頻率先統計字符串中每個字符的出現次數&#xff1a;a&#xff1a;出現 6 次s&#xff1a;出現 6 次d&#xff1a;出現 1 次j&a…

什么是游戲盾(高防版)?

隨著網絡游戲產業的快速發展&#xff0c;游戲服務器的安全問題日益受到關注。DDoS攻擊、CC攻擊等網絡威脅常常導致游戲卡頓、斷線甚至服務器宕機&#xff0c;嚴重影響玩家體驗。游戲盾&#xff08;高防版&#xff09;是一種專為游戲業務設計的網絡安全防護服務&#xff0c;集成…

openGauss數據庫在CentOS 7 中的單機部署與配置

部署 版本選擇 通過openGuass官網下載地址 &#xff0c;我們可以看到它支持x86_64與Aarch64兩種平臺&#xff0c;又分成openEuler 22、openEuler 20、Centos 7以及Docker 版本。 進入CentOS 7標簽&#xff0c;看到又分成企業版、輕量版、極簡版與分布式鏡像版。 本文只討論…