




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C+的特點:1.支持抽象數據類型 2.多態性,一個接口,多重算法,支持早期聯編和滯后聯編3.繼承性,保證了代碼復用,支持分類的概念一個c+程序由一個或多個函數構成,并且在這些函數中只有一個主函數main,它是程序執行的入口。C+程序嚴格區別字母的大小寫。第2章 基本數據類型、運算符與表達式【內容提要】數據類型變量與常量運算符與表達式簡單輸入與輸出【重點與難點】2.1 數據類型在C+程序里,每個名字都有一個與之相關聯的類型,這個類型決定了可以對這個名字所指代的實體應用什么操作,并決定這些操作將如何做出解釋。數據類型基本數據類型復合數據類型字符型 char結構類型 struct枚舉類型 enum單
2、精度型 float數組類型 Type雙精度型 double布爾型 bool浮點型指針類型 Type*聯合類型 union類類型 class空類型 void整型 int圖2.1 C+的數據類型圖中Type表示非控數據類型。2.1.1 基本數據類型l 邏輯型:又稱布爾型,用關鍵字bool表示。有兩個值true或false。true可以轉換成整數1,false可以轉換成整數0。與此對應,整數也可以隱式的轉換成bool值:非0的整數轉換成true,0轉換成false。l 字符型:用關鍵字char表示。取值包含具體實現所用的字符集里的一個字符。字符型數據通常占用1個字節的存儲空間。l 整型:用關鍵字in
3、t表示。取值是計算機所能表示的所有整數。l 浮點型:包括單精度型(float)和雙精度型(double)。單精度型通常占用4個字節的存儲空間,雙精度型通常占用8個字節的空間。l 空類型:用關鍵字void表示。用于說明某個函數沒有返回值。沒有void類型的對象。在基本的數據類型前可以添加修飾符,以改變基本類型的意義。signed:有符號。 unsigned:無符號。unsigned和signed只用于修飾char和int,且signed修飾詞可以省略。當用unsigned修飾詞時,后面的類型說明符可以省略。對于有符號和無符號的整型數據,它們所占的存儲空間的大小相同,但它們的表數范圍卻不相同(對字
4、符型意義相同)。short:短型。只用于修飾int,且用short修飾時,int可以省略。long:長型。只用于修飾int和double。當用long修飾int時,int可以省略。數據類型的描述確定了其內存所占空間的大小,也確定了其表示范圍。用sizeof(數據類型)可以確定某數據類型的字節長度。請讀者查看在你所用的機器上,下面類型的最大值和最小值是什么:char、short、int、long、float、double、long double 、unsigned。2.1.2 復合數據類型l 數組:由具有相同數據類型的元素組成的集合。 l 結構體:由不同的數據類型構成的一種混合的數據結構,構成結
5、構體的成員的數據類型一般不同,并且在內存中分別占據不同的存儲單元。 l 共用體:是類似于結構體的一種構造類型,與結構體不同的是構成共同體的數據成員共用同一段內存單元。l 枚舉:將變量的值一一列舉出來,每個枚舉成員(枚舉符)都與一個整數相對應。按默認方式,枚舉符所賦的值從0開始遞增。枚舉的值也可以用整型的表達式賦值進行初始化。如果某個枚舉中所有枚舉符的值均非負,該枚舉的表示范圍是0: 2K -1,其中2K是能使所有枚舉符位于此范圍內的最小的2的冪;如果存在負的枚舉符值,該枚舉的取值范圍就是-2K:2K -1。l 指針類型:指針類型變量用于存儲另一變量的地址,而不能用來存放基本類型的數據。它在內存
6、中占據一個存儲單元。 l 類類型:類是體現面向對象程序設計的最基本特征,也是體現C+與C最大的不同之處。類是一個數據類型,它定義的是一種對象類型,由數據和方法組成,描述了屬于該類型的所有對象的性質。 2.2變量與常量2.1.1 變量:指在運行期間其值可以改變的量。變量有三個特征:變量類型、變量名、變量值。l 命名:遵循標識符命名規則。標識符是對實體定義的一種定義符,用來標識用戶定義的常量名、變量名、函數名、文件名、數組名、和數據類型名和程序名等。只能由字母、數字和下劃線組成,且以字母或下劃線開頭。命名時注意以下幾點:1C+的關鍵字不能用作用戶自定義的實體名;2以下劃線開頭的名字是保留給實現或者
7、運行環境,用于特殊目的,在應用程序里不要采用這樣的名字;3大寫與小寫字母是區分的;4見名知義。5維持統一的命名風格。l 定義:格式: =,l typedef:為某種類型聲明一個新名字,而不是定義一種新類型。格式:typedef 2.1.2 常量:程序執行期間其值不變的量。主要有下列幾類常量。l 布爾常量l 字符常量用單引號括起的一個字符。在內存中,字符數據以ASCII碼存儲,如字符a的ASCII碼為97。以轉義字符開始的字符常量后跟不同的字符表示不同的特殊字符。l 字符串常量由一對雙引號括起來的零個或多個字符序列。 字符串可以寫在多行上,不過在這種情況下必須用反斜線表示下一行字符是這一行字符的
8、延續。 字符串常量實際上是一個字符數組,組成數組的字符除顯示給出的外,還包括字符結尾處標識字符串結束的符號0,所以字符串“abc”實際上包含4個字符:a、b、c和0。注意字符常量與字符串常量在表示、存儲、運算方面的區別。l 整型常量可以用十進制、八進制或十六進制表示。 十進制常量 :一般占一個機器字長,是一個帶正負號的常數(默認情況下為正數)。 八進制常量 :由數字0開頭,其后由若干0-7的數字組成,如0378,0123等。十六進制常量:以0x或0X開頭,其后由若干0-9的數字及A-F(或小寫a-f)的字母組成,如0x123,0x3ab。l 浮點型常量只能以十進制形式表示。共有兩種表示形式:小
9、數表示法和指數表示法。 如:11.3、.2、2.3e10、-2.3E-1等。l 枚舉常量枚舉聲明形式: enum ;枚舉符可以有兩種形式:/= l 符號常量定義形式:const =,;表示可選項,以下都采用這種標記。定義的符號常量必須初始化。一個符號常量可看作是一個只讀變量,由const定義的常量的值不可以改變。const的最常見的用途是作為數組的界和作為分情況標號。2.3 運算符與表達式在程序中,表達式是計算求值的基本單位,它是由運算符和運算數組成的式子。運算符是表示進行某種運算的符號。運算數包含常量、變量和函數等。C+語言的運算符按其在表達式中與運算對象的關系(連接運算對象的個數)可分為:
10、單目運算、雙目運算、三目運算。C+運算符一覽表名稱運算符舉例優先級結合性作用域區分符:x1左結合性分量運算符. -p.next,p-next2函數調用運算符()fac()下標運算符p10后增量、后減量前增量、前減量+ -+ -p+-p23右結合性求字節運算符sizeofsizeof(int)3正號、負號+ -1,+3指針運算符* 和 &*p,&x分配、回收空間運算符New deletep=new int;delete p;強制類型轉換運算符(type)(int)x算術運算符* / % + -3%5(取模)45左結合性左移、右移83, 836關系運算符 = !=3b?x:y14右結合性賦值運算符
11、= 及其擴展(+= -= *= /= %= 等)a=2a+=215逗號運算符,a=1,b=2,c=316左結合性表2.1 C+運算符一覽表2.4 簡單輸入與輸出在C+中,I/O使用了流的概念-字符(或字節)流。每一個I/O 設備傳送和接收一系列的字節,稱之為流。輸入操作可以看成是字節從一個設備流入內存,而輸出操作可以看成是字節從內存流出到一個設備。要使用C+標準的I/O流庫的功能,需要包括兩個頭文件:iostream.h用于提供基本的輸入輸出功能,iomanip.h用于提供格式化的功能。2.4.1 I/O的書寫格式(基本數據類型的輸入輸出)頭文件iostream.h包含有cin和cout對象,
12、對應于標準輸入流和標準輸出流。流讀取運算符“”表示流的輸入,可以從cin輸入流中讀取字符;流插入運算符“”表示流的輸出,可以向cout輸出流插入字符。如:cout”hello world.”ij; /輸入i,j的值2.4.2使用控制符(基本數據類型輸入輸出的格式控制)C+中提供了大量的用于執行格式化輸入輸出的格式控制符,具體名稱及作用請參看表2.2。控制符描述所在頭文件dec 置基數為10iostream.hhex置基數為16oct置基數為8setfill(c)設填充字符為csetprecision(n)設顯示小數精度為n位setw(n)設域寬為n個字符setiosflags(ios:fixe
13、d)固定的浮點顯示iomanip.hsetiosflags(ios:scientific)指數表示setiosflags(ios:left)左對齊setiosflags(ios:right)右對齊setiosflags(ios:skipws)忽略前導空白setiosflags(ios:uppercase)16進制數大寫輸出setiosflags(ios:lowercase)16進制數小寫輸出setiosflags(ios:showpoin)顯示小數點setiosflags(ios:showpos)顯示符號(正負號)setiosflags(ios:showbase)指定在數值前輸出進制(0表示八
14、進制,0x或0X表示十六進制)表2.2 I/O流的常用控制符【典型例題】例題1:對以下各種數據類型比較所占用存儲空間的大小: (1)char、int、short int、long int、double、long double. (2) signed int、unsigned int.解答:(1) 本題主要考查的知識點是各種類型所占用的存儲空間的大小以及相應的表數范圍。在32位計算機中,char占1個字節,short int 占2個字節,int占4個字節,long int占4個字節,double占8個字節。sizeof運算符用于求解某種數據類型的大小。short和long在修飾整型時可以省略in
15、t。答案為: (2)對于一種確定的數據類型有符號數與無符號數所占的存儲空間相同,表數范圍不同。修飾符signed和unsigned只能用于修飾字符型和整型。答案為: 例題2:下列哪一項能用作用戶自定義的標識符: (a)const (b)2var (c)my name (d)var2解答:本題主要考查標識符命名規則。C+關鍵字不能用于用戶自定義標識符,(a)中const是關鍵字;第一個字符必須是字母或下劃線,(b)中2var是以數字開頭;不能含有空格,(c)中my name含有空格。答案為:d。例題3:指出下列程序中的錯誤:_。int main()const int x; x=100; retu
16、rn 0;解答:本題主要考查對符號常量的理解。const定義的符號常量必須初始化,由const定義的常量的值不可以改變。所以本題有兩處錯誤:第一、沒有對符號常量x進行初始化;第二、給符號常量賦值是錯誤的。 例題4:給下列表達式加上全部的括號(假設所用變量均已定義):(1) a+b-c-%b(2) ab?b:cd?a:cb?b:(cd?a:(cb?(ac?a:c):(bc?b:c)。(2) 主要考查對邏輯表達式的理解和書寫。答案為:1=age&age=100。(3) 主要考查如何在計算機中表示一個數學公式。答案為:(a+b)*h/2。(4) 主要考查對邏輯表達式的理解和書寫。答案為:(year%
17、4=0&year%100!=0)|(year%400=0)。例題6:下列選項中兩個表達式的運算結果相同的是( )。(a)3/2和3.0/2.0 (b)3/2和3.0/2 (c) 3/2.0和3.0/2.0 (d) 3/2.0和3/2解答:本題考查數據類型及表達式中數據類型的隱式轉換。3/2中兩個操作數都為整型,運算結果仍為整型即1;3.0/2和3/2.0中一個操作數為整型另一個為浮點型,運算時整型隱式轉換為浮點型,運算結果也為浮點型即1.5;3.0/2.0兩個操作數均為浮點型,結果也為浮點型即1.5。答案為:(c)。例題7:下列程序的運行結果為:_。#includevoid main()int
18、 a=2,b=4,i=0,x; x=ab&+i;coutx:xendl;couti:ib為假,所以表達式ab&+i為假,而+i沒有執行。故i為0。答案為:x:0 i:0例題8:求解下列各表達式的值(其中x的值為100)。(1) (a=1,b=2,c=3)(2) 1|35(3) a+3&!0%1(4) x%2?“odd”:” even” 解答:(1) 逗號表達式的值是其最后一個表達式的值。答案為:3。(2) 運算符的優先級高于|運算符,所以先算35結果為96(二進制),然后與1做按位與運算則結果為97(二進制)。答案為:97。(3) 參與本題的運算符,按優先級由高到低依次是:!運算符、算術運算符
19、、邏輯運算符。a+3時字符型首先隱式轉換成整型然后相加結果為100,!0%1即1%1結果為0,100&0結果為0。答案為:0。(4) 算術表達式的優先級高于條件表達式,所以先算x%2結果為0,0?”odd”:”even”結果為”even”。本題完成判斷一個數是奇數還是偶數,若該數為奇數,則表達式的值為”odd”,為偶數,則表達式的值為”even”。答案為:”odd”。例題9:下列程序運行結果為:_。#include#includevoid main() int a=23; double b=23.; coutatbendl; coutsetprecision(0)bendl; coutseti
20、osflags(ios:fixed)setprecision(7)bendl; coutsetiosflags(ios:scientific)bendl; coutsetprecision(6); coutsetiosflags(ios:showbase); couthexataendl; coutdec; coutsetw(10)setfill(*)setiosflags(ios:left)aendl;coutsetfill( );解答:本題主要考查對格式化輸入輸出的掌握。本題主函數中第三行輸出a,b,t為轉義字符,其含義是跳過一個制表位。不設置輸出寬度時,默認輸出6位有效數字,超出部分四舍
21、五入。所以該行輸出為:23 23.1235。 setprecision(n)設置顯示精度,最少顯示一位有效數字。如果不重新設置,則其保持效力,所以使用完后要還原為6位默認值。第四行中設置setprecision(0)與setprecision(1)作用相同,結果顯示一位有效數字即為:2e+001。 setiosflags(ios:fixed)為固定的浮點顯示,其后跟setprecision(n)表示小數點后顯示精度為n。所以第五行輸出結果為:23.。 setiosflags(ios:scientific)為指數顯示,當其整數部分寬度大于設置的顯示精度(默認為6位)時,以指數形式顯示結果。否則根
22、據設置的(或默認的)顯示精度顯示n位有效數字。所以第六行輸出結果為:23.12346。 setiosflags(ios:showbase)為指定在數值前輸出進制。hex置基數為16,且該操作保持效力,所以使用完后應該恢復為默認值10進制。第九行輸出結果為:0x17 0x17。setw(n) 設域寬為n個字符,setfill(c) 設填充字符為c ,setiosflags(ios:left)為左對齊。第十一行輸出結果為:23*。答案為:23 23.12352e+00123.23.123460x17 0x1723*【習題】一、 選擇題1. 下列數據類型不是C+語言基本數據類型的是( )。(a)字符
23、型 (b)整型 (c)浮點型 (d)數組一、 下列字符列中,可作為C+語言程序自定義標識符是( )。選擇題2.(a)x (b)-var (c)new (d)3i3. 下列數中哪一個是8進制數( )。(a)0x1g (b)010 (c)080 (d)01b4. 已知a=1,b=2,c=3,則表達是+a|-b&+c的值為( )。(a)0 (b)1 (c)2 (d)35. 下列表達式選項中,( )是正確的。(a)+(a+) (b)a+b (c)a+b (d)a+b6. 已知枚舉類型定義語句為:( )。enum colorRED,BLUE,PINK=6,YELLOW,GREEN,PURPLE=15;則
24、下列敘述中錯誤的是( )。(a)枚舉常量RED的值為1 (b)枚舉常量BLUE的值為1(c)枚舉常量YELLOW的值為7 (d)枚舉常量PURPLE的值為157. 下列程序的運行結果正確的是( )。#include#includevoid main()const double pi=3.;coutsetprecision(3)piendlsetiosflags(ios:fixed)piendlsetprecision(8)setfill(*)setw(12)piendl;return;(a) 3.1423.142*3.(b) 3.143.142*3.(c) 3.143.143.*(d) 3.1
25、43.142*3.8. 若int x=3,y=5;則表達式x&y+%3的值為( )。(a)0 (b)1 (c)2 (d)39. 下列常量正確的是( )。(a) ”hello (b)1FL (c) 3.14UL (d) 1.8E-3 World” 10. 若char x=97;,則變量x包含幾個字符( )。(a)1個 (b)2個 (c)4個 (d)8個二、 填空題1. c+語言標示符是以字母或_開頭的,由字母、數字、下劃線組成。2. 在C+語言中,char型數據在內存中的存儲形式是_。3. 在內存中,存儲字符x占用1個字節,存儲字符串“x”要占用_個字節。4. 符號常量可以用宏定義define和
26、_表示。5. 轉義字符序列中的首字符是_。6. 空字符串的長度是_。7. 表達式coutn;還可以表示為_。8. 若要為unsigned int定義一個新的名字UINT應采用的語句是_。9. 以下程序不借助第3個變量實現a,b值得交換,請填空。#includeVoid main()int a,b;coutab;a=_a+b_;b=_a-b_;a=_(a-b)/2;coutatbendl;10. 大多數C+程序都要包含頭文件_。該文件中包含了所有輸入/輸出流操作所需的基本信息。當使用帶參數的操作時,程序中必須包含頭文件_。三、 編程題1. 編寫一個程序,輸入一個三位數,分別輸出該數的百位、十位和
27、個位。2. 編寫一個程序打印出各種基本數據類型、幾個你自己定義的復合數據類型的大小。使用sizeof運算符。【參考答案】一、 選擇題1 d2 a3 b4 b5 c6 a7 b8 c9 d10 a二、 填空題1 下劃線2 ASCII3 24 const5 6 07 coutendl;8 typedef unsigned int UINT;9 a+b a-b a-b10 iomanip.h iostream.h三、 編程題1#includevoid main()int num,var1,var2,var3;cout請輸入一個三位數:num;if(num999|num100) /用于檢查輸入數據的合
28、法性cout您的輸入有誤!endl;elsevar1=num/100;var2=(num-var1*100)/10;var3=num%10;cout百位數為:var1endl十位數為:var2endl個位數為:var3endl;2#include#includevoid main() int array10; enum monthJan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec; char *p;coutThe size of char is:sizeof(char)endl The size of int is:sizeof(int)endl T
29、he size of short int is:sizeof(short int)endl The size of long int is:sizeof(long int)endl The size of float is:sizeof(float)endl The size of double is:sizeof(double)endlThe size of long double is:sizeof(long double)endlThe size of signed int is:sizeof(int)endlThe size of unsigned int is:sizeof(unsi
30、gned)endlThe size of array is:sizeof(array)endlThe size of month is:sizeof(month)endlThe size of p is:sizeof(p)表達式1表達式2; 向屏幕輸出語句格式為: cout表達式1表達式2; 注意:連續輸入多項數據時應鍵入空白字符(包括空格鍵、回車鍵和Tab鍵)將相鄰的兩項數據分開。而連續輸出時,cout不會在相鄰數據項間加分隔符,為了增強顯示效果,用戶可通過控制符自定義顯示寬度,換行等(部分控制符在iomanip.h頭文件中聲明)。3.1.3 復合語句 C+語言允許把一組語句用一對花括號括起
31、來,構成一個復合語句。復合語句被視為一個獨立的單元它可以出現在程序中任何單個語句可以出現的地方復合語句不需要用分號作為結束。注意空語句;和空復合語句 是等價的。3.2 選擇控制語句 針對于不同情況采用不同的處理方式的問題,用選擇結構來實現。選擇語句包含:if語句和switch語句。3.2.1 if語句 if語句: 格式:if() 作用:當為真時,執行,否則直接執行if語句后邊的語句。這里的可以是一條語句,也可以是幾條語句,但對于多條語句的情況必須用 將幾條語句括起來構成復合語句,在if語句中當做一個整體處理。 ifelse語句: 格式:if() else 作用:當為真時,執行;當為假時,執行。
32、這里和可以是一條語句也可以是復合語句。說明:if語句有時可以用條件表達式替代。if語句支持多種形式的嵌套使用,但一般嵌套層次不超過三層。另外約定else總是與它上邊最近的一個if配對。為了防止語法或邏輯錯誤的發生,建議在較復雜的情形中使用花括號區分。3.2.2 switch語句 格式:switch()case :case :case :default: 作用:計算判斷它與哪個匹配,執行第一個相匹配的后的語句,直到遇到break轉去執行switch語句以外的語句;如果均不匹配則執行default后定義的語句(在default省略的情形中,直接執行switch語句以外的語句)。 說明: switc
33、h語句中的的值只能是整型、字符型或枚舉型表達式。switch語句中,case和其后的間必須有空格否則會產生邏輯錯誤。case后的的值是互不相同的,且它的類型與switch后的的類型一致。通常情況下,每個case分支語句結束后都要加一個break語句來結束switch語句。但在要表示一個范圍,或描述一類對象時(如A,B,C都屬于合格,D屬于不合格)有可能幾條case分支語句后才有一個break語句。switch語句與嵌套的if語句都可以用于處理多分支選擇的問題。3.3 循環控制語句對于同一個語句或同一組語句序列需要重復多次,則采用循環結構。C+提供了三種循環控制語句:while語句,dowhil
34、e語句,for語句。3.3.1 while語句 格式:while() 作用:判斷是否為真,若為真則執行,然后重復判斷,直到為假時跳出while循環執行其后的語句。說明:這里的可以是單條語句也可以是復合語句。當在循環開始就不滿足,則不執行while循環也就是說while循環有可能一次都不執行。3.3.2 dowhile語句 格式: do while(); 作用:當流程到達do后,立即執行循環體語句,然后再對條件表達式進行判斷。若的值為真,則重復執行循環體語句,直到為假時退出循環,執行dowhile循環后的語句。 說明:這種循環中至少執行一次,當條件在循環開始時就不滿足時這種做法是危險的,所以應盡
35、量使用while語句而避免使用dowhile語句。3.3.3 for語句 格式:for(;) 作用:可以稱為初始化表達式,一般用于對循環變量進行初始化或賦初值;可以稱為條件表達式,當它的判斷條件為真時,就執行循環體,否則終止循環,退出for循環;可以稱為修正表達式,一般用于在每次循環體執行之后,對循環變量進行修改操作。說明:這里的可以是一條語句也可以是復合語句。for循環中三個表達式可能省略一個、兩個或三個都省略,但它們之間分號在三種情況下都不可以省略。3.4 跳轉語句3.4.1 break語句 格式:break; 作用:結束當前正在執行的循環(for、while、dowhile)或多路分支(
36、switch)程序結構,轉而執行這些結構后面的語句。 說明:在循環結構中使用時,如果有多層循環,只跳出其所在的最近的循環層。3.4.2 continue語句 格式:continue; 作用:結束當前正在執行的這一次循環(for、while、dowhile),接著執行下一次循環。即跳過循環體中尚未執行的語句,接著進行下一次是否執行循環語句的判定。【典型例題】 例題1:下列程序的運行結果為_。 #include void main( ) char c= ; if (c=A & c=Z) cout=a & c=z) cout是小寫字母; else cout=A & c=a & c=z,如果滿足則輸出
37、是小寫字母否則輸出是其它字符。else總是與離它最近的前一個if配對。答案為:是其它字符。例題2:已定義:char grade; ,若成績為A、B、C時輸出合格,成績為D時輸出不合格,其他情況提示重新輸入。要完成以上功能,則下列switch語句正確的是( )。(a) switch(grade) case A: case B: case C: cout”合格”;break; case D: cout”不合格”;break; default: cout”請重新輸入:”;(b) switch(grade) case A: case B: case C: cout”合格”; case D: cout”
38、不合格”;default: cout”請重新輸入:”;(c) switch(grade) caseA, B, C: cout”合格”;break; case D: cout”不合格”;break;default: cout”請重新輸入:”;(d) switch(grade) case A: case B: case C: cout”合格”;break; case D: cout”不合格”;break;default: cout0);- y=x+1;-else;- y=x-1;-(2) While(i) - coutiendl; - i-;-(3) int i=1,sum; -while(i=1
39、00) - sum+=i; - i+;-(4) int i=1,sum=0;-do - sum+=i; - i+;while(i=100) -解答:本題中包含了初學者在編程中容易犯的一些錯誤,提醒讀者注意。(1)本題考查對if語句的語法結構的掌握。本題的錯誤在于在if和else后不應加分號。答案為:將、句末的分號去掉。(2)C+是大小寫敏感的語言。答案為:將中While改為while。(3)本題目的是完成1到100求和,結果放在sum中,但是sum在參與運算前應該首先對其賦值。答案為:將改為 int i=1,sum=0;(4)本題主要考查對dowhile的語法結構的掌握以及與while結構進行
40、對比區別兩者在作用和語法上的不同。答案為:將第行while后加分號即while(i=100);例題4:循環語句for(int i=0;i=5&!i;i+) coutiendl;執行循環次數為( )。 (a) 1次 (b)3次 (c) 5次 (d)6次解答:本題考查對for循環的理解以及表達式運算。執行for循環i的初值為0,第一次循環時表達式0=5&!0結果為1所以執行循環體輸出0;然后i自加為1,計算表達式1=5&!1結果為0,所以退出循環。答案為:a。例題5:程序段:int i,sum=0;for(i=1;i=100;sum+=i,i+);與上邊程序段不等價的是( )。(a) int sum=0,i=1;dosum+=i+;while(i=100);(b) int i=1,sum=0;while(i100) break;sum+=i+;(d) int i,sum=0;for(i=1;i=100;i+,sum+=i);解答:本題主要考查對各種循環結構的以及它們之間轉換關系的理解。本題中的程序段是求解1到1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 土地利用測量與規劃合同
- 彩妝造型美妝產品研發與市場調研合同
- 老北京胡同文化課件
- 老人跌倒護理課件
- 翻鍋技術課件下載
- 翻譯說課課件
- 2025年度國家綠色數據中心自評價報告
- 統計專業培訓課件
- 小貸入職培訓課件
- 對排查發現的重大事故隱患應及時向什么報告
- 物業消防檢查培訓課件
- 專題 完形填空 七年級英語下冊期末復習考點培優專項北師大版(2024版)(含答案解析)
- 余料使用管理制度
- 2025至2030年中國彩涂鋁材行業市場動態分析及發展趨向研判報告
- 農業面源防治課件
- 2025至2030中國氨基吡啶行業項目調研及市場前景預測評估報告
- 2025-2030中國商業展示道具市場應用前景及投資價值評估報告
- 拉薩市墨竹工卡縣思金拉措小學-2025年春季英語教研組工作總結-一路求索不停歇【課件】
- 山東省菏澤市2023?2024學年高一下學期7月期末考試 數學試題(含解析)
- (三級)人工智能訓練師職業技能鑒定理論考試題(附答案)
- 2025杭州市臨安區事業單位招聘80人考前自測高頻考點模擬試題附答案詳解(鞏固)
評論
0/150
提交評論