高級語言程序設計 課件 鄭巖 第3、4章 數(shù)據(jù)類型、運算符和表達式;結(jié)構(gòu)化程序設計_第1頁
高級語言程序設計 課件 鄭巖 第3、4章 數(shù)據(jù)類型、運算符和表達式;結(jié)構(gòu)化程序設計_第2頁
高級語言程序設計 課件 鄭巖 第3、4章 數(shù)據(jù)類型、運算符和表達式;結(jié)構(gòu)化程序設計_第3頁
高級語言程序設計 課件 鄭巖 第3、4章 數(shù)據(jù)類型、運算符和表達式;結(jié)構(gòu)化程序設計_第4頁
高級語言程序設計 課件 鄭巖 第3、4章 數(shù)據(jù)類型、運算符和表達式;結(jié)構(gòu)化程序設計_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章數(shù)據(jù)類型、運算符和表達式3.1數(shù)據(jù)類型常量3.2變量3.33.4運算符和表達式3.5數(shù)據(jù)類型轉(zhuǎn)換本章內(nèi)容導讀本章主要介紹C語言的基本數(shù)據(jù)類型以及變量的定義方法,基本運算符的運算規(guī)則、優(yōu)先級和結(jié)合性以及表達式的構(gòu)成等。通過學習本章,讀者應掌握以下內(nèi)容:了解C語言的各種數(shù)據(jù)類型和運算符;掌握各種基本數(shù)據(jù)類型常量和字符串常量的書寫方法;掌握常量和變量的定義、初始化和賦值方法;掌握基本運算符的運算規(guī)則、優(yōu)先級和結(jié)合性;掌握表達式計算和變量賦值時數(shù)據(jù)類型轉(zhuǎn)換的規(guī)則。C語言提供的數(shù)據(jù)結(jié)構(gòu),以數(shù)據(jù)類型的形式出現(xiàn)。包括:基本類型包括整型、實型(又稱浮點型)、字符型和枚舉型四種。構(gòu)造類型由基本數(shù)據(jù)類型按一定規(guī)則組合而成的復雜數(shù)據(jù)類型,包括數(shù)組類型、結(jié)構(gòu)體類型和共用體類型三種。指針類型用來表示內(nèi)存地址??疹愋蛷恼Z法完整性角度給出的數(shù)據(jù)類型,表示不需要數(shù)據(jù)值,因而沒有類型。C語言中的數(shù)據(jù),有常量和變量之分,分別屬于上述的類型。本章主要介紹基本類型中的整型、實型和字符型三種。3.1數(shù)據(jù)類型概念在程序運行過程中,其值不能改變的量,又稱為常數(shù)。

分類

(1)整型常量(2)實型常量(3)字符型常量

(4)字符串常量(5)符號常量常量的類型,系統(tǒng)可通過書寫形式自動識別,無需定義。3.2常量表示形式又稱為整數(shù),C語言中有三種形式:(1)十進制整型常量,例如10、36。(2)八進制整型常量(必須以數(shù)字0開頭),例如012。(3)十六進制整型常量(必須以0X或0x開頭),例如0x36。分類(1)基本整型(2)長整型(在數(shù)值后面加L或l):對超出基本整型值域的整型常量,可使用長整型常量表示,例如123l、315L等。(3)短整型1、整型常量3.2常量類型匹配規(guī)則一個整型常量,可以賦給能容納下其值的整型變量。例如,其值在-215至(215-1)的整型常量,可以賦給int型變量和longint型變量;其值在-231至(231-1)的整型常量,則只能賦給longint型變量。注意:常量沒有unsigned型。但一個非負整型常量,只要其值不超過相應變量的取值范圍,也可以賦給unsigned型變量。1、整型常量3.2常量表示形式

又稱為浮點型常量或?qū)崝?shù),有兩種表達形式:

(1)十進制小數(shù)形式,例如3.14、9.8。(2)指數(shù)形式:<尾數(shù)>E(或e)<整型指數(shù)>,例如3.0E+5等。說明

實型常量不分float型和double型。一個實型常量,可以賦給一個實型變量(float型或double型)。2、實型常量3.2常量定義用一對單引號括起來的單個字符,例如'a'、'+'等。轉(zhuǎn)義字符C語言還允許使用一種特殊形式的字符常量,以反斜杠“\”開頭的轉(zhuǎn)義字符。注意(1)如果反斜杠或單引號或雙引號本身作為字符常量,必須寫成轉(zhuǎn)義字符的形式,即

'\\'、'\''、'\"',而不能直接寫成

'\'、'''、'"'。(2)C語言規(guī)定字符常量中的字母是區(qū)分大小寫的,例如

'x'和'X'是不同的字符常量。(3)C語言中空字符和空格符號不同??兆址棉D(zhuǎn)義字符'\0'表示,其值是0;空格符號是ASCII字符集中的一個可顯示字符,其ASCII值是32,在屏幕上顯示為空格。3、字符常量3.2常量定義字符串常量是用一對雙引號括起來的若干字符序列。長度字符串中字符的個數(shù)稱為字符串長度。長度為0的字符串(即一個字符都沒有的字符串)稱為空串,表示為""

(一對緊連的雙引號)。例如

"Howdoyoudo."、"Goodmorning."等,都是字符串常量,其長度分別為14和13(空格也是一個字符)。

如果反斜杠和雙引號作為字符串中的有效字符,則必須使用轉(zhuǎn)義字符。例如(1)C:\msdos\v6.22→"C:\\msdos\\v6.22"

(2)Isay:"Goodbye!"→"Isay:\"Goodbye!\""

4、字符串常量3.2常量存儲C語言規(guī)定:存儲字符串常量時,由系統(tǒng)在字符串的末尾自動加一個'\0'作為字符串的結(jié)束標志。注:在源程序中書寫字符串常量時,不必加結(jié)束字符'\0'

,否則畫蛇添足。

例如字符串"CHINA",其在內(nèi)存中實際存儲為:最后一個字符'\0'是系統(tǒng)自動加上的,占用6個字節(jié)而非5個字節(jié)的內(nèi)存空間。CHINA\0說明:字符常量'A'與字符串常量"A"是不同的。(1)定界符不同:字符常量使用單引號,而字符串常量使用雙引號;(2)長度不同:字符常量的長度固定為1,而字符串常量的長度,可以是0,也可以是某個整數(shù)。4、字符串常量3.2常量格式為了在程序中明確表示某些常量的含義,可以給常量取一個容易識別的名字,且符合標識符的命名規(guī)則。#define符號常量常量其中,常量可以是任意類型。#define是一個編譯預處理命令,稱為宏定義命令。

