C語言程序設(shè)計(jì) 課件 任務(wù)1.6 輸入輸出語句_第1頁
C語言程序設(shè)計(jì) 課件 任務(wù)1.6 輸入輸出語句_第2頁
C語言程序設(shè)計(jì) 課件 任務(wù)1.6 輸入輸出語句_第3頁
C語言程序設(shè)計(jì) 課件 任務(wù)1.6 輸入輸出語句_第4頁
C語言程序設(shè)計(jì) 課件 任務(wù)1.6 輸入輸出語句_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

C語言程序設(shè)計(jì)基礎(chǔ)與實(shí)踐模塊一編程技術(shù)基礎(chǔ)任務(wù)1.6輸入輸出語句C語言程序設(shè)計(jì)基礎(chǔ)與實(shí)踐課程組04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS任務(wù)1.6輸入輸出語句01問題引入05技能點(diǎn)檢測一問題引入

人機(jī)互動(dòng)技術(shù)是指通過計(jì)算機(jī)輸入、輸出設(shè)備,以有效的方式實(shí)現(xiàn)人與計(jì)算機(jī)對話的技術(shù)。在程序的運(yùn)行過程中,往往需要由用戶輸入一些數(shù)據(jù),這些數(shù)據(jù)經(jīng)機(jī)器處理后要輸出反饋給用戶。

通過數(shù)據(jù)的輸入輸出來實(shí)現(xiàn)人與計(jì)算機(jī)之間的交互,所以在程序設(shè)計(jì)中,輸入輸出語句是一類必不可少的重要語句。04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問題引入05技能點(diǎn)檢測任務(wù)1.6輸入輸出語句二技能點(diǎn)分析1.了解c語言的輸入輸出語句2.掌握輸入輸出語句的格式化控制符學(xué)習(xí)目標(biāo)1.C語言中最基本的輸入輸出函數(shù)有哪些?這些函數(shù)作用是什么?2.寫出printf()函數(shù)和scanf()函數(shù)的一般格式。3.在程序使用printf()函數(shù)應(yīng)注意哪些問題?學(xué)期預(yù)習(xí)04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問題引入05技能點(diǎn)檢測任務(wù)1.6輸入輸出語句三技能點(diǎn)詳解——1putchar函數(shù)

putchar()函數(shù)的作用是向終端輸出一個(gè)字符。其基本格式是:putchar(ch);或putchar(i);

其中ch可以是一個(gè)字符變量或字符常量,也可以是一個(gè)轉(zhuǎn)義字符。當(dāng)參數(shù)為整數(shù)i時(shí),將輸出i作為十進(jìn)制ASCII碼所對應(yīng)的字符。

在程序中使用putchar()函數(shù)時(shí)注意以下兩點(diǎn):(1)putchar()函數(shù)只能用于單個(gè)字符的輸出,且一次只能輸出一個(gè)字符。(2)在程序(或文件)的開頭加上編譯預(yù)處理命令,即:#include"stdio.h"或#include<stdio.h>,表示要使用的函數(shù),包含在標(biāo)準(zhǔn)輸入輸出頭文件(stdio.h)中。三技能點(diǎn)詳解——2printf函數(shù)

printf()函數(shù)的作用是向計(jì)算機(jī)系統(tǒng)默認(rèn)的輸出設(shè)備(一般指終端或顯示器)輸出一個(gè)或多個(gè)任意類型的數(shù)據(jù)。printf()函數(shù)的一般格式如下:printf("格式字符串"[,輸出項(xiàng)表]);1)格式字符串“格式字符串”也稱“格式控制字符串”,可以包含三種字符:格式指示符、轉(zhuǎn)義字符和普通字符。三技能點(diǎn)詳解——2printf函數(shù)1)格式指示符由“%”和格式字符組成,如%c,%d等,它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出。格式說明總是由“%”字符開始的。常用的格式字符及其含義如表1.6.1所示。表1.6.1printf函數(shù)格式字符表格式字符含義格式字符含義c字符s字符串d帶符號(hào)十進(jìn)制整數(shù)u無符號(hào)十進(jìn)制整數(shù)i帶符號(hào)十進(jìn)制整數(shù)x無符號(hào)十六進(jìn)制整數(shù)(小寫x)f十進(jìn)制浮點(diǎn)數(shù)X無符號(hào)十六進(jìn)制整數(shù)(大寫X)e科學(xué)表示(用e表示指數(shù)部分)o無符號(hào)八進(jìn)制整數(shù)E科學(xué)表示(用E表示指數(shù)部分)p指針ge或f中選擇短格式n已輸出的字符數(shù)GE或f中選擇短格式%輸出%號(hào)三技能點(diǎn)詳解——2printf函數(shù)格式字符d──以帶符號(hào)的十進(jìn)制形式輸出整數(shù)格式字符c──輸出一個(gè)字符格式字符s──輸出一個(gè)字符串格式字符f──以小數(shù)形式、按系統(tǒng)默認(rèn)的寬度,輸出單精度和雙精度實(shí)數(shù)。(2)轉(zhuǎn)義字符

