




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第二章第二章 C+C+簡單程序設計簡單程序設計C+語言程序設計C+語言程序設計清華大學 鄭莉2本章主要內容本章主要內容lC+語言概述語言概述l基本數據類型和表達式基本數據類型和表達式l數據的輸入與輸出數據的輸入與輸出l算法的基本控制結構算法的基本控制結構l自定義數據類型自定義數據類型C+語言程序設計清華大學 鄭莉3C+語言的產生語言的產生lC+是從是從C語言發展演變而來的,首先是一語言發展演變而來的,首先是一個更好的個更好的Cl引入了類的機制,最初的引入了類的機制,最初的C+被稱為被稱為“帶類帶類的的C”l1983年正式取名為年正式取名為C+l從從1989年開始年開始C+語言的標準化工作語言的
2、標準化工作l于于1994年制定了年制定了ANSI C+標準草案標準草案l于于1998年年11月被國際標準化組織(月被國際標準化組織(ISO)批)批準為國際標準,成為目前的準為國際標準,成為目前的C+C+語言概述C+語言程序設計清華大學 鄭莉4C+的特點的特點l全面兼容全面兼容C 它保持了C的簡潔、高效和接近匯編語言等特點 對C的類型系統進行了改革和擴充 C+也支持面向過程的程序設計,不是一個純正的面向對象的語言l支持面向對象的方法支持面向對象的方法C+語言概述C+語言程序設計清華大學 鄭莉5C+程序實例程序實例例例2-1/2_1.cpp#include using namespace std;
3、void main(void) coutHello!n; coutWelcome to c+!n;運行結果:運行結果:Hello!Welcome to c+!C+語言概述C+語言程序設計清華大學 鄭莉6C+字符集字符集l大小寫的英文字母:大小寫的英文字母:AZAZ,azazl數字字符:數字字符:0909l特殊字符:特殊字符:空格空格! !# #% % & &* *_ _( (下劃線下劃線) )+ += =- - / / ; ;. ., ,()()C+語言概述C+語言程序設計清華大學 鄭莉7詞法記號詞法記號l關鍵字C+預定義的單詞l標識符程序員聲明的單詞,它命名程序正文中的一些實
4、體l文字在程序中直接使用符號表示的數據l操作符用于實現各種運算的符號l分隔符 () , : ; 用于分隔各個詞法記號或程序正文l空白符空格、制表符(TAB鍵產生的字符)、換行符(Enter鍵所產生的字符)和注釋的總稱C+語言概述C+語言程序設計清華大學 鄭莉8標識符的構成規則標識符的構成規則l以大寫字母、小寫字母或下劃線以大寫字母、小寫字母或下劃線(_)開開始。始。l可以由以大寫字母、小寫字母、下劃可以由以大寫字母、小寫字母、下劃線線(_)或數字或數字09組成。組成。l大寫字母和小寫字母代表不同的標識大寫字母和小寫字母代表不同的標識符。符。C+語言概述C+語言程序設計清華大學 鄭莉9#incl
5、ude using namespace std;void main(void) const int PRICE=30; int num,total; float v ,r,h; num=10; total=num*PRICE; couttotal endl; r=2.5; h=3.2; v=3.14159*r*r*h; coutv endl;常量變量變量先聲明后使用符號常量Page 9基本數據類型和表達式C+語言程序設計清華大學 鄭莉10#include using namespace std;void main(void) const int PRICE=30; int num,total;
6、 float v ,r,h; num=10; total=num*PRICE; couttotal endl; r=2.5; h=3.2; v=3.14159*r*r*h; coutv endl;整型常量shortunsigned short 2字節int、unsigned int 4字節longunsigned long 4字節整型變量整型變量聲明基本數據類型和表達式C+語言程序設計清華大學 鄭莉11基本數據類型和表達式C+語言程序設計清華大學 鄭莉12#include using namespace std;void main(void) const int PRICE=30; int n
7、um,total; float v ,r,h; num=10; total=num*PRICE; couttotalendl; r=2.5; h=3.2; v=3.14159*r*r*h; coutvendl;實型常量float 4float 4字節字節 3.41038 7位有效數字double 8double 8字節字節 1.710308 15位有效數字long double 8 8字節字節 1.710308 15位有效數字實型變量缺省為double型后綴 F(或 f)為 float型后綴 L(或 l)為 long double型基本數據類型和表達式C+語言程序設計清華大學 鄭莉13l字符常
8、量字符常量 單引號括起來的一個字符,如:a, D, ?, $l字符變量字符變量 用來存放字符常量例:char c1,c2; c1=a; c2=A;l字符數據在內存中的存儲形式字符數據在內存中的存儲形式 以ASCII碼存儲,占1字節,用7個二進制位Page 13基本數據類型和表達式C+語言程序設計清華大學 鄭莉14l字符數據的使用方法字符數據的使用方法 字符數據和整型數據之間可以運算。 字符數據與整型數據可以互相賦值。l字符串常量字符串常量例:CHINA a a所以:char c; c=a; C H I N A 0a 0aPage 14基本數據類型和表達式C+語言程序設計清華大學 鄭莉15布爾型
9、數據布爾型數據l布爾型變量的說明:布爾型變量的說明:例:例:bool flag;l布爾型數據的取值:布爾型數據的取值:只有只有 false 和和 true 兩個值兩個值基本數據類型和表達式C+語言程序設計清華大學 鄭莉16例:例: int a=3; double f=3.56; char c=a; int c(5);Page 16基本數據類型和表達式C+語言程序設計清華大學 鄭莉17l不同類型數據進行混合運算時,不同類型數據進行混合運算時,C+編譯編譯器會自動進行類型轉換。器會自動進行類型轉換。l為了避免不同的數據類型在運算中出現類為了避免不同的數據類型在運算中出現類型問題,應盡量使用同種類型
10、數據。型問題,應盡量使用同種類型數據。l可以采用強制類型轉換:可以采用強制類型轉換:例如:float c;int a,b;c=float(a)/float(b); 或 c= (float)a/(float)b; 基本數據類型和表達式C+語言程序設計清華大學 鄭莉18變量的存儲類型變量的存儲類型lauto 屬于一時性存儲,其存儲空間可以被若干變量多次覆蓋使用。lregister 存放在通用寄存器中。lextern 在所有函數和程序段中都可引用。lstatic 在內存中是以固定地址存放的,在整個程序運行期間都有效。基本數據類型和表達式C+語言程序設計清華大學 鄭莉19l基本算術運算符基本算術運算符
11、 + - * / (若整數相除,結果取整) %(取余,操作數為整數)l優先級與結合性優先級與結合性先乘除,后加減,同級自左至右l+, -(自增、自減)(自增、自減)例:i+; - j;Page 19基本數據類型和表達式C+語言程序設計清華大學 鄭莉20l舉例舉例n=n+5l表達式的類型表達式的類型等號左邊對象的類型等號左邊對象的類型l表達式的值表達式的值等號左邊對象被賦值后的值等號左邊對象被賦值后的值Page 20基本數據類型和表達式C+語言程序設計清華大學 鄭莉21l有有10種復合運算符:種復合運算符:+=, -=, *=, /=, %=,=,&=,=,|= l例例a+=3 等價于等
12、價于 a=a+3x*=y+8 等價于等價于 x=x*(y+8)基本數據類型和表達式C+語言程序設計清華大學 鄭莉22a=5表達式值為5a=b=c=5表達式值為5,a,b,c均為5a=5+(c=6)表達式值為11,a為11,c為6a=(b=4)+(c=6) 表達式值為10,a為10,b為4,c為6a=(b=10)/(c=2) 表達式值為5,a為5,b為10,c為2a+=a-=a*a 相當于 a=a+(a=a-a*a)Page 22基本數據類型和表達式C+語言程序設計清華大學 鄭莉23l格式格式表達式1,表達式2l求解順序及結果求解順序及結果先求解1,再求解2,最終結果為表達式2的值l例例a=3*
13、5 , a*4 最終結果為60Page 23基本數據類型和表達式C+語言程序設計清華大學 鄭莉24關系運算與關系表達式關系運算與關系表達式l關系運算是比較簡單的一種邏輯運算,關系運算是比較簡單的一種邏輯運算,優先次序為:優先次序為: = = != 優先級相同(高)優先級相同(高) 優先級相同(低)優先級相同(低)l 關系表達式是一種最簡單的邏輯表達式關系表達式是一種最簡單的邏輯表達式其結果類型為 bool,值只能為 true 或 false。l例如:例如:ab,cb)&(xy) 其結果類型為其結果類型為 bool,值只能為,值只能為 true 或或 false基本數據類型和表達式C+語
14、言程序設計清華大學 鄭莉26l一般形式一般形式表達式1?表達式2:表達式3表達式1 必須是 bool 類型l執行順序執行順序先求解表達式1,若表達式1的值為true,則求解表達式2,表達式2的值為最終結果若表達式1的值為false,則求解表達式3,表達式3的值為最終結果l例:例: x=ab? a:b;x=ab? a:b;基本數據類型和表達式C+語言程序設計清華大學 鄭莉27l注意:注意:條件運算符優級高于賦值運算符,低于邏輯運算符表達式2、3的類型可以不同,條件表達式的最終類型為 2 和 3 中較高的類型。l例:例: x x= =a a b b? ? a a: :b;b;基本數據類型和表達式C
15、+語言程序設計清華大學 鄭莉28sizeof 運算符運算符l語法形式語法形式sizeof (類型名類型名)或或 sizeof (表達式表達式)l結果值:結果值:“類型名類型名”所指定的類型或所指定的類型或“表達式表達式”的結果的結果類型所占的字節數。類型所占的字節數。l例:例:sizeof(short)sizeof(x)基本數據類型和表達式C+語言程序設計清華大學 鄭莉29l運算規則運算規則 將兩個運算量的每一個位進行邏輯與操作l舉例:計算舉例:計算 3 & 53 & 5 3: 0 0 0 0 0 0 1 1 5:(&) 0 0 0 0 0 1 0 13 & 5
16、: 0 0 0 0 0 0 0 1l用途:用途: 將某一位置0,其它位不變。例如:將 char 型變量 a 的最低位置 0: a = a & 0376; 取指定位。例如:有 char c; int a; 取出 a 的低字節,置于 c 中:c = a & 0377;基本數據類型和表達式C+語言程序設計清華大學 鄭莉30l運算規則運算規則 將兩個運算量的每一個位進行邏輯或操作l舉例:計算舉例:計算 3 | 53 | 5 3: 0 0 0 0 0 0 1 1 5:(|) 0 0 0 0 0 1 0 13 | 5: 0 0 0 0 0 1 1 1l用途:用途: 將某些位置1,其它位不變
17、。例如:將 int 型變量 a 的低字節置 1 : a = a | 0 xff;基本數據類型和表達式C+語言程序設計清華大學 鄭莉31l運算規則運算規則兩個操作數進行異或:若對應位相同,則結果該位為 0,若對應位不同,則結果該位為 1,l舉例:計算舉例:計算 071052071052 071: 0 0 1 1 1 0 0 1 052: () 0 0 1 0 1 0 1 0 071052 : 0 0 0 1 0 0 1 1基本數據類型和表達式C+語言程序設計清華大學 鄭莉32l用途:用途:使特定位翻轉(與0異或保持原值,與1異或取反) 例如:要使 01111010 低四位翻轉: 0 1 1 1
18、1 0 1 0 () 0 0 0 0 1 1 1 10 1 1 1 0 1 0 1基本數據類型和表達式C+語言程序設計清華大學 鄭莉33單目運算符,對一個二進制數按位取反。單目運算符,對一個二進制數按位取反。例: 025:0000000000010101 025:1111111111101010基本數據類型和表達式C+語言程序設計清華大學 鄭莉34l左移運算(左移運算()右移后,低位:舍棄 高位:無符號數:補0 有符號數:補“符號位”基本數據類型和表達式C+語言程序設計清華大學 鄭莉35運算符優先級運算符優先級括號括號+,-,sizeof*, /, %+, -=, !=位運算位運算&|
19、?:賦值運算賦值運算逗號運算逗號運算低高基本數據類型和表達式C+語言程序設計清華大學 鄭莉36混合運算時數據類型的轉換混合運算時數據類型的轉換 隱含轉換隱含轉換l一些二元運算符(算術運算符、關系運算符、邏一些二元運算符(算術運算符、關系運算符、邏輯運算符、位運算符和賦值運算符)要求兩個操輯運算符、位運算符和賦值運算符)要求兩個操作數的類型一致。作數的類型一致。l在算術運算和關系運算中如果參與運算的操作數在算術運算和關系運算中如果參與運算的操作數類型不一致,編譯系統會自動對數據進行轉換類型不一致,編譯系統會自動對數據進行轉換(即隱含轉換),基本原則是將低類型數據轉換(即隱含轉換),基本原則是將低
20、類型數據轉換為高類型數據。為高類型數據。char short int unsigned long unsigned long float double低 高基本數據類型和表達式C+語言程序設計清華大學 鄭莉37混合運算時數據類型的轉換混合運算時數據類型的轉換 隱含轉換隱含轉換l當參與運算的操作數必須是當參與運算的操作數必須是bool型時,如果操作數型時,如果操作數是其它類型,編譯系統會自動將非是其它類型,編譯系統會自動將非0數據轉換為數據轉換為true,0轉換為轉換為false。l位運算的操作數必須是整數,當二元位運算的操位運算的操作數必須是整數,當二元位運算的操作數是不同類型的整數時,也會自
21、動進行類型轉作數是不同類型的整數時,也會自動進行類型轉換,換,l賦值運算要求左值與右值的類型相同,若類型不賦值運算要求左值與右值的類型相同,若類型不同,編譯系統會自動將右值轉換為左值的類型。同,編譯系統會自動將右值轉換為左值的類型。基本數據類型和表達式C+語言程序設計清華大學 鄭莉38混合運算時數據類型的轉換混合運算時數據類型的轉換 強制類型轉換強制類型轉換l語法形式:語法形式:類型說明符(表達式)或(類型說明符)表達式l強制類型轉換的作用是將表達式的結強制類型轉換的作用是將表達式的結果類型轉換為類型說明符所指定的類果類型轉換為類型說明符所指定的類型。型。基本數據類型和表達式C+語言程序設計清
22、華大學 鄭莉39語句語句l聲明語句聲明語句l表達式語句表達式語句l選擇語句選擇語句l循環語句循環語句l跳轉語句跳轉語句l復合語句復合語句l標號語句標號語句 C+語言程序設計清華大學 鄭莉40l格式:格式:表達式;l表達式語句與表達式的區別:表達式語句與表達式的區別:表達式可以包含在其它表達式中,而語句不可。例:if (a=b)0) t=a;不可寫為:if (a=b;)0) t=a;語 句C+語言程序設計清華大學 鄭莉41復合語句復合語句l將多個語句用一對大括號包圍,便構將多個語句用一對大括號包圍,便構成一個復合語句成一個復合語句l例如例如sum=sum+i;i+;語 句C+語言程序設計清華大學
23、 鄭莉42簡單的輸入、輸出簡單的輸入、輸出l向標準輸出設備(顯示器)輸出向標準輸出設備(顯示器)輸出例:int x; cout“x=“x; C+語言程序設計清華大學 鄭莉43順序結構順序結構分支結構分支結構循環結構循環結構算法的基本控制結構算法的基本控制結構C+語言程序設計清華大學 鄭莉44如何解決分支問題如何解決分支問題?例例2-2輸入一個年份,判斷是否閏年。輸入一個年份,判斷是否閏年。算法的基本控制結構#include using namespace std;void main(void) int year; bool IsLeapYear; cout year;IsLeapYear =
24、(year % 4 = 0 & year % 100 != 0)|(year % 400 = 0); if (IsLeapYear) cout year is a leap year endl;else cout year is not a leap year y) couty) coutx; else couty;if (表達式表達式1) 語句語句1else if (表達式表達式2) 語句語句2else if (表達式表達式3) 語句語句3 else 語句語句 n算法的基本控制結構C+語言程序設計清華大學 鄭莉48如何解決多分問題如何解決多分問題?例例2-3 輸入兩個整數,比較兩個數
25、的大小。輸入兩個整數,比較兩個數的大小。算法的基本控制結構#includeusing namespace std;void main() int x,y; coutxy; if (x!=y) if (xy) coutyendl; else coutxyendl; else coutx=yendl;49運行結果運行結果1:Enter x and y:5 8xy50C+語言程序設計清華大學 鄭莉51l一般形式一般形式if ( ) if ( ) 語句 1 else 語句 2else if ( ) 語句 3 else 語句 4l注意注意語句 1、2、3、4 可以是復合語句,每層的 if 與 else
26、配對,或用 來確定層次關系。算法的基本控制結構C+語言程序設計清華大學 鄭莉52特殊的多分支結構特殊的多分支結構例例2-4輸入一個輸入一個06的整數,轉換成星期輸出。的整數,轉換成星期輸出。算法的基本控制結構#include using namespace std;void main(void)int day;cin day;switch (day) case 0: cout Sunday endl; break; case 1: cout Monday endl; break;case 2: cout Tuesday endl; break;case 3: cout Wednesday en
27、dl; break; case 4: cout Thursday endl; break; case 5: cout Friday endl; break; case 6: cout Saturday endl; break; default: cout Day out of range Sunday . Saturday endl;break; 53C+語言程序設計清華大學 鄭莉54l一般形式一般形式switch (表達式) case 常量表達式 1:語句1 case 常量表達式 2:語句2 case 常量表達式 n:語句n default : 語句n+1 l執行順序執行順序以case中的常
28、量表達式值為入口標號,由此開始順序執行。因此,每個case分支最后應該加break語句。每個常量表達式的值不能相同,次序不影響執行結果。可以是多個語句,但不必用 。可以是整型、字符型、枚舉型算法的基本控制結構C+語言程序設計清華大學 鄭莉55lcase分支可包含多個語句,且不用分支可包含多個語句,且不用 。l表達式、判斷值都是表達式、判斷值都是int型或型或char型。型。l若干分支執行內容相同可共用一組語若干分支執行內容相同可共用一組語句。句。算法的基本控制結構C+語言程序設計清華大學 鄭莉56如何有效地完成重復工作如何有效地完成重復工作例例2-5求自然數求自然數110之和之和分析:本題需要
29、用累加算法,累加過分析:本題需要用累加算法,累加過程是一個循環過程,可以用程是一個循環過程,可以用while語句實語句實現。現。算法的基本控制結構#includeusing namespace std;void main() int i(1), sum(0); while(i=10) sum+=i; /相當于sum=sum+i; i+; coutsum=sumendl;運行結果:運行結果:sum=5557C+語言程序設計清華大學 鄭莉58形式形式while (表達式) 語句可以是復合語句,其中必須含有改變條件表達式值的語句。執行順序執行順序先判斷表達式的值,為 true 時,再執行語句。算法的
30、基本控制結構C+語言程序設計清華大學 鄭莉59先執行循環體,后判斷條件的情況先執行循環體,后判斷條件的情況例例2-6 輸入一個整數,將各位數字反轉后輸輸入一個整數,將各位數字反轉后輸出。出。算法的基本控制結構#include using namespace std;void main(void)int n, right_digit, newnum = 0; cout n;cout The number in reverse order is ;doright_digit = n % 10;cout right_digit;n /= 10; /相當于n=n/10 while (n != 0);
31、coutendl;60運行結果:運行結果:Enter the number: 365The number in reverse order is 56361C+語言程序設計清華大學 鄭莉62一般形式一般形式do 語句while (表達式)可以是復合語句,其中必須含有改變條件表達式值的語句。執行順序執行順序先執行循環體語句,后判斷條件。表達式為 true 時,繼續執行循環體與與while while 語句的比較:語句的比較:While 語句執行順序 先判斷表達式的值,為true 時,再執行語句算法的基本控制結構對比下列程序:對比下列程序: 程序程序1:#includeusing namespac
32、e std;void main() int i, sum(0); cini; while(i=10) sum+=i; i+; coutsum=sumendl;算法的基本控制結構程序程序2:#includeusing namespace std;void main() int i, sum(0); cini; do sum+=i; i+; while(i=10); coutsum=sumendl;63C+語言程序設計清華大學 鄭莉64語法形式語法形式for (表達式1;表達式2;表達式3) 語句 循環前先求解為true時執行循環體每次執行完循環體后求解算法的基本控制結構C+語言程序設計清華大學
33、鄭莉65例例2-8輸入一個整數,求出它的所有因子。輸入一個整數,求出它的所有因子。算法的基本控制結構66#include using namespace std;void main(void) int n, k;cout n;cout Number n Factors ;for (k=1; k = n; k+)if (n % k = 0)cout k ; cout endl;66運行結果運行結果1 1:Enter a positive integer: 36Number 36 Factors 1 2 3 4 6 9 12 18 36 運行結果運行結果2 2:Enter a positive i
34、nteger: 7Number 7 Factors 1 7 67C+語言程序設計清華大學 鄭莉68例例2-9 編寫程序輸出以下圖案編寫程序輸出以下圖案 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *算法的基本控制結構#includeiostream#include using namespace std;using namespace std;void main()void main() int int i,j,n=4; i,j,n=4; for(i=1;i=n;i+) for(i=1;i=n;i+) /輸出前輸出
35、前4 4行圖案行圖案 for(j=1;j=30;j+) for(j=1;j=30;j+) cout cout ; ; /在圖案左側空在圖案左側空3030列列 for(j=1; j=8-2for(j=1; j=8-2* *i ;j+)i ;j+) cout cout ; ; for(j=1; j=2 for(j=1; j=2* *i-1 ;j+)i-1 ;j+) cout cout* *; coutendl coutendl; ; 69 for(i=1;i=n-1;i+) / for(i=1;i=n-1;i+) /輸出后輸出后3 3行圖案行圖案 for(j=1;j=30;j+) for(j=1;
36、j=30;j+) cout cout ; / ; /在圖案左側空在圖案左側空3030列列 for(j=1; j=7-2for(j=1; j=7-2* *i ;j+)i ;j+) cout cout* *; coutendl coutendl; ; 70C+語言程序設計清華大學 鄭莉71循環結構與選擇結構相互嵌套循環結構與選擇結構相互嵌套#includeiostream#include using namespace std;using namespace std;void main()void main() intint n n;for(n=100; n=200; n+)for(n=100;
37、n=200; n+) if if (n%3!=0) (n%3!=0) cout coutn;n; 算法的基本控制結構C+語言程序設計清華大學 鄭莉72l讀入一系列整數,統計出正整數個數讀入一系列整數,統計出正整數個數i和負整數個數和負整數個數j,讀入讀入0則結束。則結束。l分析:分析: 需要讀入一系列整數,但是整數個數不定,要在每次讀入之后進行判斷,因此使用while循環最為合適。循環控制條件應該是n!=0。由于要判斷數的正負并分別進行統計,所以需要在循環內部嵌入選擇結構。算法的基本控制結構#includeusing namespace std;void main() int i=0, j=0
38、, n; coutn; while( n!=0 ) if(n0) i+; if(nn ; cout正整數個數:正整數個數:i 負整數個數:負整數個數:jendl;73C+語言程序設計清華大學 鄭莉74break語句語句使程序從循環體和switch語句內跳出,繼續執行邏輯上的下一條語句。不宜用在別處。continue 語句語句結束本次循環,接著判斷是否執行下一次循環。算法的基本控制結構C+語言程序設計清華大學 鄭莉75typedef語句語句l為一個已有的數據類型另外命名為一個已有的數據類型另外命名l語法形式語法形式typedef 已有類型名 新類型名表;l例如例如typedef double a
39、rea,volume;typedef int natural;natural i1,i2;area a;volume v;自定義數據類型C+語言程序設計清華大學 鄭莉76枚舉類型枚舉類型enuml只要將需要的變量值一一列舉出來,只要將需要的變量值一一列舉出來,便構成了一個枚舉類型。便構成了一個枚舉類型。l枚舉類型的聲明形式如下:枚舉類型的聲明形式如下:enum 枚舉類型名 變量值列表;l例如:例如:enum weekday sun,mon,tue,wed,thu,fri,sat;自定義數據類型C+語言程序設計清華大學 鄭莉77枚舉類型枚舉類型enuml枚舉類型應用說明:枚舉類型應用說明: 對枚
40、舉元素按常量處理,不能對它們賦值。例如,不能寫:sun=0; 枚舉元素具有缺省值,它們依次為: 0,1,2,.。 也可以在聲明時另行指定枚舉元素的值,如:enum weekday sun=7,mon=1,tue,wed,thu,fri,sat; 枚舉值可以進行關系運算。 整數值不能直接賦給枚舉變量,如需要將整數賦值給枚舉變量,應進行強制類型轉換。自定義數據類型C+語言程序設計清華大學 鄭莉78例例2-11 l設某次體育比賽的結果有四種可能:設某次體育比賽的結果有四種可能:勝(勝(win)、負()、負(lose)、平局()、平局(tie)、)、比賽取消(比賽取消(cancel),編寫程序順序),
41、編寫程序順序輸出這四種情況。輸出這四種情況。l分析:由于比賽結果只有四種可能,分析:由于比賽結果只有四種可能,所以可以聲明一個枚舉類型,聲明一所以可以聲明一個枚舉類型,聲明一個枚舉類型的變量來存放比賽結果。個枚舉類型的變量來存放比賽結果。自定義數據類型#include using namespace std;enum game_result WIN, LOSE, TIE, CANCEL;int main() game_result result; enum game_result omit = CANCEL; int count; for (count = WIN ; count = CANCEL ; count+) result = (game_result)count; if (result = omit) cout The game was cancelledn; else cout The game was played ; if (result = WIN) cout and we won!; if (result = LOSE) cout and we lost.; cout n; return 0;79運行結果運行結果 The game was played and we won! The game was played and we los
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年二級建造師建設工程法規及相關知識:掌握無效合同條款
- 2025年后合同權益及合同責任
- 《職業發展指導》課件
- 21 大自然的聲音(教學設計)-2024-2025學年統編版語文三年級上冊
- 4《做朵玫瑰送老師》(教學設計)人民版勞動二年級上冊
- 金融產品收益預測權重模型
- 《東西ERP概述》課件
- 2025合同的變更及履行處理
- 2025標準船舶租賃合同范本
- 2025深圳市軟件產品銷售合同范本
- 四年級語文教案 囊螢夜讀-公開課比賽一等獎
- 企業數字化轉型解決方案
- 外研版五年級下冊英語Module 8 Unit 1課件
- 混凝土模板支撐工程專項施工方案(140頁)
- 羽毛球教案36課時
- 第三章煤層氣的儲層壓力及賦存狀態
- 六年級上冊數學圓中方方中圓經典題練習
- 住宅(小區)智能化系統檢測報告
- ansys教學算例集汽輪機內蒸汽平衡態與非平衡態仿真分析
- 安全管理機構架構
- 國際海上人命安全公約(SOLAS)介紹
評論
0/150
提交評論