注:符號常量一般采用大寫字母表示,而變量一般采用小寫字母表示。符號常量使用之前必須先定義。符號常量的定義一般放在程序的開頭,每個定義必須獨占一行,因為不是語句,所以后面沒有分號;。5、符號常量3.2常量定義在程序運行過程中,其值可以改變的量。特點(1)變量名。每個變量都必須有一個名字,變量命名遵循標識符命名規(guī)則。(2)變量值。在程序運行過程中,變量值存儲在內(nèi)存中。程序中通過變量名引用變量的值。變量值的數(shù)據(jù)類型與變量的數(shù)據(jù)類型一致。命名規(guī)則(1)有效字符:只能由字母、數(shù)字和下劃線組成,且以字母或下劃線開頭。(2)有效長度:隨系統(tǒng)而異。3.3變量例如,由于student_name和student_number的前8個字符相同,有的系統(tǒng)認為這兩個變量相同而不加區(qū)別。(3)C語言的關鍵字不能用作變量名。注意:C語言對英文字母的大小寫敏感,即同一字母的大小寫,被認為是兩個不同的字符。習慣上,變量名和函數(shù)名中的英文字母用小寫,以增加可讀性。標識符命名的良好習慣──見名知意所謂“見名知意”即通過變量名就知道變量值的含義。通常應選擇能表示數(shù)據(jù)含義的英文單詞(或縮寫)作變量名,或漢語拼音字頭作變量名。例如,name/xm(姓名)、sex/xb(性別)、age/nl(年齡)、salary/gz(工資)。3.3變量C語言中,要求對所有變量,必須先定義、后使用;在定義變量的同時進行賦初值的操作稱為變量初始化。

定義格式

數(shù)據(jù)類型符變量名1[,變量名2,……];例如floatradius,length,area;

初始化格式

數(shù)據(jù)類型符變量名1[=初值1][,變量名2[=初值2],……];

例如floatradius=2.5,length,area;3.3變量分類根據(jù)占用內(nèi)存字節(jié)數(shù)的不同,整型變量分為四類:(1)基本整型(類型關鍵字int)(2)短整型(類型關鍵字short[int])(3)長整型(類型關鍵字long[int])(4)無符號整型。又分為無符號基本整型(unsigned[int])、無符號短整型(unsignedshort)和無符號長整型(unsignedlong)三種,只能用來存儲無符號整數(shù)。

1、整型變量3.3變量占用內(nèi)存字節(jié)數(shù)與值域上述各類整型變量占用的內(nèi)存字節(jié)數(shù),因系統(tǒng)而異。16位系統(tǒng)中,一般用2字節(jié)表示一個int型變量,且long型(4字節(jié))≧int型(2字節(jié))≧short型(2字節(jié))。不同類型的整型變量,其值域不同。占用內(nèi)存字節(jié)數(shù)為n的(有符號)整型變量,其值域為-2n*8-1至2n*8-1-1;無符號整型變量的值域為0至2n*8-1。例如,PC機中的一個int型變量,其值域為-22*8-1至22*8-1-1,即-32768至32767;一個unsigned型變量的值域為0至22*8-1,即0至65535。1、整型變量3.3變量分類

(1)單精度型。類型關鍵字為float,一般占4字節(jié),提供7位有效數(shù)字。

(2)雙精度型。類型關鍵字為double,一般占8個字節(jié),提供15至16位有效數(shù)字。

2、實型變量3.3變量字符型變量的類型關鍵字為char,占用1字節(jié)內(nèi)存單元。存儲

字符型變量用來存儲字符常量。將一個字符常量存儲到一個字符變量中,實際上是將該字符的ASCII碼值(無符號整數(shù))存儲到內(nèi)存單元中。例如charch1,ch2;/*定義兩個字符變量ch1、ch2*/

ch1='a';ch2='b';/*給字符變量賦值*/特點

字符數(shù)據(jù)在內(nèi)存中存儲的是字符的ASCII碼─一個無符號整數(shù),其形式與整數(shù)的存儲形式一樣,所以C語言允許字符型數(shù)據(jù)與整型數(shù)據(jù)之間通用。(1)一個字符型數(shù)據(jù),既可以字符形式輸出,也可以整數(shù)形式輸出。(2)允許對字符數(shù)據(jù)進行算術運算,即對其ASCII碼值進行算術運算。

3、字符型變量3.3變量【例3-1】字符型變量的字符形式輸出和整數(shù)形式輸出。

#include<stdio.h>intmain(void)

{ charch1,ch2;

ch1='a';ch2='b';

printf("ch1=%c,ch2=%c\n",ch1,ch2);

printf("ch1=%d,ch2=%d\n",ch1,ch2); return0;

}

程序運行結(jié)果:

ch1=a,ch2=b

ch1=97,ch2=983、字符型變量3.3變量

C語言中,如果定義了變量并賦予其初值,但不希望在程序中對其值進行修改,則可以將該變量定義為有名常量。定義格式const

數(shù)據(jù)類型符變量名1=初值1[,變量名2=初值2,…];注:有名常量主要用于程序運行過程中,其值不允許改變的量。定義后,若在程序中改變其值,將出錯。4、有名常量3.3變量C語言中,除控制語句和輸入輸出函數(shù)外,其它所有基本操作都作為運算符處理。