在前面任務(wù)1.3的字符常量中已詳細(xì)地介紹了轉(zhuǎn)義字符,表1.4.2列出了常用轉(zhuǎn)義字符及其含義,如printf()函數(shù)中的'\n'就是轉(zhuǎn)義字符,輸出時(shí)產(chǎn)生一個(gè)“換行”操作。(3)普通字符

除格式指示符和轉(zhuǎn)義字符之外的其它字符。格式字符串中的普通字符,原樣輸出。三技能點(diǎn)詳解——2printf函數(shù)在程序中使用printf()函數(shù)時(shí)注意以下幾點(diǎn):(1)printf()可以輸出常量、變量和表達(dá)式的值。從功能角度來看,printf()函數(shù)可以完全代替putchar()函數(shù)。(2)格式字符x、e、g可以用小寫字母,也可以用大寫字母。使用大寫字母時(shí),輸出數(shù)據(jù)中包含的字母也大寫。除了x、e、g格式字符外,其它格式字符必須用小寫字母。例如,%f不能寫成%F。(3)格式字符緊跟在“%”后面就作為格式字符,否則將作為普通字符使用(原樣輸出)。例如,“printf("c=%c,f=%f\n",c,f);”中的第一個(gè)c和f,都是普通字符。三技能點(diǎn)詳解——3getchar函數(shù)getchar函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符。getchar函數(shù)沒有參數(shù),其一般形式為:getchar();函數(shù)的值就是從輸入設(shè)備得到的字符。在程序中使用getchar()函數(shù)時(shí)注意以下兩點(diǎn):(1)getchar()函數(shù)只能用于單個(gè)字符的輸入,一次輸入一個(gè)字符。(2)程序中要使用getchar()函數(shù),必須在程序(或文件)的開頭加上編譯預(yù)處理命令:#include"stdio.h"或#include<stdio.h>三技能點(diǎn)詳解——4scanf函數(shù)scanf()函數(shù)的一般格式如下:scanf("格式字符串",輸入項(xiàng)首地址表);1)格式字符串

格式字符串可以包含3種類型的字符:格式指示符、空白字符(空格、Tab鍵和回車鍵)和普通字符。2)輸入項(xiàng)首地址表由若干個(gè)輸入項(xiàng)首地址組成,相鄰2個(gè)輸入項(xiàng)首地址之間,用逗號(hào)分開。三技能點(diǎn)詳解——3getchar函數(shù)3)使用scanf函數(shù)時(shí)應(yīng)注意的問題(1)scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是變量地址,而不是變量名。(2)如果在“格式控制”字符串中除了格式說明以外還有其他字符,則在輸入數(shù)據(jù)時(shí)在對應(yīng)位置應(yīng)輸入這些字符。例如:scanf(“%d,%d”,&a,&b);(3)如果相鄰兩個(gè)格式指示符之間,不指定數(shù)據(jù)分隔符(如逗號(hào)、冒號(hào)等),則應(yīng)在輸入第一個(gè)數(shù)后,至少用一個(gè)空格,或者Tab鍵,或者按回車,再輸入下一個(gè)數(shù)。(4)在用“%c”格式輸入字符時(shí),空格字符和“轉(zhuǎn)義字符”都作為有效字符輸入。案例1.6.1getchar()&putchar()函數(shù)的使用編寫程序,要求實(shí)現(xiàn)從鍵盤輸入一個(gè)大寫英文字母,然后在屏幕上輸出它的小寫形式。/***********************************************內(nèi)容簡述:在屏幕中輸入輸出任意一個(gè)字符。***********************************************/#include

