站長資訊網
        最全最豐富的資訊網站

        C語言數據的輸入與輸出

        在程序的運行過程中,往往需要由用戶輸入一些數據,而程序運算所得到的計算結果等又需要輸出給用戶,由此實現人與計算機之間的交互,所以在程序設計中,輸入輸出語句是一類必不可少的重要語句,在C語言中,沒有專門的輸入輸出語句,所有的輸入輸出操作都是
        通過對標準I/O庫函數的調用實現。最常用的輸入輸出函數有scanf()、printf()、getchar()和putchar(),以下分別介紹。
        3.2.1scanf()函數
        格式化輸入函數scanf()的功能是從鍵盤上輸入數據,該輸入數據按指定的輸入格式被賦給相應的輸入項。函數一般格式為:
        scanf(“控制字符串”,輸入項列表);
        其中控制字符串規定數據的輸入格式,必須用雙引號括起,其內容是由格式說明和普通字符兩部分組成。輸入項列表則由一個或多個變量地址組成,當變量地址有多個時,各變量地址之間用逗號“,”分隔。
        scanf()中各變量要加地址操作符,就是變量名前加“&”,這是初學者容易忽略的一個問題。應注意輸入類型與變量類型一致。
        下面探討控制字符串的兩個組成部分:格式說明和普通字符。
        1.格式說明
        格式說明規定了輸入項中的變量以何種類型的數據格式被輸入,形式是:
        % [ <修飾符> ] <格式字>
        各個格式字符及其意義見表3 – 1。
        C語言數據的輸入與輸出
        C語言數據的輸入與輸出
        C語言數據的輸入與輸出

        3.2.2printf()函數
        與格式化輸入函數scanf()相對應的是格式化輸出函數printf(),其功能為按控制字符串規定的格式,向缺省輸出設備(一般為顯示器)輸出在輸出項列表中列出的各輸出項,其基本格式為:
        printf(“控制字符串”,輸出項列表)
        輸出項可以是常量、變量、表達式,其類型與個數必須與控制字符串中格式字符的類型、
        個數一致、當有多個輸出項時,各項之間用逗號分隔。
        控制字符串必須用雙引號括起,由格式說明和普通字符兩部分組成。
        1.格式說明
        一般格式為:
        %[<修飾符>]<格式字符>
        格式字符規定了對應輸出項的輸出格式,常用格式字符見表3-2。
        C語言數據的輸入與輸出
        可以看出,當指定場寬小于數據的實際寬度時,對整數,按該數的實際場寬輸出,對浮點數,相應小數位的數四舍五入。例如:12.34567按%5.2f輸出,輸出12.35。若場寬小于等于浮點數整數部分的寬度,則該浮點數按實際位數輸出,但小數位數仍遵守寬度修飾符給出的值。如上面的12.34567按%2.1f輸出,結果為:12.3。
        在實際應用中,還有一種更靈活的場寬控制方法,用常量或變量的值作為輸出場寬,方法是以一個”*”作為修飾符,插入到%之后。
        例如:i=123;
        printf(“%*d”,5,i);
        C語言數據的輸入與輸出
        longintb;
        shortintc;
        unsignedintd;
        chare;
        floatf;
        doubleg;
        a=1023;
        b=2222;
        c=123;
        d=1234;
        e=’x’;
        f=3.1415926535898;
        g=3.1415926535898;
        printf(“a=%dn”,a);
        printf(“a=%0n”,a);
        printf(“a=%xn”,a);
        printf(“b=%ldn”,b);
        printf(“c=%dn”,c);
        printf(“d=%un”,d);
        printf(“e=%cn”,e);
        printf(“f=%fn”,f);
        printf(“g=%fn”,g);
        printf(“n”);
        }
        執行程序,輸出為:
        RUN?
        a=1023
        a=1777
        a=3ff
        b=2222
        c=123
        d=1234
        e=x
        f=3.141593
        g=3.141593
        3.2.3getchar()函數與putchar()函數
        putchar()與getchar()是對單個字符進行輸入輸出的函數。
        getchar()的功能是返回鍵盤輸入的一個字符,它不帶任何參數,其通常格式如下:
        ch=getchar()
        ch為字符型變量,上述語句接收從鍵盤輸入的一個字符并將它賦給ch。
        putchar()的作用是向屏幕上輸出一個字符,它的功能與printf函數中的%c相當。putchar()必
        須帶輸出項,輸出項可以是字符型常量、變量、表達式,但只能是單個字符而不能是字符串。
        [例3-3]輸入一個字符,回顯該字符并輸出其ASCII碼值。
        #include<stdio.h>
        main()
        {
        charch;
        ch=getchar();
        putchar(ch);
        printf(“%dn”,ch);
        }
        運行程序:
        RUN?
        g?
        g103
        需要注意的是,字符輸入輸出函數定義在頭文件stdio.h中,故當程序中使用putchar()或
        getchar()函數時,必須在main()之前用語句:
        #include”stdio.h”
        將stdio.h包含進來。
        3.2.4程序應用舉例
        [例3-4]下面的程序是一個復數加法的例子。
        #include<stdio.h>
        main()
        {
        floata1,b1,a2,b2;
        charch;
        printf(“tttcomplexsAdditionn”);
        printf(“pleaseinputthefirstcomplex:n”);
        printf(“trealpart:”);
        scanf(“%f”,&a1);
        printf(“tvirtualpart:”);
        scanf(“%f”,&b1);
        printf(“%5.2f+i%5.2fn”,a1,b1);
        printf(“npleaseinputthesecondcomplex:n”);
        printf(“trealpart:”);
        scanf(“%f”,&a2);
        printf(“tvirtualpart:”);
        scanf(“%f”,&b2);
        printf(“%5.2f+i%5.2fn”,a2,b2);
        printf(“nTheadditionis:”);
        printf(“%6.3f+i%6.3fn”,a1+a2,b1+b2);
        printf(“programnormalterminated,pressenter…”);
        ch=getchar();
        ch=getchar();
        }
        運行結果如下:
        RUN?
        complexsaddition
        pleaseinputthefirstcomplex:
        realpart:1.2
        virtualpart:3.4
        1.20+i3.40
        pleaseinputthesecondcomplex:
        realpart:5.6
        virtualpart:7.8
        5.60+i7.80
        Theadditionis:6.800+i11.200
        programnormalterminated,pressenter….

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 欧美日激情日韩精品| 国产精品无码久久四虎| 国产精品成人小电影在线观看| 亚洲精品国产av成拍色拍| 国产叼嘿久久精品久久| 国产精品国产三级国产AV主播| 免费人欧美日韩在线精品| 中文字幕亚洲综合精品一区| 2021最新国产精品网站| 伊人 久久 精品| 久久精品亚洲欧美日韩久久| 999久久久免费国产精品播放| 国产成人久久精品激情| 无码精品人妻一区二区三区中| 老司机精品影院91| 国内精品久久久久久中文字幕| 国产福利电影一区二区三区,亚洲国模精品一区 | 一本大道无码日韩精品影视| 精品久久人人做人人爽综合| 国产精品一级毛片无码视频| 91精品国产成人网在线观看| 久久免费国产精品一区二区| 久久99精品综合国产首页| 国产成人精品免费视频动漫 | 一级A毛片免费观看久久精品| 免费人妻精品一区二区三区| 精品久久久无码中文字幕天天| 国产一区二区三区精品视频| 国产精品视频免费一区二区| 国产福利精品视频自拍| 国产精品爱搞视频网站| 国产精品久久久久一区二区三区| 亚洲国产精品嫩草影院| 四虎国产精品免费久久5151| 久久精品嫩草影院| 97精品人妻一区二区三区香蕉| 99久久精品国产毛片| jizz国产精品| 国产精品一区二区三区99| 黑巨人与欧美精品一区| 精品一区二区三区免费观看|