基本算術運算符+、-(減法/取負)、*、/、%(求余數(shù))注意:兩個整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。例如,5/2=2。對于求余數(shù)運算%,要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯。表達式用運算符和括號將運算對象(常量、變量和函數(shù)等)連接起來的、符合C語言語法規(guī)則的式子,稱為表達式。單個常量、變量或函數(shù),可看作是表達式的一種特例。將單個常量、變量或函數(shù)構(gòu)成的表達式稱為簡單表達式,其它表達式稱為復雜表達式。3.4運算符和表達式優(yōu)先級運算符結(jié)合性1[]()->.從左至右2!~++---*&sizeof從右至左3*/%從左至右4+-從左至右5<<>>從左至右6<<=>>=從左至右7==!=從左至右8&從左至右9^從左至右10|從左至右11&&從左至右12||從左至右13?:從右至左14=+=-=*=/=%=&=^=|=>>=<<=從右至左15,從左至右優(yōu)先級和結(jié)合性結(jié)合性是指當一個操作數(shù)兩側(cè)的運算符具有相同的優(yōu)先級時,該操作數(shù)是先與左邊的運算符結(jié)合,還是先與右邊的運算符結(jié)合。自左向右的結(jié)合方向,稱為左結(jié)合性。反之,稱為右結(jié)合性。結(jié)合性是C語言的獨有概念。除單目運算符、賦值運算符和條件運算符是右結(jié)合性外,其它運算符都是左結(jié)合性。運算規(guī)則(1)按運算符的優(yōu)先級高低次序執(zhí)行。例如,先乘除后加減。(2)如果在一個運算對象(或稱操作數(shù))兩側(cè)的運算符的優(yōu)先級相同,則按C語言規(guī)定的結(jié)合方向進行。例如,算術運算符的結(jié)合方向是“自左至右”,即執(zhí)行a-b+c時,先執(zhí)行a-b;然后再執(zhí)行加c的運算。3.4運算符和表達式算術運算符包括+、-、*、/、%、+(取正)和-(取負)。

名稱運算符運算對象個數(shù)功能運算對象類型結(jié)果類型結(jié)合性正+單目前綴取正整型或?qū)嵭驼突驅(qū)嵭蛷挠抑磷筘?取負加+雙目中綴加法從左至右減-減法乘*乘法除/除法模%整除取余整型整型1、算術運算符和算術表達式3.4運算符和表達式自增(++)、自減(--)運算符

單目運算符,用于對整型、字符型和指針型變量的值加1和減1的運算,運算結(jié)果仍是原來的數(shù)據(jù)類型。使用方法(1)前置運算──運算符放在變量之前:++變量、--變量。

先使變量的值增(或減)1,然后再以變化后的值參與其它運算,即先增減、后運算。(2)后置運算──運算符放在變量之后:變量++、變量--。

變量先參與其它運算,然后再使變量的值增(或減)1,即先運算、后增減。

1、算術運算符和算術表達式3.4運算符和表達式說明(1)自增、自減運算,常用于循環(huán)語句中,使循環(huán)控制變量加(或減)1,以及指針變量中,使指針指向下(或上)一個地址。(2)自增、自減運算符,不能用于常量和表達式。例如,5++、--(a+b)等都是非法的。(3)在表達式中,連續(xù)使同一變量進行自增或自減運算時,很容易出錯,所以最好避免這種用法。1、算術運算符和算術表達式3.4運算符和表達式【例3-2】自增、自減運算符的用法與運算規(guī)則。#include<stdio.h>

intmain(void){

intx=6,y;

printf("x=%d\n",x);/*輸出x的初值*/ y=++x; /*前置運算*/

printf("y=++x:x=%d,y=%d\n",x,y); y=x--; /*后置運算*/

printf("y=x--:x=%d,y=%d\n",x,y); return0;}程序運行結(jié)果:x=6y=++x:x=7,y=7y=x--:x=6,y=7“關系運算”實際上是“比較運算”,即將兩個數(shù)據(jù)進行比較,判定兩個數(shù)據(jù)是否符合給定的關系。例如,a>b中的>表示大于關系運算。如果a的值是5,b的值是3,則大于關系運算的結(jié)果為“真”,即條件成立;如果a的值是2,b的值是3,則大于關系運算的結(jié)果為“假”,即條件不成立。關系運算符

<(小于)<=(小于或等于)>(大于),

>=(大于或等于)==(等于)!=(不等于)注意:“等于”關系運算符是雙等號“==”,而不是單等號“=”(賦值運算符)。

2、關系運算符和關系表達式3.4運算符和表達式優(yōu)先級和結(jié)合性(1)>、>=、<、<=優(yōu)先于==、!=;(2)>、>=、<、<=的優(yōu)先級相同,結(jié)合性是從左至右;(3)==、!=的優(yōu)先級相同,結(jié)合性是從左至右。(4)關系運算符的優(yōu)先級低于算術運算符,但高于賦值運算符。關系表達式(1)概念關系表達式是指用關系運算符將兩個表達式連接起來進行關系運算的式子。例如下面的關系表達式都是合法的:

a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)==(b>c)

(2)關系表達式的值——邏輯值(非“真”即“假”)。2、關系運算符和關系表達式3.4運算符和表達式假設n1=3,n2=4,n3=5,則:(1)n1>n2的值是0。(2)(n1>n2)!=n3的值是1。(3)n1<n2<n3的值是1。(4)(n1<n2)+n3的值是6,因為n1<n2的值是1,1+5=6。注意:由于C語言沒有邏輯型數(shù)據(jù),用整數(shù)“1”表示“邏輯真”,用整數(shù)“0”表示“邏輯假”。所以,關系表達式的值,還可以參與其它種類的運算,例如算術運算、邏輯運算等。2、關系運算符和關系表達式3.4運算符和表達式關系表達式只能描述單一條件,例如x>=0。如果需要描述x>=0同時x<10,則需借助于邏輯表達式。邏輯運算符&& 邏輯與(相當于“同時”)|| 邏輯或(相當于“或者”)! 邏輯非(相當于“否定”)例如下面的表達式都是合法的邏輯表達式:(x>=0)&&(x<10)(x<1)||(x>5)!(x==0)

