第二章數(shù)據(jù)類型_第1頁
第二章數(shù)據(jù)類型_第2頁
第二章數(shù)據(jù)類型_第3頁
第二章數(shù)據(jù)類型_第4頁
第二章數(shù)據(jù)類型_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第二章本章要點數(shù)據(jù)的描述規(guī)則數(shù)據(jù)的操作規(guī)則

主要內(nèi)容2.1基本數(shù)據(jù)類型與常數(shù)的表示2.2變量與內(nèi)存2.3運算符與表達式2.4輸入輸出函數(shù)

§2.1基本數(shù)據(jù)類型與常數(shù)的表示2.1.1基本數(shù)據(jù)類型C語言提供了以下一些數(shù)據(jù)類型。

數(shù)據(jù)類型構(gòu)造類型指針類型空類型(無值類型)void枚舉類型enum數(shù)組類型結(jié)構(gòu)體類型struct共用體類型union基本類型整型int字符型char實型(浮點型)單精度實型float雙精度實型double2.1.2常量和符號常量在程序運行過程中,其值不能被改變的量稱為常量常量區(qū)分為不同的類型:整型100,-100,0,010,0x12實型3.14,0.125,.5,-1.5,1.75e4字符型‘a(chǎn)’,‘?’,‘2’,‘\n’字符串“a”,“C程序”,“1232”整型常量按原樣輸出實型(浮點型)常量的表示方法兩種表示形式小數(shù)指數(shù)0.1233e-3注意:字母e(或E)之前必須有數(shù)字,且e后面的指數(shù)必須為整數(shù)1e3、1.8e-3、-123e-6、-.1e-3e3、2.1e3.5、.e3、e

規(guī)范化的指數(shù)形式:

在字母e(或E)之前的小數(shù)部分中,小數(shù)點左邊應(yīng)有一位(且只能有一位)非零的數(shù)字.例如:123.456可以表示為:123.456e0,12.3456e1,1.23456e2,0.123456e3,0.0123456e4,0.00123456e其中的1.23456e3稱為“規(guī)范化的指數(shù)形式”。字符常量(1)用單引號包含的一個字符是字符型常量(2)只能包含一個字符例‘a(chǎn)’,’A’,‘1’‘a(chǎn)bc’、“a”

有些以“\”開頭的特殊字符稱為轉(zhuǎn)義字符\n換行,將當前位置移到下一行開頭\t橫向跳格\r回車,將當前位置移到本行開頭\b退格,將當前位置移到前一列\(zhòng)\反斜杠\dddddd表示1到3位八進制數(shù)字\xhhhh表示1到2位十六進制數(shù)字【例】2.1幾個常數(shù)的輸出例轉(zhuǎn)義字符舉例

#include<stdio.h>

void

main()

{

printf("\101\x42C\n");

printf("Isay:\"Howareyou?\"\n");

printf("\\CProgram\\\n");

printf("Turbo\'C\'");

}

