200721学习日报
輸入輸出函數
- 一 學習的知識點
- 1、stdio.h頭文件
- 2、控制臺
- 3、輸入輸出函數
- A、printf();
- **函數功能**
- **函數原型及參數**
- 參數列表:
- 返回值:輸出的字符數量
- B、scanf();
- 函數功能:
- 函數原型:
- 參數列表:
- 返回值
- C、getchar();
- 函數功能
- 函數原型
- 返回值
- D、getch()
- E、putchar(int c)
- F、putch
- 二 上課沒有聽懂或者沒有理解的地方
- 三 當天學習的收獲
- 四 作業的思路,不會的地方及原因
- 五 其他需要反饋的問題
- 六 心得體會
一 學習的知識點
1、stdio.h頭文件
stdio.h是一個標準輸入輸出頭文件,包含printf(),scanf(),getchar()等函數。
2、控制臺
默認控制臺有25行80列的文本單元,也可以自己設置大小,每個單元可容納一個字符,輸出超出列數,自動換行
3、輸入輸出函數
A、printf();
函數功能
用于在標準輸出設備控制臺上顯示數據
函數原型及參數
int printf ("control string ", argument list);
control string:控制字符串 argument list:參數列表
控制字符串由三類項目中的一項或多項組成:
1.文本字符:由可打印字符組成(包含空格)
2.格式命令:以%開始
| 帶符號的十進制整數 | %d |
| 不帶符號的十進制整數 | %u |
| 不帶符號的十六進制整數 | %x |
| 不帶符號的八進制整數 | %o |
| 浮點數 | %f/%lf |
| 單字符 | %c |
| 字符串數組 | %s |
修飾符添加在格式字符中間,例:printf(“%-d”,500);
| - | 結果左對齊,右邊填空格 |
| + | 輸出符號 |
| # | 為八進制和十六進制數加前綴o/0x |
| 寬度修飾符%4d | 輸出整型數據限制在4位 |
| 精度修飾符%.2f | 輸出浮點數限制2位小數 |
| “0”修飾符 | %0d數字左邊填充0 |
| “*”修飾符 | printf("%.*f\n",2,86.5); |
3.非打印字符:有換行\n、回車\r、水平制表\t等轉義字符,getchar函數,\n表示回車,getch函數(在conio.h頭文件中),\ r表示回車。
參數列表:
可以是變量、常量、表達式、函數,參數與參數之間以逗號隔開
返回值:輸出的字符數量
B、scanf();
scanf函數執行時,首先試圖從緩沖區讀取數據,如果數據類型和第一個控制字符串匹配,則繼續從緩沖區讀取數據和第二個控制字符串匹配,依次進行下去,如果有一個數據類型和控制字符串不匹配,則從該處跳出,執行下一條語句,匹配不成功的數據依舊保存在緩存區。
fflush(stdin);清空輸入緩存區
函數功能:
將輸入的數據以控制字符串里面的格式命令保存到參數列表里面對應的地址中。
函數原型:
int scanf("control string ", argument list);
控制字符串:和printf();的相同,可以是純文本,但輸入時必須和純文本相同,按回車結束輸入。如果格式命令之間有其他字符,就按字符輸入,如果沒有其他字符,可以按回車、空格或tab鍵。但不能出現換行\n、回車\r等
參數列表:
一定是地址格式
返回值
返回正整數。表示正確輸入參數的個數。
返回整數0。表示用戶的輸入不匹配,無法正確輸入任何值。
返回-1,-1在內存中以補碼11111111 11111111 11111111 11111111 一共4個字節存在。。表示輸入流已經結束。在Windows下,用戶按下CTRL+Z(會看到一個^Z字符)再按下回車(可能需要重復多次),就表示輸入結束;Linux/Unix下使用CTRL+D表示輸入結束。
C、getchar();
函數功能
獲取從鍵盤輸入的單個字符,接收獲取的第一個字符,可以一直輸入,按回車結束輸入,多輸入的字符存在輸入緩存區,回顯。
輸入回車,獲取的字符為‘\n’
函數原型
int getchar(void);
返回值
返回輸入字符的ASCII碼,可以使用字符變量或者整型變量接收
D、getch()
獲取一個字符,并且只能輸入一個馬上結束,不回顯,在頭文件conio.h中。返回值為獲取的字符
輸入回車,獲取的字符為‘\r’
E、putchar(int c)
功能:從終端輸出一個字符,且轉換成ASCII碼返回
F、putch
putch
用 法: int putch(int ch),其中參數ch為要輸出的字符。
返回值:如果輸出成功,函數返回該字符;否則返回EOF
二 上課沒有聽懂或者沒有理解的地方
無
三 當天學習的收獲
這兩條循環語句讓我知道getchar()和getch()函數從輸入緩存區獲取字符
while(1) //用戶名 {num1=getchar();putchar(num1); } while(1) //密碼 {num1=getch();putchar('*'); }四 作業的思路,不會的地方及原因
while(1) //用戶名 {num1=getchar();putchar(num1); } while(1) //密碼 {num1=getch();putchar('*'); }五 其他需要反饋的問題
無
六 心得體會
課前可以先預習寫點筆記,上課時記筆記能更加從容。
總結
以上是生活随笔為你收集整理的200721学习日报的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 200718C语言及C程序概念
- 下一篇: 200723学习日报