(year%4==0)&&(year%100!=0)||(year%400==0)3、邏輯運算符和邏輯表達式3.4運算符和表達式運算規(guī)則例如,假設x=5,則(x>=0)&&(x<10)的值為“真”,(x<-1)||(x>5)的值為“假”。aba&&ba||b0(假)0(假)0(假)0(假)0(假)非0(真)0(假)1(真)非0(真)0(假)0(假)1(真)非0(真)非0(真)1(真)1(真)3、邏輯運算符和邏輯表達式3.4運算符和表達式優(yōu)先級和結(jié)合性(1)!優(yōu)先于雙目算術運算符優(yōu)先于關系運算符優(yōu)先于&&優(yōu)先于||;(2)單目邏輯運算符!和單目算術運算符的優(yōu)先級相同,結(jié)合性是從右至左;(3)雙目邏輯運算符&&和||的結(jié)合性是從左至右。邏輯表達式邏輯表達式是指用邏輯運算符將一個或多個表達式連接起來,進行邏輯運算的式子。C語言中,用邏輯表達式表示多個條件的組合。例如(year%4==0)&&(year%100!=0)||(year%400==0)是判斷一個年份是否是閏年的邏輯表達式。3、邏輯運算符和邏輯表達式3.4運算符和表達式邏輯值的真假判定──0和非0C語言用整數(shù)1表示“邏輯真”、用0表示“邏輯假”。但在判斷一個數(shù)據(jù)的“真”或“假”時,卻以0和非0為根據(jù):如果為0,則判定為“邏輯假”;如果為非0,則判定為“邏輯真”。例如假設n=12,則!n的值=0,n>=1&&n<=31的值=1,n||n>31的值=1。說明(1)邏輯運算符兩側(cè)的操作數(shù),除可以是0和非0的整數(shù)外,也可以是其它任何類型的數(shù)據(jù),如實型、字符型等。3、邏輯運算符和邏輯表達式3.4運算符和表達式

(2)一旦“&&”和“||”能夠確定表達式的值,則不再繼續(xù)運算,即并不是所有的表達式都被運算。①對于邏輯與運算,如果第一個操作數(shù)被判定為“假”,系統(tǒng)不再判定或求解第二操作數(shù)。②對于邏輯或運算,如果第一個操作數(shù)被判定為“真”,系統(tǒng)不再判定或求解第二操作數(shù)。例如假設n1、n2、n3、n4、x、y的值分別為1、2、3、4、1、1,則求解表達式(x=n1>n2)&&(y=n3>n4)后,x的值變?yōu)?,而y的值不變,仍等于1。3、邏輯運算符和邏輯表達式3.4運算符和表達式賦值運算符

賦值運算符分為基本賦值運算符(又稱賦值運算符)、復合賦值運算符(+=、-=、*=、/=、%=、&=、^=、|=、<<=、>>=)。基本賦值運算符

基本賦值運算符即賦值運算符“=”,它是雙目運算符,賦值運算符的左邊必須是變量,右邊是表達式,其作用是將一個表達式的值賦給一個變量。

例如,x=5

y=(float)5/2如果表達式值的類型,與被賦值變量的類型不一致,但都是數(shù)值型或字符型時,系統(tǒng)自動地將表達式的值轉(zhuǎn)換成被賦值變量的數(shù)據(jù)類型,然后再賦值給變量。

4、賦值運算符和賦值表達式3.4運算符和表達式復合賦值運算復合賦值運算符由賦值運算符之前再加一個雙目運算符構(gòu)成。格式

變量雙目運算符=表達式

└─┬─┘

復合賦值運算符等價于

變量=變量雙目運算符(表達式)。

當表達式為簡單表達式時,表達式外的一對圓括號才可缺省,否則可能出錯。例如,x+=3 /*等價于x=x+3*/y*=x+6 /*等價于y=y*(x+6),而不是y=y*x+6*/C語言規(guī)定的10種復合賦值運算符如下:+=,-=,*=,/=,%=; /*復合算術運算符(5個)*/&=,^=,|=,<<=,>>=; /*復合位運算符(5個)*/4、賦值運算符和賦值表達式3.4運算符和表達式優(yōu)先級和結(jié)合性(1)算術運算符優(yōu)先于關系運算符優(yōu)先于雙目邏輯運算符優(yōu)先于復合賦值運算符;(2)復合賦值運算符和賦值運算符的優(yōu)先級相同,結(jié)合性是從右至左。賦值表達式由賦值運算符或復合賦值運算符,將一個變量和一個表達式連接起來的表達式,稱為賦值表達式。格式變量=表達式變量復合賦值運算符表達式4、賦值運算符和賦值表達式3.4運算符和表達式又稱順序求值運算符,所連接起來的式子稱為逗號表達式。格式

表達式1,表達式2,……,表達式n求解過程自左向右,依次計算各表達式的值,“表達式n”的值即為整個逗號表達式的值。例如逗號表達式a=3*5,a*4的值=60,即先求解a=3*5,得a=15;再求a*4=60,所以逗號表達式的值是60。又如逗號表達式(a=3*5,a*4),a+5的值=20,即先求解a=3*5,得a=15;再求a*4=60;最后求解a+5=20,所以逗號表達式的值是20。注意:并不是任何地方出現(xiàn)的逗號,都是逗號運算符。很多情況下,逗號僅用作分隔符。5、逗號運算符和逗號表達式3.4運算符和表達式格式表達式1?表達式2:表達式3條件表達式中的表達式1、表達式2、表達式3的類型可以各不相同。運算規(guī)則如果“表達式1”的值為非0(即邏輯真),則運算結(jié)果等于“表達式2”的值;否則,運算結(jié)果等于“表達式3”的值。優(yōu)先級與結(jié)合性條件運算符的優(yōu)先級,高于賦值運算符,但低于關系運算符和算術運算符。其結(jié)合性為從右到左(即右結(jié)合性)。

6、條件運算符和條件表達式3.4運算符和表達式【例3-3】從鍵盤上輸入一個字符,如果是大寫字母,則將其轉(zhuǎn)換成小寫字母輸出;否則,直接輸出。#include<stdio.h>intmain(void){charch;

printf("Inputacharacter:");

scanf("%c",&ch);

ch=(ch>='A'&&ch<='Z')?(ch+32):ch;

printf("ch=%c\n",ch); return0;}

6、條件運算符和條件表達式3.4運算符和表達式為了為了節(jié)省內(nèi)存空間,在系統(tǒng)中常將多個標志狀態(tài)簡單地組合在一起,存儲到一個字節(jié)(或字)中。C語言提供了將標志狀態(tài)從標志字節(jié)中分離出來的位運算功能。位運算是按二進制位進行的運算,運算對象只能是整型(包括字符型)數(shù)據(jù),運算結(jié)果仍為整型。位運算符分為位邏輯運算符和位移位運算符。位邏輯運算符位邏輯運算符將數(shù)據(jù)中的每個二進制位上的“0”或“1”作為邏輯值,按位進行邏輯運算。位邏輯運算符分為按位非、按位與、按位或和按位異或(又稱按位加)四種。優(yōu)先級和結(jié)合性(1)~優(yōu)先于算術運算符優(yōu)先于關系運算符優(yōu)先于&優(yōu)先于^優(yōu)先于|優(yōu)先于雙目邏輯運算符;(2)~與單目的邏輯運算符、自增、自減、算術、長度運算符的優(yōu)先級相同,結(jié)合性是從右至左。

