




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言程序設計基礎與實踐模塊一編程技術基礎任務1.6輸入輸出語句C語言程序設計基礎與實踐課程組04技能點拓展03技能點詳解02技能點分析目錄CONTENTS任務1.6輸入輸出語句01問題引入05技能點檢測一問題引入
人機互動技術是指通過計算機輸入、輸出設備,以有效的方式實現人與計算機對話的技術。在程序的運行過程中,往往需要由用戶輸入一些數據,這些數據經機器處理后要輸出反饋給用戶。
通過數據的輸入輸出來實現人與計算機之間的交互,所以在程序設計中,輸入輸出語句是一類必不可少的重要語句。04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務1.6輸入輸出語句二技能點分析1.了解c語言的輸入輸出語句2.掌握輸入輸出語句的格式化控制符學習目標1.C語言中最基本的輸入輸出函數有哪些?這些函數作用是什么?2.寫出printf()函數和scanf()函數的一般格式。3.在程序使用printf()函數應注意哪些問題?學期預習04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務1.6輸入輸出語句三技能點詳解——1putchar函數
putchar()函數的作用是向終端輸出一個字符。其基本格式是:putchar(ch);或putchar(i);
其中ch可以是一個字符變量或字符常量,也可以是一個轉義字符。當參數為整數i時,將輸出i作為十進制ASCII碼所對應的字符。
在程序中使用putchar()函數時注意以下兩點:(1)putchar()函數只能用于單個字符的輸出,且一次只能輸出一個字符。(2)在程序(或文件)的開頭加上編譯預處理命令,即:#include"stdio.h"或#include<stdio.h>,表示要使用的函數,包含在標準輸入輸出頭文件(stdio.h)中。三技能點詳解——2printf函數
printf()函數的作用是向計算機系統默認的輸出設備(一般指終端或顯示器)輸出一個或多個任意類型的數據。printf()函數的一般格式如下:printf("格式字符串"[,輸出項表]);1)格式字符串“格式字符串”也稱“格式控制字符串”,可以包含三種字符:格式指示符、轉義字符和普通字符。三技能點詳解——2printf函數1)格式指示符由“%”和格式字符組成,如%c,%d等,它的作用是將輸出的數據轉換為指定的格式輸出。格式說明總是由“%”字符開始的。常用的格式字符及其含義如表1.6.1所示。表1.6.1printf函數格式字符表格式字符含義格式字符含義c字符s字符串d帶符號十進制整數u無符號十進制整數i帶符號十進制整數x無符號十六進制整數(小寫x)f十進制浮點數X無符號十六進制整數(大寫X)e科學表示(用e表示指數部分)o無符號八進制整數E科學表示(用E表示指數部分)p指針ge或f中選擇短格式n已輸出的字符數GE或f中選擇短格式%輸出%號三技能點詳解——2printf函數格式字符d──以帶符號的十進制形式輸出整數格式字符c──輸出一個字符格式字符s──輸出一個字符串格式字符f──以小數形式、按系統默認的寬度,輸出單精度和雙精度實數。(2)轉義字符
在前面任務1.3的字符常量中已詳細地介紹了轉義字符,表1.4.2列出了常用轉義字符及其含義,如printf()函數中的'\n'就是轉義字符,輸出時產生一個“換行”操作。(3)普通字符
除格式指示符和轉義字符之外的其它字符。格式字符串中的普通字符,原樣輸出。三技能點詳解——2printf函數在程序中使用printf()函數時注意以下幾點:(1)printf()可以輸出常量、變量和表達式的值。從功能角度來看,printf()函數可以完全代替putchar()函數。(2)格式字符x、e、g可以用小寫字母,也可以用大寫字母。使用大寫字母時,輸出數據中包含的字母也大寫。除了x、e、g格式字符外,其它格式字符必須用小寫字母。例如,%f不能寫成%F。(3)格式字符緊跟在“%”后面就作為格式字符,否則將作為普通字符使用(原樣輸出)。例如,“printf("c=%c,f=%f\n",c,f);”中的第一個c和f,都是普通字符。三技能點詳解——3getchar函數getchar函數的作用是從終端(或系統隱含指定的輸入設備)輸入一個字符。getchar函數沒有參數,其一般形式為:getchar();函數的值就是從輸入設備得到的字符。在程序中使用getchar()函數時注意以下兩點:(1)getchar()函數只能用于單個字符的輸入,一次輸入一個字符。(2)程序中要使用getchar()函數,必須在程序(或文件)的開頭加上編譯預處理命令:#include"stdio.h"或#include<stdio.h>三技能點詳解——4scanf函數scanf()函數的一般格式如下:scanf("格式字符串",輸入項首地址表);1)格式字符串
格式字符串可以包含3種類型的字符:格式指示符、空白字符(空格、Tab鍵和回車鍵)和普通字符。2)輸入項首地址表由若干個輸入項首地址組成,相鄰2個輸入項首地址之間,用逗號分開。三技能點詳解——3getchar函數3)使用scanf函數時應注意的問題(1)scanf函數中的“格式控制”后面應當是變量地址,而不是變量名。(2)如果在“格式控制”字符串中除了格式說明以外還有其他字符,則在輸入數據時在對應位置應輸入這些字符。例如:scanf(“%d,%d”,&a,&b);(3)如果相鄰兩個格式指示符之間,不指定數據分隔符(如逗號、冒號等),則應在輸入第一個數后,至少用一個空格,或者Tab鍵,或者按回車,再輸入下一個數。(4)在用“%c”格式輸入字符時,空格字符和“轉義字符”都作為有效字符輸入。案例1.6.1getchar()&putchar()函數的使用編寫程序,要求實現從鍵盤輸入一個大寫英文字母,然后在屏幕上輸出它的小寫形式。/***********************************************內容簡述:在屏幕中輸入輸出任意一個字符。***********************************************/#include
<stdio.h>//包含標準輸入輸出函數的頭文件
voidmain(void){
charch;
printf("請輸入大寫字母:");ch=getchar();//從鍵盤中獲取輸入的第一個大寫字母并賦值給chprintf("讀取到的大寫字母是:");putchar(ch);//輸出讀取到的大寫字母printf("\n");printf("對應的小寫字母是:");putchar(ch+32);//輸出一個小寫字母printf("\n");}三技能點詳解——案例案例1.6.2scanf()&printf()函數的使用編寫一個程序從鍵盤輸入圓柱體的半徑r和高度h,計算其底面積和體積。(結果保留2位小數)/**************************************************************內容簡述:
從鍵盤輸入圓柱體的半徑r和高度h,計算其底面積和體積。**************************************************************/#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;//計算底面圓的面積S的值 V=S*h;//計算圓柱體體積V的值 printf("底面積=%.2f\t圓柱體積=%.2f\n",S,V);}三技能點詳解——案例04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務1.6輸入輸出語句四技能點拓展——1printf函數的重定向
在stdio.h頭文件中聲明了printf函數,所以在C語言程序中調用printf函數時必須在程序頭部包含stdio.h頭文件,但printf函數的定義是根據參數字符串長度循環調用fputc函數用作逐個字符輸出,而fputc函數輸出的字符默認定向輸出的標準設備是顯示器,所以我們要想printf函數輸出到其他設備上,必須重新定義fputc函數。fputc函數是帶有weak弱類型關鍵字的弱定義函數,允許用戶重新定義。在MicroLib的stdio.h中,fputc()函數的原型為:intfputc(intch,FILE*stream)如使用printf函數輸出到某種單片機的串口,需要將fputc里面的輸出指向串口,這一過程就稱為重定向。四技能點拓展——1printf函數的重定向如果使用單片機的串口1(USART1)輸出字符,用戶自定義的發送函數為USART_SendChar(),則printf函數重定向的代碼如下:#include
<stdio.h>intfputc(intch,FILE*stream){
/*USART_SendChar()為串口發送字符函數*/USART_SendChar(USART1,(uint8_t)ch);
returnch;}
有些單片機的廠家定義了串口發送字符的標準庫函數,如HAL_UART_Transmit(),那么調用這個串口發送函數的printf函數重定向的代碼就可寫成:#include
<stdio.h>intfputc(intch,FILE*f){HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,0xFFFF);
returnch;}四技能點拓展——1printf函數的重定向四技能點拓展——2gets函數與puts函數char*gets(char*s)函數從stdin讀取一行到s所指向的緩沖區,直到一個終止符或EOF。intputs(constchar*s)函數把字符串s和一個尾隨的換行符寫入到stdout
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家具加工廠管理制度
- 家政實訓室管理制度
- 應急室物資管理制度
- 形體實訓室管理制度
- 循環水檢測管理制度
- 心理拓展區管理制度
- 心臟超聲室管理制度
- 快遞站消防管理制度
- 急性腦卒中管理制度
- 總校部經費管理制度
- 2021利達JB-QG-LD988EL JB-QT-LD988EL 火災報警控制器 消防聯動控制器調試手冊
- 24春國家開放大學《班級管理》形考任務1-4參考答案
- 浙二醫院護士進修心得體會6篇
- 2021年中國社會科學院大學統計學原理期末精練試卷
- 手術室墜床跌倒應急預案
- 2024年《軍事理論》考試題庫附答案(含各題型)
- 《風力發電廠調試規程》
- 廣東省中山市2022-2023學年高二下學期期末數學試題(學生版+解析)
- 《無衣》教學設計 統編版高中語文選擇性必修上冊
- 創造心智與創新訓練智慧樹知到期末考試答案2024年
- 食品廠員工衛生培訓方案
評論
0/150
提交評論