運行結(jié)果:(屏幕顯示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’運行結(jié)果:屏幕顯示:=打印機輸出:¥例main(){printf(“Y\b=\n”);}字符串常量字符串常量是一對雙撇號括起來的字符序列.合法的字符串常量:“Howdoyoudo.”,“CHINA”,“a”,“$123.45”可以輸出一個字符串,如printf(“Howdoyoudo.”);

‘a’是字符常量,”a”是字符串常量,二者不同。如:假設(shè)c被指定為字符變量

:charc

c=’a’;c=”a”;c=”CHINA”;結(jié)論:不能把一個字符串常量賦給一個字符變量。

C規(guī)定:在每一個字符串常量的結(jié)尾加一個“字符串結(jié)束標志”,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。C規(guī)定以字符’\0’作為字符串結(jié)束標志。

如:如果有一個字符串常量”CHINA”,實際上在內(nèi)存中是:CHINA\0

它占內(nèi)存單元不是5個字符,而是6個字符,最后一個字符為’\0’。但在輸出時不輸出’\0’。2.2.1標識符作用:用于給程序中的各元素(常量、變量、函數(shù)等)標示類型和命名。定義:字母或下劃線開頭的字母、數(shù)字、下劃線組成的字串。例如:ab,sum1,_12x,y_1,t_12等都是C語言允許的標識符。

5gb,tr?,ddp#,liyi,ab+cd等都不是C語言的標識符

標識符長度無統(tǒng)一規(guī)定,一般只識別前8個字符。在C語言中,標識符對字母的大小寫是有區(qū)分(敏感)的。例如:count、COUNT和Count被認為是三個不同的標識符。2.關(guān)鍵字

即系統(tǒng)已使用的標識符。保留給系統(tǒng)使用,用戶不能使用。2.2變量與內(nèi)存例:判斷下列標識符號合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123例符號常量的使用

#definePRICE30

#include<stdio.h>

voidmain()

{

intnum,total;

num=10;

total=num*PRICE;

printf(″total=%d\n″,total);

}說明:

程序中用#define命令行定義PRICE代表常量30,此后凡在本文件中出現(xiàn)的PRICE都代表30,可以和常量一樣進行運算說明:用一個標識符代表一個常量的,稱為符號常量,即以標識符形式出現(xiàn)的常量。符號常量的值在其作用域(在本例中為主函數(shù))內(nèi)不能改變,也不能再被賦值。

說明:如再用賦值語句給PRICE賦值是錯誤的。PRICE=40;/*錯誤,不能給符號常量賦值。

運行結(jié)果:

total=300

§2.2變量與內(nèi)存2.2.2變量的定義與初始化變量代表內(nèi)存中具有特定屬性的一個存儲單元,它用來存放數(shù)據(jù),這就是變量的值,在程序運行期間,這些值是可以改變的。變量名實際上是一個以一個名字對應(yīng)代表一個地址,在對程序編譯連接時由編譯系統(tǒng)給每一個變量名分配對應(yīng)的內(nèi)存地址。從變量中取值,實際上是通過變量名找到相應(yīng)的內(nèi)存地址,從該存儲單元中讀取數(shù)據(jù)。變量的命名規(guī)則遵循標識符的命名規(guī)則變量的定義和初始化(“先定義,后使用”)(1)變量定義的一般格式:[存儲類型]數(shù)據(jù)類型變量名[,變量名2……];例如:floatradius,length,area;(2)變量初始化的一般格式:[存儲類型]數(shù)據(jù)類型變量名=[初值1][,變量名2[=初值2]……];例如:floatradius=2.5,length,area;不允許連續(xù)賦值:如inta=b=5;

變量定義原理編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元…...地址inta=1,b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址…...內(nèi)存1-3隨機數(shù)整型變量

(1)整型數(shù)據(jù)在內(nèi)存中的存放形式

數(shù)據(jù)在內(nèi)存中是以二進制形式存放的。

如:inti;/*定義為整型變量*/i=10;/*給i賦以整數(shù)10*/(2)整型變量的分類:共六種有符號基本整型有符號短整型有符號長整型無符號基本整型無符號短整型無符號長整型(signed)int(signed)short(int)(signed)long(int)unsignedintunsignedshort(int)unsignedlong(int)

注意:括號表示其中的內(nèi)容是可選的.ANSIC標準定義的整數(shù)類型:

類型類型說明符長度數(shù)的范圍基本型int2字節(jié)-32768~32767短整型short2字節(jié)-215~215-1長整型long4字節(jié)-231~231-1無符號整型unsigned2字節(jié)0~65535無符號短整型unsignedshort2字節(jié)0~65535無符號長整型unsignedlong4字節(jié)0~(232-1)例整型變量的定義與使用

#include<stdio.h>

voidmain()

{inta,b,c,d;/*指定a、b、c、d為整型變量*/

unsignedu;/*指定u為無符號整型變量*/

a=12;b=-24;u=10;

c=a+u;d=b+u;

printf(″a+u=%d,b+u=%d\n″,c,d);

}說明:

可以看到不同種類的整型數(shù)據(jù)可以進行算術(shù)運算運行結(jié)果:

a+u=22,b+u=-14

例整型數(shù)據(jù)的溢出

#include<stdio.h>

voidmain()

{inta,b;

a=32767;

b=a+1;

printf(“%d,%d\n”,a,b);

}

說明:數(shù)值是以補碼表示的。一個整型變量只能容納-32768~32767范圍內(nèi)的數(shù),無法表示大于32767或小于-32768的數(shù)。遇此情況就發(fā)生“溢出”。運行結(jié)果:

32767,-32768類型位數(shù)數(shù)的范圍有效數(shù)字float3210-37~10386~7位double型6410-307~1030815~16位longdouble12810-4931~10493218~19位實型(浮點型)變量(1)浮點型數(shù)據(jù)在內(nèi)存中的存放形式

一個浮點型數(shù)據(jù)一般在內(nèi)存中占4個字節(jié)(32位)。(2)浮點型變量的分類

浮點型變量分為單精度(float型)、雙精度(double型)和長雙精度型(longdouble)三類形式。例浮點型數(shù)據(jù)的舍入誤差

#include<stdio.h>

voidmain()

{floata,b;

a=123456.789e5;

b=a+20;

printf(“%f\n”,b);

}

說明:一個浮點型變量只能保證的有效數(shù)字是7位有效數(shù)字,后面的數(shù)字是無意義的,并不準確地表示該數(shù)。應(yīng)當避免將一個很大的數(shù)和一個很小的數(shù)直接相加或相減,否則就會“丟失”小的數(shù)運行結(jié)果:

123456.789e5【例】2.3字符變量字符型變量用來存放字符常量,注意只能放一個字符。字符變量的定義形式如下:charc1,c2;在本函數(shù)中可以用下面語句對c1,c2賦值:c1=‘a(chǎn)’;c2=‘b’;一個字符變量在內(nèi)存中占一個字節(jié)。

字符數(shù)據(jù)在內(nèi)存中的存儲形式及其使用方法將一個字符常量放到一個字符變量中,實際上并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的相應(yīng)的ASCII代碼放到存儲單元中。這樣使字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。一個字符數(shù)據(jù)既可以以字符形式輸出,也可以以整數(shù)形式輸出。例向字符變量賦以整數(shù)。

#include<stdio.h>

voidmain()

{charc1,c2;

c1=97;

c2=98;

printf(“%c%c\n”,c1,c2);

printf(“%d%d\n”,c1,c2);

說明:在第3和第4行中,將整數(shù)97和98分別賦給c1和c2,它的作用相當于以下兩個賦值語句: c1=′a′;c2=′b′;因為’a’和’b’的ASCII碼為97和98運行結(jié)果:ab9798【例】2.4例大小寫字母的轉(zhuǎn)換

#include<stdio.h>

voidmain()

{charc1,c2;

c1=’a’;

c2=’b’;

c1=c1-32;

c2=c2-32;

printf(“%c%c″,c1,c2);

}說明:程序的作用是將兩個小寫字母a和b轉(zhuǎn)換成大寫字母A和B。從ASCII代碼表中可以看到每一個小寫字母比它相應(yīng)的大寫字母的ASCII碼大32。C語言允許字符數(shù)據(jù)與整數(shù)直接進行算術(shù)運算。

運行結(jié)果:AB

【例】2.5

§2.3運算符和表達式C的運算符有以下幾類:(1)算術(shù)運算符(+-*/%)(2)關(guān)系運算符(><>=<===!=)(3)邏輯運算符(!&&||)(4)賦值運算符(=)(5)條件運算符(?:)(6)逗號運算符(,)(7)指針運算符(*和&)(8)強制類型轉(zhuǎn)換運算符((類型))(9)下標運算符([])2.3.1算術(shù)運算符與算術(shù)表達式

(1)基本的算術(shù)運算符:+(加法運算符,或正值運算符。如:3+5、+3)-(減法運算符,或負值運算符。如:5-2、-3)*(乘法運算符。如:3*5)/(除法運算符。如:5/3)%(模運算符,或稱求余運算符,%兩側(cè)均應(yīng)為整型數(shù)據(jù),如:7%4的值為3)。(2)算術(shù)表達式和運算符的優(yōu)先級與結(jié)合性:

用算術(shù)運算符和括號將運算對象(也稱操作數(shù))連接起來的、符合C語法規(guī)則的式子,稱為C算術(shù)表達式。運算對象包括常量、變量、函數(shù)等。

例如:

a*b/c-1.5+′a′是一個合法的表達式C語言規(guī)定了運算符的優(yōu)先級和結(jié)合性。在表達式求值時,先按運算符的優(yōu)先級別高低次序執(zhí)行,例如先乘除后加減。C規(guī)定了各種運算符的結(jié)合方向(結(jié)合性)算術(shù)運算符的結(jié)合方向為“自左至右”,即先左后右。【例】2.6(3)數(shù)據(jù)類型轉(zhuǎn)換:在C語言中,整型、實型和字符型數(shù)據(jù)間可以混合運算(因為字符數(shù)據(jù)與整型數(shù)據(jù)可以通用)。如果一個運算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不同,則系統(tǒng)按“先轉(zhuǎn)換、后運算”的原則,首先將數(shù)據(jù)自動轉(zhuǎn)換成同一類型,然后在同一類型數(shù)據(jù)間進行運算。較低類型向較高類型轉(zhuǎn)換。

類型級別的高低:字符型<整型<單精度實型<雙精度實型(4)強制類型轉(zhuǎn)換運算符:

除自動轉(zhuǎn)換外,C語言可以利用強制類型轉(zhuǎn)換運算符將一個表達式轉(zhuǎn)換成所需類型。一般形式:(類型名)(表達式)例如:(double)a將a轉(zhuǎn)換成double類型(float)(5%3)將5%3的值轉(zhuǎn)換成float型從高類型到低類型的轉(zhuǎn)換會發(fā)生存儲字節(jié)的減少,從而可能會發(fā)生數(shù)據(jù)的截斷所造成的數(shù)據(jù)損害。例強制類型轉(zhuǎn)換。

#include<stdio.h>

voidmain()

{floatx;

inti;

x=3.6;

i=(int)x;

printf("x=%f,i=%d\n",x,i);

說明:有兩種類型轉(zhuǎn)換,一種是在運算時不必用戶指定,系統(tǒng)自動進行的類型轉(zhuǎn)換,如3+6.5。第二種是強制類型轉(zhuǎn)換。當自動類型轉(zhuǎn)換不能實現(xiàn)目的時,可以用強制類型轉(zhuǎn)換。運行結(jié)果:

x=3.600000,i=3(4)

自增、自減運算符

作用是使變量的值增1或減1如:++i,--i(在使用i之前,先使i的值加/減1)i++,i--(在使用i之后,使i的值加/減1)

i++與++i的區(qū)別:

++i是先執(zhí)行i=i+1后,再使用i的值;i++是先使用i的值后,再執(zhí)行i=i+1。例如:若i的初值為3①j=++i;i的值先變成4,再賦給j,j的值均為4②j=i++;先將i的值3賦給j,j的值為3,然后i變?yōu)椋醋⒁猓?/p>

(1)自增運算符(++),自減運算符(--),只能用于變量,而不能用于常量或表達式,(2)++和--的結(jié)合方向是“自右至左”。【例】2.9(5)有關(guān)表達式使用中的問題說明

①ANSIC并沒有具體規(guī)定表達式中的子表達式的求值順序,允許各編譯系統(tǒng)自己安排。例如:對表達式a=f1()+f2()并不是所有的編譯系統(tǒng)都先調(diào)用f1(),然后調(diào)用f2()。在有的情況下結(jié)果可能不同。有時會出現(xiàn)一些令人容易搞混的問題,因此務(wù)必要小心謹慎。

②C語言中有的運算符為一個字符,有的運算符由兩個字符組成為避免誤解,最好采取大家都能理解的寫法。例如:不要寫成i+++j的形式,而應(yīng)寫成(i++)+j的形式

③在調(diào)用函數(shù)時,實參數(shù)的求值順序,C標準并無統(tǒng)一規(guī)定。例如:i的初值為3,如果有下面的函數(shù)調(diào)用:printf(″%d,%d″,i,i++)在有的系統(tǒng)中,從左至右求值,輸出“3,3”。在多數(shù)系統(tǒng)中對函數(shù)參數(shù)的求值順序是自右而左,printf函數(shù)輸出的是“4,3”。以上這種寫法不宜提倡,最好改寫成j=i++;printf("%d,%d",j,i)不要寫出別人看不懂的也不知道系統(tǒng)會怎樣執(zhí)行程序

2.3.2賦值運算符與賦值表達式

(1)賦值運算符

賦值符號“=”就是賦值運算符,它的作用是將一個數(shù)據(jù)賦給一個變量。如“a=3”的作用是執(zhí)行一次賦值操作(或稱賦值運算)。把常量3賦給變量a。也可以將一個表達式的值賦給一個變量.

(2)類型轉(zhuǎn)換

如果賦值運算符兩側(cè)的類型不一致,但都是數(shù)值型或字符型時,在賦值時要進行類型轉(zhuǎn)換。例如:①將浮點型數(shù)據(jù)(包括單、雙精度)賦給整型變量時,舍棄浮點數(shù)的小數(shù)部分。如:i為整型變量,執(zhí)行“i=3.56”的結(jié)果是使i的值為3,以整數(shù)形式存儲在整型變量中.

②將整型數(shù)據(jù)賦給單、雙精度變量時,數(shù)值不變,但以浮點數(shù)形式存儲到變量中

如:

將23賦給float變量f,即執(zhí)行f=23,先將23轉(zhuǎn)換成23.00000,再存儲在f中。將23賦給double型變量d,即執(zhí)行d=23,則將23補足有效位數(shù)字為23.00000000000000,然后以雙精度浮點數(shù)形式存儲到變量d中。

【例】2.7

(3)復(fù)合的賦值運算符

在賦值符“=”之前加上其他運算符,可以構(gòu)成復(fù)合的運算符。例如:a+=3等價于a=a+3x*=y+8等價于x=x*(y+8)x%=3等價于x=x%3以“a+=3”為例來說明,它相當于使a進行一次自加(3)的操作。即先使a加3,再賦給a。注意:如果b是包含若干項的表達式,則相當于它有括號。如:①x%=y+3②x=x%(y+3)(不要錯寫成x=x%y+3)凡是二元(二目)運算符,都可以與賦值符一起組合成復(fù)合賦值符。(4)賦值表達式由賦值運算符將一個變量和一個表達式連接起來的式子稱為“賦值表達式”。一般形式為:

<變量><賦值運算符><表達式>

例如:“a=5”是一個賦值表達式

對賦值表達式求解的過程是:①求賦值運算符右側(cè)的“表達式”的值;②賦給賦值運算符左側(cè)的變量。例如:賦值表達式“a=3*5”的值為15,執(zhí)行表達式后,變量a的值也是15。

注意:

一個表達式應(yīng)該有一個值

賦值表達式中的“表達式”,又可以是一個賦值表達式.例如:a=(b=5)

分析:括弧內(nèi)的“b=5”是一個賦值表達式,它的值等于5。執(zhí)行表達式“a=(b=5)”相當于執(zhí)行“b=5”和“a=b”兩個賦值表達式。賦值運算符按照“自右而左”的結(jié)合順序,因此,“(b=5)”外面的括弧可以不要,即“a=(b=5)”和“a=b=5”等價.請分析下面的賦值表達式∶(a=3*5)=4*3分析:先執(zhí)行括弧內(nèi)的運算,將15賦給a,然后執(zhí)行4*3的運算,得12,再把12賦給a。最后a的值為12,整個表達式的值為12。注意:在對賦值表達式(a=3*5)求解后,變量a得到值15執(zhí)行(a=3*5)=4*3時,實際上是將4*3的積12賦給變量a,而不是賦給3*5。賦值表達式也可以包含復(fù)合的賦值運算符。

如:a+=a-=a*aa的初值為12分析:此賦值表達式的求解步驟如下∶①先進行“a-=a*a”的運算,它相當于a=a-a*a,a的值為12-144=-132。②再進行“a+=-132”的運算,相當于a=a+(-132),a的值為-132-132=-264。

將賦值表達式作為表達式的一種,使賦值操作不僅可以出現(xiàn)在賦值語句中,而且可以以表達式形式出現(xiàn)在其他語句(如輸出語句、循環(huán)語句等)中.如:printf("%d",a=b);

分析:如果b的值為3,則輸出a的值(也是表達式a=b的值)為3。在一個語句中完成了賦值和輸出雙重功能。2.3.3逗號運算符和逗號表達式逗號運算符:將兩個表達式連接起來,又稱為“順序求值運算符”

如:3+5,6+8

一般形式:

表達式1,表達式2求解過程:先求解表達式1,再求解表達式2。整個逗號表達式的值是表達式2的值。

逗號表達式的值為14

2.3.3逗號運算符和逗號表達式例:逗號表達式a=3*5,a*4

分析:賦值運算符的優(yōu)先級別高于逗號運算符,因此應(yīng)先求解a=3*5.a的值為15,然后求解a*4,得60。整個逗號表達式的值為60。

一個逗號表達式又可以與另一個表達式組成一個新的逗號表達式如:(a=3*5,a*4),a+5a+5先計算出a的值等于15,再進行a*4的運算得60(但a值未變,仍為15),再進行a+5得20,即整個表達式的值為20。

2.3.3逗號運算符和逗號表達式逗號表達式的一般形式可以擴展為

表達式1,表達式2,表達式3,……,表達式n它的值為表達式n的值。逗號運算符是所有運算符中級別最低的例:①x=(a=3,6*3)②x=a=3,6*3賦值表達式,將一個逗號表達式的值賦給x,x的值等于18逗號表達式,包括一個賦值表達式和一個算術(shù)表達式,x的值為3,整個逗號表達式的值為18。注意:并不是任何地方出現(xiàn)的逗號都是作為逗號運算符。例如函數(shù)參數(shù)也是用逗號來間隔的。如:printf(“%d,%d,%d”,a,b,c);“a,b,c”并不是一個逗號表達式,它是printf函數(shù)的3個參數(shù)printf(“%d,%d,%d”,(a,b,c),b,c);“(a,b,c)”是一個逗號表達式,它的值等于c的值。

2.3.3逗號運算符和逗號表達式2.3.4條件運算符和表達式一般形式:expr1?expr2:expr3執(zhí)行過程功能:相當于條件語句,但不能取代一般if語句expr1取expr2值取expr3值非0=0例if(a>b)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,a>b?a:b);例求a+|b|printf(“a+|b|=%d\n”,b>0?a+b:a-b);例(a==b)?’Y’:’N’(x%2==1)?1:0(x>=0)?x:-x(c>=‘a(chǎn)’&&c<=‘z’)?c-’a’+’A’:c條件運算符可嵌套

如x>0?1:(x<0?-1:0)結(jié)合方向:自右向左

如a>b?a:c>d?c:da>b?a:(c>d?c:d)expr1、expr2、expr3類型可不同,表達式值取較高的類型例x?‘a(chǎn)’:‘b’//x=0,表達式值為‘b’;x?0,表達式值為‘a(chǎn)’x>y?1:1.5//x>y,值為1.0;x<y,值為1.52.3.5常用數(shù)學函數(shù)(1)頭文件包含#include<>例如:#include<math.h>#include<stdio.h>(2)函數(shù)原型intabs(intx)doublefabs(doublex)doublesqrt(doublex)doublepow(doublex,doubley)(3)參數(shù)的定義域【例】2.81.優(yōu)先級高括號、成員運算符()[]—>單目運算算術(shù)運算關(guān)系運算邏輯運算(除!外)條件運算賦值運算低逗號運算2.結(jié)合性指運算數(shù)與運算符的結(jié)合方向.

(見208頁)2.3.6優(yōu)先級與結(jié)合性2.4數(shù)據(jù)輸入/輸出(I/O)

2.4.1printf輸出函數(shù)

1.格式輸出函數(shù)printf()

格式:printf(“格式控制字串”,輸出項表)

輸出項:{常量|變量|表達式}格式控制說明符,規(guī)定用%打頭,其后跟上一個符合規(guī)定的字母,不同的字母的含義不一樣。常用的有:

%d按十進制整數(shù)輸出%o按八進制輸出

%f按數(shù)據(jù)實型輸出%c輸出單個字符【例】

注意:輸出項的個數(shù)要與格式說明符的個數(shù)相同,輸出項與對應(yīng)的格式說明符的類型必須一致。如果沒有輸出項表,就不要有格式控制字符串;如:printf(“helloworld!”);

inta=4;floatb=5.4;printf(“a=%d,b=%f,a*b=%f”,a,b,a*b);【例】2.10【例】2.112.4.2

scanf格式輸入函數(shù)

格式:

scanf(“格式控制字串”,輸入地址表)

輸入地址表項:{&變量名|數(shù)組名}

(a)格式控制說明符:規(guī)定用%打頭,其后跟上一個符合規(guī)定的字母,不同的字母的含義不一樣,常用的有:

%d按十進制整數(shù)輸入%o按八進制輸入

%f按實型數(shù)據(jù)輸入%c輸入單個字符

注意:格式控制字符串中一般不包含普通字符,輸入多個數(shù)據(jù)中間用空格(或跳格和回車符)作為輸入數(shù)據(jù)的間隔。

(b)輸入項表

輸入項表格項之間用逗號隔開,輸入項必須是變量的地址。這可以在變量名前加取地址運算符&,輸入項的個數(shù)要與格式說明符的個數(shù)相同,輸入項與對應(yīng)的格式說明符的類型必須按順序?qū)?yīng)一致,每一種數(shù)據(jù)類型,都有專門的格式說明符。main(){inta;floatx,y;scanf(“%d%f%f”,&a,&x,&y);printf(“%d%f%f”,a,x,y);}例scanf(“%d”,&a);

輸入:10

則a=10例scanf(“%x”,&a);

輸入:11

則a=17附加格式說明符(修飾符)l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論