7、位運算符和位運算表達式3.4運算符和表達式按位與&

對應位均為1時才為1,否則為0:3&9=1。例如,3&9=1:0011&1001 ──── 0001=1

其作用是取(或保留)1個數(shù)的某(些)位,其余各位置0。

按位或|

對應位均為0時才為0,否則為1:3|9=11。例如,3|9=11:0011 |1001──── 1011=11

其作用是將1個數(shù)的某(些)位置1,其余各位不變。

7、位運算符和位運算表達式3.4運算符和表達式(3)按位異或^對應位相同時為0,不同時為1:3^9=10。其作用是使1個數(shù)的某(些)位翻轉(zhuǎn)(即原來為1的位變?yōu)?,為0的變?yōu)?),其余各位不變。(4)按位取反~各位翻轉(zhuǎn),即原來為1的位變成0,原來為0的位變成1:在IBM-PC機中,~0=0xffff,~9=0xfff6。其作用是間接地構(gòu)造一個數(shù),以增強程序的可移植性。位移位運算符位移位運算符是將數(shù)據(jù)作為二進制數(shù),進行向左或向右移動若干位的運算,分為左移(<<)和右移(>>)兩種,均為雙目運算符,其中第一個運算對象是移位對象,第二個運算對象是移動的二進制位數(shù)。移位規(guī)則優(yōu)先級和結(jié)合性(1)算術運算符優(yōu)先于位移位運算符優(yōu)先于關系運算符;(2)位移位運算符的優(yōu)先級相同,結(jié)合性是從左至右。無符號數(shù)左移舍去←←←…←←

←0補入無符號數(shù)右移補入0→→→…→→→舍去

有符號數(shù)左移舍去←←←…←←

←0補入

有符號數(shù)右移

→→…→→→舍去

格式長度運算符是單目運算符,其運算對象可以是任何數(shù)據(jù)類型符或變量。sizeof(數(shù)據(jù)類型符)或sizeof(變量)優(yōu)先級和結(jié)合性(1)與單目算術運算符、單目邏輯運算符、自增和自減運算符的優(yōu)先級相同。(2)上述相同優(yōu)先級的運算符的結(jié)合性是從右至左。8、長度運算符3.4運算符和表達式自動類型轉(zhuǎn)換參與運算的各個數(shù)據(jù)都轉(zhuǎn)換成數(shù)據(jù)長度較長的數(shù)據(jù)類型,然后計算,結(jié)果的類型就是數(shù)據(jù)長度較長的數(shù)據(jù)類型。本質(zhì)上是較低類型向較高類型的轉(zhuǎn)換,即“就高不就低”或“就長不就短”的原則。

說明(1)橫向向左的箭頭,表示必須的轉(zhuǎn)換。char和short型必須轉(zhuǎn)換成int型,float型必須轉(zhuǎn)換成double型。(2)縱向向上的箭頭,表示不同類型的轉(zhuǎn)換方向。例如int型與double型數(shù)據(jù)進行混合運算,則先將int型數(shù)據(jù)轉(zhuǎn)換成double型,然后在兩個同類型的數(shù)據(jù)間進行運算,結(jié)果為double型。注意:箭頭方向只表示數(shù)據(jù)類型由低向高轉(zhuǎn)換,不要理解為int型先轉(zhuǎn)換成unsigned型,再轉(zhuǎn)換成long型,最后轉(zhuǎn)換成double型。3.5數(shù)據(jù)類型轉(zhuǎn)換賦值類型轉(zhuǎn)換先將運算結(jié)果的數(shù)據(jù)類型自動轉(zhuǎn)換為左邊變量的數(shù)據(jù)類型,然后再賦予該變量。本質(zhì)上是“就左不就右”的轉(zhuǎn)換規(guī)則。例如運算結(jié)果為單精度實型,而要賦值的變量是雙精度實型,則先將運算結(jié)果自動轉(zhuǎn)換為雙精度實型,然后再賦予雙精度實型的變量。

例如,int

a=1;floatb=2.1;charc='a';則表達式a=b+c的計算過程是先計算b+c,按照“就高不就低”的規(guī)則,將c轉(zhuǎn)換為實型(字符c的值是97,轉(zhuǎn)換后為97.0),計算結(jié)果是實型,即99.1,由于變量a是整型,按照“就左不就右”的規(guī)則,所以將實型自動轉(zhuǎn)換為整型賦予變量a,即99賦值給變量a。3.5數(shù)據(jù)類型轉(zhuǎn)換強制類型轉(zhuǎn)換除自動轉(zhuǎn)換外,C語言也允許強制轉(zhuǎn)換。一般格式為:

(數(shù)據(jù)類型)(表達式)C語言首先按照自動類型轉(zhuǎn)換原則計算表達式的值,然后將其轉(zhuǎn)換為指定的數(shù)據(jù)類型。需要注意的是,若表達式僅僅是單個常量或變量時,外面的一對圓括號可以缺??;若是含有運算符的表達式,則必須用一對圓括號括起來。(double)a/*等價于(double)(a),將變量a的值轉(zhuǎn)換成double型*/(int)(x+y)

/*將x+y的結(jié)果轉(zhuǎn)換成int型*/(float)5/2/*等價于(float)(5)/2,將5轉(zhuǎn)換成實型,再除以2(=2.5)*/(float)(5/2)

