1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        5大C語言輸入函數(shù)知多少?

        共 1518字,需瀏覽 4分鐘

         ·

        2020-12-29 02:49

        前言

        上章節(jié)講解了《C語言四大內置輸出函數(shù)你知多少?C語言基本程序交互之輸出到屏幕》,本欄目主要講解C語言基本交互處理之輸入篇。學會基本的輸入和輸出,大家就可以做一些簡單的交互咯。

        C語言內置輸入函數(shù)

        C語言提供了執(zhí)行輸入操作的內置函數(shù)。輸入操作用于從鍵盤讀取用戶值(輸入)。c語言提供以下內置輸入功能:

        1. scanf():標準輸入

        2. getchar():字符輸入

        3. getch():不可見,字符輸入

        4. gets():字符串輸入

        5. fscanf():格式化寫入

        C語言scanf函數(shù)

        scanf函數(shù)三要素:

        • scanf用于從鍵盤讀取不同數(shù)據(jù)類型的多個數(shù)據(jù)值。

        • scanf需屬于“ stdio.h ” 的頭文件

        • scanf使用#include包含頭文件

        1

        scanf讀取數(shù)據(jù)到變量

        值得一提的是:vs中對這個函數(shù)做了一些修改,推薦使用更為安全的scanf_s 函數(shù)?

        不想用在程序最上面加上宏定義去掉安全檢查。

        即:#define _CRT_SECURE_NO_WARNINGS

        或者修改項目屬性去掉SDL檢查

        當然你也可以使用他改進后的scanf函數(shù),也就是scanf_s

        2

        scanf同時輸入不同數(shù)據(jù)

        scanf輸入不同數(shù)據(jù)的時候,采用不同的格式控制字符即可。注意的是通常scanf函數(shù)的格式控制字符是不需要精度控制的哦。如下測試代碼:

        C語言中格式控制字符常用的主要有以下:

        1. int : %d

        2. float: %f

        3. double:%lf

        4. char:%c

        5. 字符串:%s

        6. 十六進制:%x

        7. 八進制:%o

        8. 指針類型:%p

        9. 無符號整形:%u

        還有一些比較少用的在這里就不列舉不出來。

        3

        scanf函數(shù)的返回值

        scanf函數(shù)返回一個整數(shù)值,該值等于使用scanf函數(shù)讀取的輸入值的總數(shù),如下測試代碼:

        4
        scanf函數(shù)的取值原理圖

        從上圖中的可以看到,當我們做一次完整輸入的時候, 緩沖區(qū)中還存在一個\n字符 ,所以我們再做字符輸入的時候經(jīng)常存在跳過現(xiàn)象,如下圖:

        如何避免呢?清空緩沖區(qū)就好了,在字符或者字符輸入之前清空緩沖區(qū)就好了,一般有以下函數(shù):

        1. setbuf(stdin,NULL);

        2. fflush(stdin);

        當然你也可以自己寫代碼避免,如下測試代碼:

        gechar函數(shù)

        getchar函數(shù)用于從鍵盤讀取字符并將其返回給程序。此功能用于只讀單個字符。要讀取多個字符,我們需要多次寫入或使用循環(huán)語句??紤]以下示例:

        getc函數(shù)

        getch函數(shù)類似于getchar函數(shù)。getch函數(shù)用于從鍵盤讀取字符并將其返回給程序。此功能用于只讀單個字符。要讀取多個字符,我們需要多次寫入或使用循環(huán)語句??紤]以下示例程序:

        注意點:

        • getch屬于conio.h,即用前需#include

        • vs中該函數(shù)要使用_getch

        gets函數(shù)

        gets函數(shù)用于讀取一行字符串并將其存儲到字符數(shù)組中。gets函數(shù)讀取一行字符串或字符序列,直到換行符號進入。考慮以下示例程序:

        注意點:

        • vs中該函數(shù)該函數(shù)改為gets_s ,增加一個長度參數(shù)

        上圖代碼中數(shù)組如果沒有學習的同學后續(xù)文章將會詳細講解。

        fscanf函數(shù)

        fscanf函數(shù)與文件的概念一起使用。fscanf函數(shù)用于從文件中讀取數(shù)據(jù)值。如果要使用fscanf函數(shù),必須在讀取模式下打開文件,而鍵盤上可以使用stdin表示。故有以下案例:

        這個更多的是格式化讀寫文件,后續(xù)章節(jié)會詳細講解

        尾言

        本欄目作業(yè):從鍵盤鍵入長方形的邊信息,求解長方形的面積和周長,打印出面積和周長



        瀏覽 39
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            亚洲日本看视频 | 99re在线只有精品免费观看 | 亚洲精彩中文字幕字幕 | 国产久一色综合久久精品国 | 亚洲综合在线另类色区奇米 | 不卡乱伦 | 韩国精品免费一区二区三区 | 18禁成人福利网站视频播放 | 午夜成人福利电影 | 国产视频国产区 |