程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言數據的輸入與輸出(二)

C語言數據的輸入與輸出(二)

編輯:關於C語言

3.2.2 printf()函數

與格式化輸入函數scanf()相對應的是格式化輸出函數printf(),其功能為按控制字符串規定的格式,向缺省輸出設備(一般為顯示器)輸出在輸出項列表中列出的各輸出項,其基本格式為:

printf(“控制字符串”,輸出項列表)

輸出項可以是常量、變量、表達式,其類型與個數必須與控制字符串中格式字符的類型、個數一致、當有多個輸出項時,各項之間用逗號分隔。

控制字符串必須用雙引號括起,由格式說明和普通字符兩部分組成。

1.格式說明

一般格式為:

%[<修飾符>]<格式字符>

格式字符規定了對應輸出項的輸出格式,常用格式字符見表3-2。

可以看出,當指定場寬小於數據的實際寬度時,對整數,按該數的實際場寬輸出,對浮點數,相應小數位的數四捨五入。例如:12.34567按%5.2f輸出,輸出12.35。若場寬小於等於浮點數整數部分的寬度,則該浮點數按實際位數輸出,但小數位數仍遵守寬度修飾符給出的值。如上面的12.34567按%2.1f輸出,結果為:12.3。
在實際應用中,還有一種更靈活的場寬控制方法,用常量或變量的值作為輸出場寬,方法是以一個"*"作為修飾符,插入到%之後。

例如:

i=123;

printf("%*d",5,i);

long int b;
short int c;
unsigned int d;
char e;
float f;
double g;
a=1023;
b=2222;
c=123;
d=1234;
e='x';
f=3.1415926535898;
g=3.1415926535898;
printf("a=%d\n",a);
printf("a=%0\n",a);
printf("a=%x\n",a);
printf("b=%ld\n",b);
printf("c=%d\n",c);
printf("d=%u\n",d);
printf("e=%c\n",e);
printf("f=%f\n",f);
printf("g=%f\n",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.3 getchar()函數與putchar()函數

putchar()與getchar()是對單個字符進行輸入輸出的函數。

getchar()的功能是返回鍵盤輸入的一個字符,它不帶任何參數,其通常格式如下:

ch=getchar()

ch為字符型變量,上述語句接收從鍵盤輸入的一個字符並將它賦給ch。

putchar()的作用是向屏幕上輸出一個字符,它的功能與printf函數中的%c相當。putchar()必須帶輸出項,輸出項可以是字符型常量、變量、表達式,但只能是單個字符而不能是字符串。

[例3-3]輸入一個字符,回顯該字符並輸出其ASCII碼值。

#include <stdio.h>
main()
{
char ch;
ch=getchar();
putchar(ch);
printf("%d\n",ch);
}

運行程序:

RUN¿
g¿
g103

需要注意的是,字符輸入輸出函數定義在頭文件stdio.h中,故當程序中使用putchar()或getchar()函數時,必須在main()之前用語句:

#include "stdio.h"

將stdio.h包含進來。

3.2.4程序應用舉例

[例3-4]下面的程序是一個復數加法的例子。

#include <stdio.h>
main()
{
float a1,b1,a2,b2;
char ch;
printf("\t\t\tcomplexsAddition\n");
printf("please input the first complex:\n");
printf("\trealpart:");
scanf("%f",&a1);
printf("\tvirtualpart:");
scanf("%f",&b1);
printf("%5.2f+i%5.2f\n",a1,b1);
printf("\npleaseinputthesecondcomplex:\n");
printf("\trealpart:");
scanf("%f",&a2);
printf("\tvirtualpart:");
scanf("%f",&b2);
printf("%5.2f+i%5.2f\n",a2,b2);
printf("\nTheadditionis:");
printf("%6.3f+i%6.3f\n",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....

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved