? hi!這里是漁火。今天我們接續(xù)來講 C 語言順序結構。
我們來看下整型數(shù)據(jù)的輸出和輸入。
【1.1】整型數(shù)據(jù)的輸出
#include運行//2023.1.31漁火 Linux迷 www.linuxmi.com int main() { int x=888; long int y=66880; printf("x=%d,y=%ld ",x,y); printf("x=%o,y=%lo ",x,y); printf("x=%#x,b=%#lx ",x,y); printf("x=%d,y=%ld ",x); printf("x+y=%ld ",x+y,y); printf("輸出結束! "); //2023.1.31漁火 Linux迷 www.linuxmi.com return 0; }
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com gcc linuxmi.c -o linuxmi.out -Wformat=0? 結果如下:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ./linuxmi.out x=888,y=66880 x=1570,y=202500 x=0x378,b=0x10540 x=888,y=0 x+y=67768 輸出結束!
分析: printf("x=%d,y=%ld ",x,y); 這行代碼是以十進制形式輸出的。
printf("x=%o,y=%lo ",x,y);?這行代碼是以八進制形式輸出的。
printf("x=%#x,b=%#lx ",x,y); 這行代碼是以十六進制帶前綴Ox形式輸出的。
printf("x=%d,y=%ld ",x); 這行代碼格式字符多于輸出項,輸出結果表明,當格式字符的個數(shù)多余輸出項時,多余格式字符的位置將會輸出一個不確定的值。
【2.1】整型數(shù)據(jù)的輸入
#include(1)如果輸入12 23 34,那么運行結果如下://2023.1.31漁火 Linux迷 www.linuxmi.com int main() { int x,y; long int c; scanf("%d%d%ld",&x,&y,&c); printf("x=%d,y=%d,c=%ld ",x,y,c); //2023.1.31漁火 Linux迷 www.linuxmi.com return 0; }
(2)如果輸入12,23 34,那么運行結果如下:
分析:這是由于在輸入“12,23 34”時,存在非數(shù)字符號”,“,scanf() 函數(shù)在遇到非法輸入時認為數(shù)據(jù)輸入結束,因此將12賦值給變量x,而后面的數(shù)據(jù)將會被舍棄,變量 y 和 c 沒有正確賦值,因此 y 和 c 的值是不可預知的。 注意:scanf() 函數(shù)中的格式控制字符串”%d%d%ld“指明需輸入兩個 int 型數(shù)據(jù)和一個 long 型數(shù)據(jù),且格式控制字符串中只有格式字符串,沒有普通字符,因此要使變量x,y,c得到正確的結果,輸入的數(shù)據(jù)之間需用空格、Tab鍵、或回車鍵進行分割。 接下來我們來看下實型數(shù)據(jù)的輸入輸出
【2.1】實型數(shù)據(jù)的輸入輸出:
#include如果輸入201.3654 56987.685102345,那么運行結果如下://2023.1.31漁火 Linux迷 www.linuxmi.com int main() { float f; double d; scanf("%f%lf",&f,&d); printf("f=%f,d=%f ",f,d); printf("f=%e,d=%e ",f,d); printf("f=%4.2f,d=%.3f ",f,d); //2023.1.31漁火 Linux迷 www.linuxmi.com return 0; }
分析:第一個數(shù)據(jù)201.3654賦值給float型變量f,第二個數(shù)據(jù)56987.685102345賦值給double型變量d。 printf("f=%f,d=%f ",f,d); 此處輸出分別以小數(shù)形式輸出變量f和d的值并保留6位小數(shù)。 printf("f=%e,d=%e ",f,d);此處輸出分別以指數(shù)形式輸出f和d的值。
printf("f=%4.2f,d=%.3f ",f,d);此處輸出,"%4.2f"要求保留2位小數(shù)且輸出寬度是4,此時變量f的實際位數(shù)大于4,則保留2位小數(shù)后按實際位數(shù)輸出,”%.3f“要求保留3位小數(shù)輸出。
字符型數(shù)據(jù)的輸入輸出可以調(diào)用函數(shù)getchar()、scanf()和putchar()、printf()。其中getchar()和putchar()函數(shù)只能適用于單個字符的輸入輸出,scanf()和printf()函數(shù)可以用于多個字符的輸入輸出。
【3.1】字符型數(shù)據(jù)的輸入輸出
#include如果輸入x y z,那么運行結果如下://2023.1.31漁火 Linux迷 www.linuxmi.com int main() { char a,b,c; scanf("%c%c%c",&a,&b,&c); printf("a=%3c,b=%c,c=%c ",a,b,c); //2023.1.31漁火 Linux迷 www.linuxmi.com return 0; }
分析:這是由于在輸入字符數(shù)據(jù)時,若格式控制字符串中沒有非格式字符,則認為所有輸入的字符均為有效字符。
(1)getchar()函數(shù),設ch是字符型變量,函數(shù)getchar()的一般調(diào)用格式為:ch=getchar()。
(2)putchar()函數(shù)。函數(shù)putchar()的一般調(diào)用格式為:puchar(輸出參數(shù))。
【3.2】由鍵盤輸入一個字符,將其輸出到其屏幕::
#include運行結果如下://2023.1.31漁火 Linux迷 www.linuxmi.com int main() { char ch; ch=getchar(); putchar(ch); //2023.1.31漁火 Linux迷 www.linuxmi.com return 0; }
C 語言處理系統(tǒng)提供了許多實現(xiàn)編好的庫函數(shù),供用戶在編程序時使用,這些事先編好的函數(shù)稱之為庫函數(shù)。
常用的庫函數(shù)有:1、指數(shù)函數(shù)exp(e):計算e×。2、絕對值函數(shù)fabs(x),計算|x|。3、以e為底的對數(shù)函數(shù)log(x):計算lnx。4、冪函數(shù)pow(x,y)5、平方根函數(shù)sqrt(x)。
審核編輯:湯梓紅
評論
查看更多