0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是基本輸入輸出printf、scanf ...

汽車電子技術(shù) ? 來源:C語言Plus ? 作者:Maye426 ? 2023-02-27 15:02 ? 次閱讀

基本輸入輸出

若需要使用輸入輸出函數(shù),則需要包含頭文件。

輸出

printf

printf是最常用的輸出函數(shù),可以格式化輸出任意的基本數(shù)據(jù)類型的變量。

int printf(const char*format,...)
  • format:"格式控制符"是用雙引號括起來的字符串(格式控制符,也叫占位符)
  • ...:"輸出列表"中的數(shù)據(jù)可以是合法的常量、變量和表達式,要與“格式控制字符串”中的格式一一對應(yīng)。

格式控制符表:

圖片

格式控制符可選格式:

%[-][0][m][l]*

%d 按整型數(shù)據(jù)的實際長度輸出
 %[0]md以m指定的字段寬度輸出,若數(shù)據(jù)的位數(shù)小于m,則左端補空格;若m前面有“0”,則左端補以0。
 %-md以m指定的字段寬度輸出,左對齊
 %ld輸出long int

示例:

//一般
 printf("hello world");
 printf("圓周率為:%lf", 3.1415);
 printf("一周有%d天", 7);
 //使用可選格式
  printf("%d\\n", 52);
  printf("%3d\\n", 52);  //輸出的內(nèi)容占3個字符寬度,默認(rèn)右對齊,用空格填充
  printf("%03d\\n", 52);  //同上,只不過填充字符從空格換成了0
  //只需要在%后面加上負(fù)號即可表示左對齊
  printf("%-3d\\n", 52);

注意事項:

很多同學(xué)在輸出的時候,會遇到很多啊問題,大概就是以下幾點:

  • 格式字符中,除了X、E、G外,其他均用小寫字母,如“%d”不能寫成“%D”。
  • 不同類型的數(shù)據(jù)應(yīng)使用相應(yīng)類型的格式字符說明其輸出形式。
  • 如需輸出雙引號,應(yīng)在“格式控制”中表示為轉(zhuǎn)義字符的形式并用單引號引起來,即“\\””。
  • 如需輸出字符“%”,在“格式控制”中用連續(xù)兩個“%”即可。 如:printf(“%d%%”,s);
  • 當(dāng)“格式控制”中格式符個數(shù)少于輸出表中的輸出項時,多余的輸出項不予輸出。
  • 當(dāng)“格式符”多于輸出項時,結(jié)果為不定值。

putchar

有些時候,僅僅為了打印一個字符在顯示器屏幕上,此時動用功能強大的printf函數(shù),則頗有高射炮打蚊子之嫌,C提供了一個庫函數(shù)putchar來完成這個簡單的任務(wù)。

int putchar(int ch);
 //使用
 putchar('A');
 putchar(65);

puts

而有些時候僅僅是為了輸出一個字符串,使用printf函數(shù)也稍顯麻煩,可以使用C提供的一個庫函數(shù)puts,而且puts函數(shù)會在輸出字符串之后,自動進行換行。

int puts(const char*str);
 //使用
 puts("hello world");

輸入

scanf

scanf是最常用的輸入函數(shù),可以格式化輸入任意基本數(shù)據(jù)類型的變量。

int scanf(const char* format,...);
  • format:"格式控制符"是用雙引號括起來的字符串
  • ...:"輸入列表"中的數(shù)據(jù)必須是合法變量的地址表(即變量前面加&符),要與“格式控制字符串”中的格式一一對應(yīng)。
  • 如果輸入的輸入不止一個,在format格式控制字符串中,必須以空格間隔。

示例:

const double PI = 3.1415;
 int  radius = 0;
 printf("請輸入半徑:\\n");
 scanf("%d", &radius);
 printf("圓的面積為:%lf", PI * radius * radius);

scanf函數(shù)注意事項

scanf函數(shù)的格式字符串由以下三類字符組成:

  • 1>格式符(也叫占位符)和printf函數(shù)類似,scanf函數(shù)的格式字符串以%開始,以一個格式字符結(jié)束,中間可以插入附加的字符。格式符告訴了scanf函數(shù)該讀取什么樣的數(shù)據(jù)。
  • 2>空白符空白符可以是空格(用空格鍵輸入)、制表符(用Tab鍵輸入)和新行符(用回車鍵輸入)。
  • 3>非空白符除去格式說明符合空白符之外,就是非空白符。非空白符在用戶輸入的時候,也必須一并輸入。

getchar

可以非常方便的輸入一個字符。

int getchar();
 //使用
 int ch =getchar();
 putchar(ch);

gets_s

可以非常方便的輸入一個字符串。

char* gets_s(char*  _Buffer,size_t _Size);
 //使用
 char name[50]="";
 gets_s(name,50);
 puts(name);
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4235

    瀏覽量

    61965
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    236

    瀏覽量

    13567
  • Printf
    +關(guān)注

    關(guān)注

    0

    文章

    81

    瀏覽量

    13564