<stdio.h>//包含標(biāo)準(zhǔn)輸入輸出函數(shù)的頭文件

voidmain(void){

charch;

printf("請輸入大寫字母:");ch=getchar();//從鍵盤中獲取輸入的第一個(gè)大寫字母并賦值給chprintf("讀取到的大寫字母是:");putchar(ch);//輸出讀取到的大寫字母printf("\n");printf("對應(yīng)的小寫字母是:");putchar(ch+32);//輸出一個(gè)小寫字母printf("\n");}三技能點(diǎn)詳解——案例案例1.6.2scanf()&printf()函數(shù)的使用編寫一個(gè)程序從鍵盤輸入圓柱體的半徑r和高度h,計(jì)算其底面積和體積。(結(jié)果保留2位小數(shù))/**************************************************************內(nèi)容簡述:

從鍵盤輸入圓柱體的半徑r和高度h,計(jì)算其底面積和體積。**************************************************************/#include

<stdio.h>

voidmain(void){

floatpi=3.1415926;

floatr,h,S,V;

printf("請輸入r,h:"); scanf("%f,%f",&r,&h);//鍵盤輸入圓半徑r和高度 S=pi*r*r;//計(jì)算底面圓的面積S的值 V=S*h;//計(jì)算圓柱體體積V的值 printf("底面積=%.2f\t圓柱體積=%.2f\n",S,V);}三技能點(diǎn)詳解——案例04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問題引入05技能點(diǎn)檢測任務(wù)1.6輸入輸出語句四技能點(diǎn)拓展——1printf函數(shù)的重定向

在stdio.h頭文件中聲明了printf函數(shù),所以在C語言程序中調(diào)用printf函數(shù)時(shí)必須在程序頭部包含stdio.h頭文件,但printf函數(shù)的定義是根據(jù)參數(shù)字符串長度循環(huán)調(diào)用fputc函數(shù)用作逐個(gè)字符輸出,而fputc函數(shù)輸出的字符默認(rèn)定向輸出的標(biāo)準(zhǔn)設(shè)備是顯示器,所以我們要想printf函數(shù)輸出到其他設(shè)備上,必須重新定義fputc函數(shù)。fputc函數(shù)是帶有weak弱類型關(guān)鍵字的弱定義函數(shù),允許用戶重新定義。在MicroLib的stdio.h中,fputc()函數(shù)的原型為:intfputc(intch,FILE*stream)如使用printf函數(shù)輸出到某種單片機(jī)的串口,需要將fputc里面的輸出指向串口,這一過程就稱為重定向。四技能點(diǎn)拓展——1printf函數(shù)的重定向如果使用單片機(jī)的串口1(USART1)輸出字符,用戶自定義的發(fā)送函數(shù)為USART_SendChar(),則printf函數(shù)重定向的代碼如下:#include

<stdio.h>intfputc(intch,FILE*stream){

/*USART_SendChar()為串口發(fā)送字符函數(shù)*/USART_SendChar(USART1,(uint8_t)ch);

returnch;}

有些單片機(jī)的廠家定義了串口發(fā)送字符的標(biāo)準(zhǔn)庫函數(shù),如HAL_UART_Transmit(),那么調(diào)用這個(gè)串口發(fā)送函數(shù)的printf函數(shù)重定向的代碼就可寫成:#include

<stdio.h>intfputc(intch,FILE*f){HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,0xFFFF);

returnch;}四技能點(diǎn)拓展——1printf函數(shù)的重定向四技能點(diǎn)拓展——2gets函數(shù)與puts函數(shù)char*gets(char*s)函數(shù)從stdin讀取一行到s所指向的緩沖區(qū),直到一個(gè)終止符或EOF。intputs(constchar*s)函數(shù)把字符串s和一個(gè)尾隨的換行符寫入到stdout

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論