? hi!這里是漁火。今天我們接續(xù)來(lái)講 C 語(yǔ)言順序結(jié)構(gòu)。
我們來(lái)看下整型數(shù)據(jù)的輸出和輸入。
【1.1】整型數(shù)據(jù)的輸出
#include運(yùn)行//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("輸出結(jié)束! "); //2023.1.31漁火 Linux迷 www.linuxmi.com return 0; }
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com gcc linuxmi.c -o linuxmi.out -Wformat=0? 結(jié)果如下:
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 輸出結(jié)束!

分析: printf("x=%d,y=%ld ",x,y); 這行代碼是以十進(jìn)制形式輸出的。
printf("x=%o,y=%lo ",x,y);?這行代碼是以八進(jìn)制形式輸出的。
printf("x=%#x,b=%#lx ",x,y); 這行代碼是以十六進(jìn)制帶前綴Ox形式輸出的。
printf("x=%d,y=%ld ",x); 這行代碼格式字符多于輸出項(xiàng),輸出結(jié)果表明,當(dāng)格式字符的個(gè)數(shù)多余輸出項(xiàng)時(shí),多余格式字符的位置將會(huì)輸出一個(gè)不確定的值。
【2.1】整型數(shù)據(jù)的輸入
#include(1)如果輸入12 23 34,那么運(yùn)行結(jié)果如下://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,那么運(yùn)行結(jié)果如下:

分析:這是由于在輸入“12,23 34”時(shí),存在非數(shù)字符號(hào)”,“,scanf() 函數(shù)在遇到非法輸入時(shí)認(rèn)為數(shù)據(jù)輸入結(jié)束,因此將12賦值給變量x,而后面的數(shù)據(jù)將會(huì)被舍棄,變量 y 和 c 沒(méi)有正確賦值,因此 y 和 c 的值是不可預(yù)知的。 注意:scanf() 函數(shù)中的格式控制字符串”%d%d%ld“指明需輸入兩個(gè) int 型數(shù)據(jù)和一個(gè) long 型數(shù)據(jù),且格式控制字符串中只有格式字符串,沒(méi)有普通字符,因此要使變量x,y,c得到正確的結(jié)果,輸入的數(shù)據(jù)之間需用空格、Tab鍵、或回車鍵進(jìn)行分割。 接下來(lái)我們來(lái)看下實(shí)型數(shù)據(jù)的輸入輸出
【2.1】實(shí)型數(shù)據(jù)的輸入輸出:
#include如果輸入201.3654 56987.685102345,那么運(yùn)行結(jié)果如下://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; }

分析:第一個(gè)數(shù)據(jù)201.3654賦值給float型變量f,第二個(gè)數(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,此時(shí)變量f的實(shí)際位數(shù)大于4,則保留2位小數(shù)后按實(shí)際位數(shù)輸出,”%.3f“要求保留3位小數(shù)輸出。
字符型數(shù)據(jù)的輸入輸出可以調(diào)用函數(shù)getchar()、scanf()和putchar()、printf()。其中g(shù)etchar()和putchar()函數(shù)只能適用于單個(gè)字符的輸入輸出,scanf()和printf()函數(shù)可以用于多個(gè)字符的輸入輸出。
【3.1】字符型數(shù)據(jù)的輸入輸出
#include如果輸入x y z,那么運(yùn)行結(jié)果如下://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ù)時(shí),若格式控制字符串中沒(méi)有非格式字符,則認(rèn)為所有輸入的字符均為有效字符。
(1)getchar()函數(shù),設(shè)ch是字符型變量,函數(shù)getchar()的一般調(diào)用格式為:ch=getchar()。
(2)putchar()函數(shù)。函數(shù)putchar()的一般調(diào)用格式為:puchar(輸出參數(shù))。
【3.2】由鍵盤輸入一個(gè)字符,將其輸出到其屏幕::
#include運(yùn)行結(jié)果如下://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 語(yǔ)言處理系統(tǒng)提供了許多實(shí)現(xiàn)編好的庫(kù)函數(shù),供用戶在編程序時(shí)使用,這些事先編好的函數(shù)稱之為庫(kù)函數(shù)。
常用的庫(kù)函數(shù)有:1、指數(shù)函數(shù)exp(e):計(jì)算e×。2、絕對(duì)值函數(shù)fabs(x),計(jì)算|x|。3、以e為底的對(duì)數(shù)函數(shù)log(x):計(jì)算lnx。4、冪函數(shù)pow(x,y)5、平方根函數(shù)sqrt(x)。
審核編輯:湯梓紅
評(píng)論