收藏 人收藏

    評論

    相關(guān)推薦

    CCS3.3的標(biāo)準(zhǔn)輸入輸出函數(shù)像printf()函數(shù)怎么不起作用

    請教一下各位大神。。。最近CCS3.3的標(biāo)準(zhǔn)輸入輸出函數(shù)怎么不起作用了,譬如像printf("OK。E2prom-->E2promImageNow.tg \n"); 這段
    發(fā)表于 12-03 16:02

    視頻打印機的輸入輸出

    視頻打印機的輸入輸出            輸入輸出指的是產(chǎn)品輸入輸出視頻信號的端口,比較常見的是S端子和復(fù)合視頻端口。
    發(fā)表于 12-31 10:38 ?1455次閱讀

    車載功放的RCA輸入輸出

    車載功放的RCA輸入輸出              RCA輸入輸出是車載功放最主要的音頻輸入
    發(fā)表于 01-04 11:20 ?6498次閱讀

    printfscanf什么意思

    printf()函數(shù)是格式化輸出函數(shù), 一般用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出信息。scanf()是C語言中的一個
    發(fā)表于 11-09 18:02 ?3.8w次閱讀
    <b class='flag-5'>printf</b>和<b class='flag-5'>scanf</b>什么意思

    什么是輸入輸出模塊_輸入輸出模塊有什么作用

    輸入輸出模塊也稱為控制模塊,在有控制要求時可以輸出信號,或者提供一個開關(guān)量信號,使被控設(shè)備動作,同時可以接收設(shè)備的反饋信號,以向主機報告,是火災(zāi)報警聯(lián)動系統(tǒng)中重要的組成部分。市場上的輸入輸出
    發(fā)表于 05-21 10:28 ?11.9w次閱讀

    實現(xiàn)重定向printf()和scanf() 函數(shù)案例分析

    要想printf()和scanf() 函數(shù)工作,我們需要把printf()和scanf() 重新定向到串口中。重定向是指用戶可以自己重寫C 的庫函數(shù),當(dāng)連接器檢查到用戶編寫了與C 庫函
    發(fā)表于 06-23 08:26 ?8956次閱讀
    實現(xiàn)重定向<b class='flag-5'>printf</b>()和<b class='flag-5'>scanf</b>() 函數(shù)案例分析

    51單片機C51語言的scanfprintf是如何使用的詳細程序說明

    本文檔的主要內(nèi)容詳細介紹的是51單片機C語言的scanfprintf是如何使用的詳細程序說明。
    發(fā)表于 08-26 17:30 ?24次下載
    51單片機C51語言的<b class='flag-5'>scanf</b>和<b class='flag-5'>printf</b>是如何使用的詳細程序說明

    關(guān)于 printfscanf在開發(fā)STM32中的配置和應(yīng)用

    關(guān)于printfscanf在開發(fā)STM32中的配置和應(yīng)用
    的頭像 發(fā)表于 03-24 10:50 ?7592次閱讀
    關(guān)于 <b class='flag-5'>printf</b>和<b class='flag-5'>scanf</b>在開發(fā)STM32中的配置和應(yīng)用

    解析C語言入門基礎(chǔ)之輸入輸出

    01 — 標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出 在C語言里要使用標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出必須包含stdio.h頭文件,常用的標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)
    的頭像 發(fā)表于 05-31 14:05 ?3635次閱讀

    GPIO通用輸入輸出

    GPIO通用輸入輸出一、GPIO的功能概述用途:GPIO是通用輸入輸出(General Purpose I/O)的簡稱,主要用于工業(yè)現(xiàn)場需要用到數(shù)字量輸入/輸出的場合。例如:
    發(fā)表于 12-20 18:58 ?6次下載
    GPIO通用<b class='flag-5'>輸入輸出</b>

    基本輸入輸出Proteus圖沒有代碼

    基本輸入輸出Proteus圖沒有代碼
    發(fā)表于 12-30 16:48 ?0次下載

    plc帶模擬量輸入輸出和不帶模擬量輸入輸出有什么區(qū)別???

    plc帶模擬量輸入輸出和不帶模擬量輸入輸出有什么區(qū)別??? PLC是一種廣泛應(yīng)用的自動化控制器,它可通過輸入輸出控制信號來管理各種自動化過程。PLC的“模擬量”
    的頭像 發(fā)表于 10-17 16:44 ?1432次閱讀

    c語言怎么用scanf輸入字符串

    : # include int main () { char name[ 20 ]; printf ( "請輸入您的姓名: " ); scanf ( "%s" , name); printf
    的頭像 發(fā)表于 11-24 10:03 ?1839次閱讀

    plc輸入輸出的運行原理

    plc輸入端24v. 說明plc輸入是PNP輸入,要知道怎么接線必須知道plc輸入輸出的運行原理。
    發(fā)表于 12-17 09:27 ?1035次閱讀
    plc<b class='flag-5'>輸入輸出</b>的運行原理

    寄存器的輸入輸出方式

    寄存器的輸入輸出方式是數(shù)字電路設(shè)計中至關(guān)重要的部分,它決定了數(shù)據(jù)如何在寄存器中進出以及處理的效率。下面將詳細探討寄存器的幾種主要輸入輸出方式,包括并行輸入輸出、串行輸入輸出以及雙向
    的頭像 發(fā)表于 09-05 14:09 ?178次閱讀