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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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:"格式控制符"是用雙引號(hào)括起來的字符串(格式控制符,也叫占位符)
  • ...:"輸出列表"中的數(shù)據(jù)可以是合法的常量、變量和表達(dá)式,要與“格式控制字符串”中的格式一一對(duì)應(yīng)。

格式控制符表:

圖片

格式控制符可選格式:

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

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

示例:

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

注意事項(xiàng):

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

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

putchar

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

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

puts

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

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

輸入

scanf

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

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

示例:

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

scanf函數(shù)注意事項(xiàng)

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

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

getchar

可以非常方便的輸入一個(gè)字符。

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

gets_s

可以非常方便的輸入一個(gè)字符串。

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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4331

    瀏覽量

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

    關(guān)注

    0

    文章

    236

    瀏覽量

    13624
  • Printf
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

    13662
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    視頻打印機(jī)的輸入輸出

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

    車載功放的RCA輸入輸出

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

    printfscanf什么意思

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

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

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

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

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

    51單片機(jī)C51語言的scanfprintf是如何使用的詳細(xì)程序說明

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

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

    關(guān)于printfscanf在開發(fā)STM32中的配置和應(yīng)用
    的頭像 發(fā)表于 03-24 10:50 ?7987次閱讀
    關(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 ?3794次閱讀

    GPIO通用輸入輸出

    GPIO通用輸入輸出一、GPIO的功能概述用途:GPIO是通用輸入輸出(General Purpose I/O)的簡(jiǎn)稱,主要用于工業(yè)現(xiàn)場(chǎng)需要用到數(shù)字量輸入/輸出的場(chǎng)合。例如:
    發(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)用的自動(dòng)化控制器,它可通過輸入輸出控制信號(hào)來管理各種自動(dòng)化過程。PLC的“模擬量”
    的頭像 發(fā)表于 10-17 16:44 ?1649次閱讀

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

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

    plc輸入輸出的運(yùn)行原理

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

    寄存器的輸入輸出方式

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