/*將5整除2的結(jié)果,(2)轉(zhuǎn)換成實型(2.0)*/注意:強制轉(zhuǎn)換類型得到的是一個所需類型的中間量,原表達式類型并不發(fā)生變化。例如(double)a只是將變量a的值轉(zhuǎn)換成一個double型的中間量,其數(shù)據(jù)類型并未轉(zhuǎn)換成double型。3.5數(shù)據(jù)類型轉(zhuǎn)換ThankYou!第4章結(jié)構(gòu)化程序設計4.1結(jié)構(gòu)化程序設計方法結(jié)構(gòu)化程序三種基本結(jié)構(gòu)4.2順序結(jié)構(gòu)程序設計4.34.4選擇結(jié)構(gòu)程序設計4.5循環(huán)結(jié)構(gòu)程序設計本章內(nèi)容導讀本章主要介紹結(jié)構(gòu)化程序設計方法以及與三種基本結(jié)構(gòu)相關的語句。通過學習本章,讀者應掌握以下內(nèi)容:了解結(jié)構(gòu)化程序的三種基本結(jié)構(gòu);掌握字符和格式輸入/輸出函數(shù)的調(diào)用格式和功能;掌握單、雙和多分支選擇語句的格式和功能;掌握while語句、do-while語句、for語句、break語句和continue語句的格式和功能。結(jié)構(gòu)化程序設計(StructuredProgramming)以模塊功能和處理過程設計為主的詳細設計的基本原則。1965年由E.W.Dijkstra

提出?;舅悸钒岩粋€復雜問題的求解過程分階段進行,每一階段處理的問題都控制在人們?nèi)菀桌斫夂吞幚淼姆秶鷥?nèi)。具體方法自頂向下,逐步求精模塊化設計結(jié)構(gòu)化編碼4.1結(jié)構(gòu)化程序設計方法一、順序結(jié)構(gòu)二、選擇結(jié)構(gòu)三、

循環(huán)結(jié)構(gòu)4.2結(jié)構(gòu)化程序三種基本結(jié)構(gòu)

順序結(jié)構(gòu)是按書寫順序依次執(zhí)行語句操作。1、順序結(jié)構(gòu)4.2結(jié)構(gòu)化程序三種基本結(jié)構(gòu)單分支選擇結(jié)構(gòu)僅包含一個條件,其功能是根據(jù)條件是否成立,決定是否執(zhí)行某個操作。

注:表達式可以是任意表達式,若“非0”則執(zhí)行操作。

操作條件否是2、選擇結(jié)構(gòu)4.2結(jié)構(gòu)化程序三種基本結(jié)構(gòu)雙分支選擇結(jié)構(gòu)

僅包含一個條件,其功能是根據(jù)條件是否成立,決定從兩個操作中選取一個操作執(zhí)行。操作1操作2條件是否2、選擇結(jié)構(gòu)4.2結(jié)構(gòu)化程序三種基本結(jié)構(gòu)多分支選擇結(jié)構(gòu)

包含n(n>1)個條件,其功能是根據(jù)某個條件是否成立,從n+1個操作中選取一個操作執(zhí)行。表達式1否操作2是操作1表達式2否表達式n否操作n+1操作n

是是2、選擇結(jié)構(gòu)4.2結(jié)構(gòu)化程序三種基本結(jié)構(gòu)

當型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)次數(shù)型循環(huán)結(jié)構(gòu)3、循環(huán)結(jié)構(gòu)4.2結(jié)構(gòu)化程序三種基本結(jié)構(gòu)順序結(jié)構(gòu)的程序組成(1)程序開頭的編譯預處理命令。

程序中要使用的庫函數(shù)(又稱系統(tǒng)函數(shù)),除了printf()和scanf()函數(shù)外,其它的都必須使用編譯預處理命令將相應的頭文件包含進來。(2)順序結(jié)構(gòu)的程序由完成具體功能的各個語句和運算組成。主要包括:變量類型的說明提供數(shù)據(jù)的語句運算部分輸出部分4.3順序結(jié)構(gòu)程序設計格式一變量=表達式;功能:計算表達式的值,然后賦予變量。格式二變量復合賦值運算符表達式;功能:將變量和表達式進行指定的算術或位運算后,再將運算結(jié)果賦予變量。C語言中事先編好的函數(shù)(稱為庫函數(shù)或系統(tǒng)函數(shù))或用戶自定義函數(shù)(用戶函數(shù))都是通過函數(shù)調(diào)用實現(xiàn)其功能的,并獲得函數(shù)的返回值。格式函數(shù)名(參數(shù)1,參數(shù)2,…,參數(shù)n);

功能:調(diào)用指定的庫函數(shù)或用戶自定義函數(shù),對圓括號中的參數(shù)進行該函數(shù)指定的運算,運算結(jié)果作為函數(shù)的返回值返回。1、賦值語句2、函數(shù)調(diào)用語句4.3順序結(jié)構(gòu)程序設計格式表達式;功能:計算表達式的值。格式

{語句1;語句2;…語句n;

}功能:依次執(zhí)行語句1,語句2,…,語句n。說明(1)復合語句可以包含多條語句,但整體上是作為一條語句看待。(2)復合語句中若有數(shù)據(jù)定義語句,則應放在復合語句中其它語句的前面。3、表達式語句4、復合語句4.3順序結(jié)構(gòu)程序設計C語言中的輸入和輸出操作,均是利用C語言編譯系統(tǒng)提供的庫函數(shù)實現(xiàn)的,C語言本身并沒有提供這兩類語句。

字符輸出函數(shù)putchar()調(diào)用格式:putchar(ch)功能:把一個字符輸出到標準輸出設備(顯示器)。

參數(shù):ch可以是一個整型變量、字符型變量、整型常量或字符型常量,也可以是一個轉(zhuǎn)義字符或整型表達式,但不能是字符串。

返回值:輸出ch對應的單個字符。

說明:源程序(文件)開頭需要加入編譯預處理命令#include<stdio.h>或#include"stdio.h"。5、字符輸入/輸出函數(shù)4.3順序結(jié)構(gòu)程序設計

字符輸入函數(shù)getchar()

調(diào)用格式:getchar()功能:從標準輸入設備(鍵盤)上讀入一個字符。

參數(shù):無參數(shù)。

返回值:輸入的單個字符。

說明(1)getchar()函數(shù)只能用于單個字符的輸入,一次輸入一個字符。輸入的數(shù)字也是按字符處理。當輸入多于一個字符時,只接收第一個字符。(2)getchar()函數(shù)輸入的字符可以賦給一個字符變量或整型變量,也可以不賦給任何變量,而作為表達式的一部分。(3)源程序(文件)開頭需要加入編譯預處理命令#include<stdio.h>或#include"stdio.h"。5、字符輸入/輸出函數(shù)4.3順序結(jié)構(gòu)程序設計格式輸出函數(shù)printf()調(diào)用格式:printf(格式控制字符串,輸出項表)功能:按照用戶指定的格式把指定的數(shù)據(jù)顯示到標準輸出設備(顯示器)。

