第一篇:C++編程例題個人總結(jié)2014-07-06
VS2008通過編譯
1、交換兩個數(shù)值 #include
void swap(int x,int y){int temp;temp=x;x=y;y=temp;}
顯示結(jié)果 a=2,b=3無法交換兩個數(shù)值 #include
void swap(int &x,int &y);int main(){int a=2,b=3;swap(a,b);printf(“a=%d,b=%d”,a,b);return 0;}
void swap(int &x,int &y){int temp;temp=x;x=y;y=temp;}
顯示結(jié)果 a=3,b=2 通過了引用,實現(xiàn)了兩個數(shù)值交換 函數(shù)的定義為int類型,返回值有兩個 #include
int swap(int &x,int &y){int temp;temp=x;x=y;y=temp;return x,y;}
顯示結(jié)果 a=3,b=
22、指針
#include
顯示結(jié)果:
a的存儲地址為:1245024 a的值5 1245012 1245024 5
請按任意鍵繼續(xù)...#include
a的存儲地址為:1245024 a的值5
1245012 1245024 5
1245000 1245012 1245024
請按任意鍵繼續(xù)...#include
printf(“a的存儲地址為:%dn”,p1);printf(“a的值%dn”,*p1);printf(“%dn”,p2);printf(“%dn”,*p2);printf(“%dn”,**p2);return 0;}
1>------已啟動生成: 項目: 55, 配置: Debug Win32------1>正在編譯...1>55.cpp
1>c:documents and settingsadministratormy documentsvisual studio 2008projects555555.cpp(7): errorprintf(“a的存儲地址為:%dn”,p1);
printf(“a的值%dn”,*p1);printf(“n”);printf(“%dn”,p2);printf(“%dn”,*p2);printf(“%dn”,**p2);printf(“n”);printf(“%dn”,p3);printf(“%dn”,*p3);printf(“%dn”,**p3);return 0;}
C2440: “初始化”: 無法從“int *”轉(zhuǎn)換為“int **”
1>與指向的類型無關(guān);轉(zhuǎn)換要求reinterpret_cast、C 樣式轉(zhuǎn)換或函數(shù)樣式轉(zhuǎn)換
1>生成日志保存在“file://c:Documents and
SettingsAdministratorMy DocumentsVisual Studio 2008Projects5555DebugBuildLog.htm” 1>551 個錯誤,個警告
========== 生成: 成功0 個,失敗1 個,最新0 個,跳過0 個==========
#include
1>------已啟動生成: 項目: 55, 配置: Debug Win32------1>正在編譯...1>55.cpp
1>c:documents and settingsadministratormy documentsvisual studio 2008projects555555.cpp(8): error C2440: “初始化”: 無法從“int **”轉(zhuǎn)換為“int ***”
1>與指向的類型無關(guān);轉(zhuǎn)換要求reinterpret_cast、C 樣式轉(zhuǎn)換或函數(shù)樣式轉(zhuǎn)換
1>生成日志保存在“file://c:Documents and
SettingsAdministratorMy DocumentsVisual Studio 2008Projects5555DebugBuildLog.htm” 1>551 個錯誤,個警告
========== 生成: 成功0 個,失敗1 個,最新0 個,跳過0 個==========
#include
printf(“%dn”,a);p1=&b;printf(“%dn”,p1);return 0;}
1245024 5 6
1245012
請按任意鍵繼續(xù)...4、指針常量
#include
printf(“%dn”,a);return 0;}
1245024 5 6
請按任意鍵繼續(xù)...5、指針函數(shù)
#include
int *max(int *array,int size);int main(){int array[]={5,3,6,1,2,7,9,10};printf(“數(shù)組最大值
=%dn”,*max(array,sizeof(array)/sizeof(int)));return 0;}
int *max(int *array,int size){int *max=array;for(int i=0;i
1245024 5 6
1245012
請按任意鍵繼續(xù)...#include
int *max(int *array,int size);int main(){int array[]={5,3,46,19,2,52,9,10};printf(“%dn”,max(array,sizeof(array)/sizeof(int)));return 0;}
int *max(int *array,int size){int *m=array;for(int i=0;i
1245016
請按任意鍵繼續(xù)...#include
int *max(int *a,int size);int main(){int array[]={5,3,46,19,2,52,9,10};printf(“%dn”,max(array,sizeof(array)/sizeof(int)));return 0;}
int *max(int *a,int size){int *m=a;for(int i=0;i
1245016
請按任意鍵繼續(xù)...6、枚舉類型
#include
day{sunday,monday,tuesday,wednesday,thursday,friday,saturday};day today=sunday;printf(“%d”,today);return 0;}
0請按任意鍵繼續(xù)...6、結(jié)構(gòu)體
#include
void display(student *arg);int main(){student s1={001,“李明”,20,“自動化”,90};student *slp=&s1;
display(slp);return 0;}
void display(student *arg){printf(“學(xué)號=%d,姓名=%s,年齡=%d,專業(yè)=%s,成績
=%1.0f”,arg->idnumber,arg->name,arg->age,arg->department,arg->gpa);}
學(xué)號=1,姓名=李明,年齡=20,專業(yè)=自動化,成績=90請按任意鍵繼續(xù)...#include
int main(){student s1[2]={{001,“李明”,20,“自動化”,90},{002,“梁雷”,22,“電子工程”,92}};printf(“第一個學(xué)生:學(xué)號=%d,姓名=%s,年齡=%d,專業(yè)=%s,成績
=%2.0fn”,s1[0].idnumber,s1[0].name,s1[0].age,s1[0].department,s1[0].gpa);
printf(“第二個學(xué)生:學(xué)號=%d,姓名=%s,年齡=%d,專業(yè)=%s,成績
=%2.0fn”,s1[1].idnumber,s1[1].name,s1[1].age,s1[1].department,s1[1].gpa);return 0;}
第一個學(xué)生: 學(xué)號=1,姓名=李明,年齡=20,專業(yè)=自動化,成績=90
第二個學(xué)生: 學(xué)號=2,姓名=梁雷,年齡=22,專業(yè)=電子工程,成績=92
請按任意鍵繼續(xù)...
第二篇:C++編程知識總結(jié)
1.數(shù)組
1.1數(shù)組定義時的注意點
1在C++中不提供可變化大小的數(shù)組,○即數(shù)組定義中的常量表達式不能包含變量。(來源:C++書6.1.1)
int n;cin>>n;float t[n];上例在定義數(shù)組t時,變量n沒有確定的值,即在程序執(zhí)行之前,無法知道數(shù)組t的元素個數(shù),所以這種聲明不被允許。但是可以用new動態(tài)分配,如: int n;cin>>n;float *t;t=new float[n];
2在定義數(shù)組時,可以不直接指定數(shù)組的大小,由C++編譯器根據(jù)初值表中元素的個數(shù)來自○動確定數(shù)組元素的個數(shù)。例如: int z[]={0,1,2,3,4,5,6,7,8} 3C++語言規(guī)定只能對數(shù)組中的元素進行賦值或引用,不能把整個數(shù)組作為一個整體進行賦○值或引用。(2.3是一個實例)(來源:C++書4同類型的數(shù)組之間不能相互賦值 ○如int a[5],b[5];a=b;//錯誤
strcpy(b,a);//正確
6.1.1)
1.2數(shù)組和指針的關(guān)系(來源:C++書8.2節(jié)8.2.1)
char s[5];在C++中說明了一個數(shù)組后,數(shù)組名可以作為一個指針來使用,因此s可作為一個指針使用(但它不同于指針,不能賦值運算、算術(shù)運算等)。
2.字符數(shù)組
2.1輸入字符數(shù)據(jù) char c;cin>>c;// cin不能將輸入的空格賦給字符型變量。
cin.get();//可獲得鍵盤上輸入的每一個字符,包括空格和回車鍵。
2.2字符數(shù)組的輸入/輸出(來源:C++書6.2.4)2.2.1逐個字符輸入 char c[10];for(int i=0;i<10;i++)cin>>c[i];2.2.2字符串輸入 方法1 char c[10];cin>>c;//即在輸入輸出時只給數(shù)組名
此法在輸入字符串時,遇到空格和回車就認為一個字符結(jié)束。方法2 cin.getline(字符數(shù)組名,允許輸入的最大字符個數(shù))此法可把輸入的一行作為一個字符串送到字符數(shù)組中。
2.3字符數(shù)組和字符指針的初始化 2.3.1字符數(shù)組初始化 char tx[5]=“";2.3.2字符指針初始化 char *ptx=new char[5];ptx[0]='