說明(1)格式說明符與輸出項一一對應,若格式說明符的個數(shù)少于輸出項個數(shù)時,則多余的輸出項不輸出;若格式說明符的個數(shù)多于輸出項個數(shù)時,則對缺少的項輸出不確定值。(2)不需要編譯預處理命令。格式輸入函數(shù)scanf()調(diào)用格式:scanf(格式控制字符串,輸入項首地址表)功能:從鍵盤按照“格式控制字符串”中規(guī)定的格式讀取若干個數(shù)據(jù),然后按照“輸入項首地址表”中的順序,依次將數(shù)據(jù)存入相應的變量。

說明:不需要編譯預處理命令。6、格式輸入/輸出函數(shù)4.3順序結(jié)構(gòu)程序設計printf(格式控制字符串,輸出項表)普通字符(原樣輸出)格式說明符

%+/-0m.nl格式字符正號左對齊域?qū)捵笱a0當輸出實型數(shù)據(jù)時,表示輸出n位小數(shù);當輸出字符串時,表示截取前n個字符輸出。在格式字符d、o、x和u之前輸出長整型數(shù)據(jù);在格式字符e、f、g之前輸出雙精度實型數(shù)據(jù)。d:以有符號的十進制整數(shù)形式輸出;o:以八進制無符號形式輸出整型數(shù);X或x:以十六進制無符號形式輸出整型數(shù);c:輸出一個字符(只占一列寬度);s:輸出字符串;f:以小數(shù)形式、按系統(tǒng)默認的寬度,輸出單精度和雙精度實數(shù)。

scanf(格式控制字符串,輸入項首地址表)普通字符(原樣輸入)格式說明符

%mhl*格式字符域?qū)捿斎攵陶蛿?shù)據(jù),可用在格式字符d、i、o、x之前。表示本輸入項在讀入后不賦予相應的變量。在格式字符d、o、x和u之前輸入長整型數(shù)據(jù);在格式字符e、f、g之前輸入雙精度實型數(shù)據(jù)。d:以十進制有符號形式輸入整型數(shù)據(jù);o:以八進制無符號形式輸入整型數(shù)據(jù);X或x:以十六進制無符號形式輸入整型數(shù)據(jù);c:輸入一個字符;s:將一個字符串輸入到字符數(shù)組;f、e:輸入實型數(shù)據(jù)。注意①如果相鄰兩個格式字符之間,沒有指定數(shù)據(jù)分隔符(如逗號、冒號等),則相應的兩個輸入數(shù)據(jù)之間,至少用一個空格分開,或者用Tab鍵分開,或者輸入一個數(shù)據(jù)后按回車,然后再輸入下一個數(shù)據(jù)。例如int

num1,num2;

scanf("%d%d",&num1,&num2);若num1輸入12,num2輸入36,則正確的輸入操作如下:12□36←┘或者12←┘36←┘②輸入實數(shù)時不能規(guī)定精度。例如,floatx;

scanf("%7.2f",&x);是錯誤的。

注意③格式控制字符串”中出現(xiàn)的普通字符(包括轉(zhuǎn)義字符),務必原樣輸入。例如int

num1,num2;scanf("%d,%d",&num1,&num2);若num1輸入12,num2輸入36,則正確的輸入操作如下:12,36←┘

&變量名④在以%d、%f、%lf、%e輸入數(shù)值型數(shù)據(jù)時,遇到以下情況,系統(tǒng)認為數(shù)據(jù)輸入結(jié)束。遇到空格或回車鍵或者Tab鍵輸入結(jié)束,可用它們作為數(shù)據(jù)之間的分隔符。遇到寬度結(jié)束。例如“%3d”,只取3列,即系統(tǒng)自動按域?qū)捊厝∷钄?shù)據(jù)。遇到輸入數(shù)據(jù)與格式說明符類型不一致,則輸入結(jié)束。遇到非法輸入結(jié)束。例如在輸入數(shù)值型數(shù)據(jù)時,遇到字母等非數(shù)值符號(數(shù)值符號僅由數(shù)字字符0~9、小數(shù)點和正、負號構(gòu)成)。注意⑤在“格式控制字符串”中除了格式字符外還有其它字符,則在輸入數(shù)據(jù)時應輸入與這些字符相同的字符。例如int

x,y;scanf("%d,%d",&x,&y);則正確的輸入操作如下:1,2←┘⑥以“%c”輸入單個字符時,空格、回車鍵和轉(zhuǎn)義字符均作為有效字符輸入,因此輸入的數(shù)據(jù)之間不需要分隔符。例如charch1,ch2,ch3;

scanf("%c%c%c",&ch1,&ch2,&ch3);若從鍵盤輸入A□B□C←┘則將'A'賦值給ch1,空格'□'賦值給ch2,'B'賦值給ch3。正確的輸入是連續(xù)輸入3個字符,中間不加空格,即:xyz←┘單分支選擇語句格式if(表達式)語句;功能:計算表達式的值,若為“真”(非0),則執(zhí)行語句;否則不執(zhí)行語句。

注:表達式可以是任意表達式,語句可以是任何語句(除了數(shù)據(jù)定義語句),也可以是另一個if語句(稱為嵌套的if語句,后面將介紹)。語句表達式0非04.4選擇結(jié)構(gòu)程序設計if-else語句(雙分支選擇語句)格式if(表達式)語句1;

else語句2;功能:計算表達式的值,若為“真”(非0),則執(zhí)行語句1;否則執(zhí)行語句2。語句1語句2表達式非004.4選擇結(jié)構(gòu)程序設計【例4-1】輸入一個整數(shù),判斷奇偶。#include<stdio.h>intmain(void){

intn;

printf("Inputanumber\n");

scanf("%d",&n);

if(n%2==0)

printf("Thenumberiseven\n");

else

printf("Thenumberisodd\n");return0;}

Inputanumber

100ThenumberisevenInputanumber25Thenumberisodd例

if

(n>0)

if(a>b)c=a;

elsec=b;if語句允許嵌套,在if語句中包括一個或多個if語句。if語句的嵌套(分支嵌套的一般形式)這種嵌套是在if-else語句的任一分支上嵌套單分支的if選擇結(jié)構(gòu)或雙分支的if選擇結(jié)構(gòu)。注:else總是與前面最近的并且沒有與其他else匹配的if相匹配。例

if(n>0){if(a>b)c=a;}

elsec=b;

4.4選擇結(jié)構(gòu)程序設計【例4-2】求一個點所在的象限。#include<stdio.h>intmain(void){ floatx,y;

printf("Inputthecoordinateofapoint\n");

printf("x=");

scanf("%f",&x);

printf("y=");

scanf("%f",&y);

if(x>0)

if(y>0)printf("Thepointisin1stquadrant.\n");elseprintf("Thepointisin4thquadrant.\n");else

if(y>0)printf("Thepointisin2ndquadrant.\n");elseprintf("Thepointisin3rdquadrant.\n");return0;}

Inputthecoordinateofapointx=5y=3Thepointisin1stquadrant.Inputthecoordinateofapointx=-2y=-7Thepointisin3rdquadrant.

if-else-if語句的嵌套(分支嵌套的特殊形式)這種嵌套是在每一層else分支下嵌套一個if-else語句。if(表達式1)語句1Elseif(表達式2)語句2

elseif(表達式3)語句3

……

elseif(表達式n)語句n

else語句n+1表達式1假(0)語句2真(非0)語句1表達式2假(0)表達式n假(0)語句n+1語句n真(非0)真(非0)4.4選擇結(jié)構(gòu)程序設計switch-case語句(多分支選擇語句)格式switch(表達式){case常量表達式1:

語句組1

break;

case常量表達式2:

語句組2

break;

……case常量表達式n:

語句組nbreak;

default:

語句組n+1}表達式語句組1語句組2語句組n語句組n+1=常量表達式1=常量表達式2=常量表達式n=default…………breakbreakbreak說明(1)每個case后面的“常量表達式”的值,必須各不相同,否則會出現(xiàn)相互矛盾的現(xiàn)象(即對表達式的同一值,有兩種或兩種以上的操作)。(2)case后面的“常量表達式”僅起到語句標號的作用,并不進行條件判斷。系統(tǒng)一旦找到入口標號,即從此標號開始執(zhí)行,不再進行標號判斷,所以必須加上break語句,以便結(jié)束switch語句。(3)程序的執(zhí)行結(jié)果與各case和default子句的先后次序無關。(4)多個case子句,可共用同一個語句(組)。(5)switch語句實現(xiàn)的多分支選擇結(jié)構(gòu),完全可以用if語句或if語句的嵌套來實現(xiàn)。(6)break語句是C語言的一種語句,其功能是中斷正在執(zhí)行的語句,將在本章第五節(jié)介紹。在switch語句中它的作用是執(zhí)行完某一語句(組)后,退出該switch語句,無條件轉(zhuǎn)至switch語句的下一條語句。若省略break語句,則執(zhí)行完某一語句(組)后,將繼續(xù)執(zhí)行switch語句中其后的所有語句(組)。(7)default及其后面的語句(組)可以省略。省略時,若表達式的值和n個常量表達式的值均不同,則不執(zhí)行任何操作就退出該switch語句。(8)語句組不需要用一對花括號{}括起來。(9)switch語句允許嵌套?!纠?-3】switch語句嵌套的實例。#include<stdio.h>intmain(void){

intx=1,y=0,a=0,b=0;

switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}

printf("a=%d,b=%d\n",a,b);return0;}

a=2,b=1例如,計算1-100的累計和。根據(jù)已有的知識,可以用1+2+……+100求解,但顯然很繁瑣?,F(xiàn)在換個思路來考慮:首先設置一個累計器sum,其初值為0,利用sum+=n計算(n依次取1、2、……、100),只要解決以下3個問題即可:將n的初值置為1;每執(zhí)行1次sum+=n后,n增1;

當n增到101時,停止計算。此時,sum的值就是1至100的累計和。

根據(jù)已有的知識,單獨實現(xiàn)每一步都不難。但是,由于需要經(jīng)常使用這種重復計算結(jié)構(gòu)(稱為循環(huán)結(jié)構(gòu)),C語言提供了當型循環(huán)結(jié)構(gòu)、直到型循環(huán)結(jié)構(gòu)和次數(shù)型循環(huán)三種循環(huán)結(jié)構(gòu)實現(xiàn)。提供了while、do-while和for三種循環(huán)語句實現(xiàn)上述三種循環(huán)結(jié)構(gòu)。4.5循環(huán)結(jié)構(gòu)程序設計格式

while(表達式)語句;功能:計算表達式的值,當其值為“真”(非0),則執(zhí)行語句;重復執(zhí)行上述操作,直至表達式的值為“假”(0)時為止。說明(1)語句又稱為“循環(huán)體”,可以是任何語句(除了數(shù)據(jù)定義語句外),通常是復合語句。(2)表達式稱為“循環(huán)控制條件”,可以是任何類型的表達式,常用關系型或邏輯型表達式。(3)先判斷,后執(zhí)行循環(huán)體,即表達式不成立時,循環(huán)體最少執(zhí)行0次;(4)當循環(huán)體內(nèi)無改變表達式的語句(如

i++)時,while(1)是死循環(huán)。(5)若循環(huán)體中又含有“循環(huán)語句”,則稱為循環(huán)的嵌套,即多重循環(huán)。while表達式語句0非01、while語句4.5循環(huán)結(jié)構(gòu)程序設計格式

do語句;

while(表達式);功能(1)執(zhí)行語句;(2)計算表達式,如果其值為“真”(非0),則轉(zhuǎn)至(1)繼續(xù)循環(huán);否則,轉(zhuǎn)至(3);(3)執(zhí)行do-while語句的下一條語句。說明(1)先執(zhí)行循環(huán)體,后判斷。無論表達式成立不成立,循環(huán)體最少執(zhí)行1次。(2)

do-while語句能夠?qū)崿F(xiàn)的功能for語句也能實現(xiàn),而且更簡潔。do表達式語句0非02、do-while語句4.5循環(huán)結(jié)構(gòu)程序設計格式for(表達式1;表達式2;表達式3)語句;說明①表達式1的作用變量賦初值;表達式2的作用是控制循環(huán)的條件;表達式3的作用是循環(huán)后修正變量,使循環(huán)趨向結(jié)束。②表達式1可以是任何類型,其后面有一個分號,表達式1可以省略

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論