第一篇:C語言程序總結
C語言程序總結
1·C程序是由函數構成的。一個C源程序至少包含一個函數(main函數),也可以包含一個main和若干其他函數。C的函數相當于其它語言中的子程序。用函數來實現特定的功能。可以說C是函數式的語言。程序全部工作都是由函數來完成的。C的函數庫十分豐富,標準C提供一百多個庫函數,TurboC和MS C4.0提供三百多個庫函數。
C的這種特點使得容易實現程序的模塊化。2.一個函數由兩部分組成:
(1)函數的說明部分。包括函數名、函數類型、函數屬性、函數參數(形參)名、形式參數類型。
例如例1.3中的max函數的說明部分為。int max(x,y)函數類型 函數名 函數參數 int x,y;形參類型 形參
一個函數名后面必須跟一對圓括弧,函數參數可以沒有,如main()。
(2)函數體,即函數說明部分下面的大括弧{?}內的部分。如果一個函數內有多個大括弧,則最外層的一對{
}為函數體的范圍。
函數體一般包括:
①變量定義。如例1.3中main函數中的“int a,b,c”。
②執行部分。由若干個語句組成。
當然,在某些情況下也可以沒有變量定義部分(例如例1.1)。甚至可以既無變量定義也無執行部分。如:
dump(){ } 它是一個空函數,什么也下干,但這是合法的。3.一個C程序總是從main函數開始執行的,而不論main函數在整個程序中的位置如何(main函數可以放在程序最前頭,也可以放在程序最后,或在一些函數之前在另一些函數之后)。
4.C程序書寫格式自由,一行內可以寫幾個語句,一個語句可以分寫在多行上人程序沒有行號,也不象FORTRAN或CoBoL那樣嚴格規定書寫格式(語句必須從某一列開始書寫)。5.每個語句和數據定義的最后必須有一個分號。分號是C語句的必要組成部分。例如:
c=a十b;
分號不可少。即使是程序中最后一個語句也應包含分號(這是和PAScAL語言不同的)。
6.C語言本身沒有輸入輸出語句。輸入和輸出的操作是由庫函數scanf和printf等函數來完成.C對輸入輸出實行‘函數化'
7.可以用/*??*/對C程序中的任何部分作注釋,一個好的,有使用價值的源程序都應當加上必要的注釋,以增加程序的可讀性。
第二篇:c語言程序分類總結
一、選擇排序法:
1、函數方法: #include
scanf(“%d”,&a[i]);sort(a,10);printf(“The sorted array:n”);for(i=0;i<10;i++)
printf(“%d ”,a[i]);printf(“n”);}
void sort(int array[],int n){int i,j,k,t;
for(i=0;i {k=i; for(j=i+1;j if(array[j] k=j; t=array[k];array[k]=array[i];array[i]=t;} } 2、數組方法:實驗6_1 #include printf(“enter data:n”); for(i=1;i<=10;i++) {printf(“a[%d]=”,i); scanf(“%d”,&a[i]); } printf(“n”); printf(“The orginal numbers:n”); for(i=1;i<=10;i++) printf(“%5d”,a[i]); printf(“n”); for(i=1;i<=9;i++) {min=i; for(j=i+1;j<=10;j++)if(a[min]>a[j])min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf(“nThe sorted numbers:n”); for(i=1;i<=10;i++) printf(“%5d”,a[i]); printf(“n”);} 3、指針方法:(教材209 例題8.9)#include scanf(“%d”,p++);p=a;sort(p,10);for(p=a,i=0;i<10;i++) {printf(“%d ”,*p);p++;} printf(“n”);} void sort(int x[],int n){int i,j,k,t; for(i=0;i {k=i; for(j=i+1;j if(x[j]>x[k])k=j; if(k!=i) {t=x[i];x[i]=x[k];x[k]=t;} } } 二、素數算法: 1、篩選法求素數(教輔41.1題)#include for(i=1;i<=100;i++) a[i]=i; a[1]=0; for(i=2;i for(j=i+1;j<=100;j++) {if(a[i]!=0 && a[j]!=0) if(a[j]%a[i]==0) a[j]=0; } printf(“n”); for(i=2,n=0;i<=100;i++) { if(a[i]!=0) {printf(“%5d”,a[i]); n++; } if(n==10) {printf(“n”); n=0; } } printf(“n”);} 2、(1)For循環方法: #include printf(“please enter a integer number:”); scanf(“%d”,&m); k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>k)printf(“%d is a prime number.n”,m); else printf(“%d is not a prime number.n”,m);} (2)求100~200之間素數: # include for(m=101;m<=200;m=m+2) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>=k+1) {printf(“%d ”,m); n=n+1; } if(n%10==0)printf(“n”); } printf(“n”);} 3、函數方法:實驗7_1(教輔63.3題)#include int n; printf(“ninput an integer:”); scanf(“%d”,&n); if(prime(n)) printf(“n %d is a prime.n”,n); else printf(“n %d is not a prime.n”,n);} int prime(int n) {int flag=1,i; for(i=2;i if(n%i==0) flag=0; return(flag); } 三、最值問題: 1、函數方法,兩個數比較大小(教材144.例題7.2)#include int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“max is %dn”,c);} int max(int x,int y){ int z; z=x>y?x:y; return(z);} 2、二維數組,求出其中值最大的那個元素值:(教材123.例題6.5)#include int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; max=a[0][0]; for(i=0;i<=2;i++) for(j=0;j<=3;j++) if(a[i][j]>max) {max=a[i][j]; row=i; colum=j; } printf(“max=%d,row=%d,colum=%dn”,max,row,colum);} 3、有三個字符串,要求找出其中最大者(教材136.例題6.9)#include char string[20]; char str[3][20]; int i; for(i=0;i<3;i++) gets(str[i]); if(strcmp(str[0],str[1])>0) strcpy(string,str[0]); else strcpy(string,str[1]); if(strcmp(str[2],string)>0) strcpy(string,str[2]); printf(“nthe largest string is:n%sn”,string);} 4、函數方法,四個整數,找出最大值:(教材152.例題7.5)#include int a,b,c,d,max; printf(“Please enter 4 interger numbers:”); scanf(“%d %d %d %d”,&a,&b,&c,&d); max=max_4(a,b,c,d); printf(“max=%d n”,max);} int max_4(int a,int b,int c,int d){int max_2(int a,int b);int m; m=max_2(a,b);m=max_2(m,c);m=max_2(m,d);return(m);} int max_2(int a,int b) 這也可以這么寫 int max_2(int a,int b){return(a>b?a:b); {if(a>b)return a;} else return b;} 四、輾轉相除問題:(最大公約數最小公倍數問題) 1、一般法,求最大公約數和最小公倍數(教輔26頁,第一題)#include int p,r,n,m,temp; printf(“請輸入兩個正整數n,m:”); scanf(“%d,%d,”,&n,&m); if(n { temp=n; n=m; m=temp; } p=n*m; while(m!=0) { r=n%m; n=m; m=r; } printf(“它們的最大公約數為:%dn”,n); printf(“它們的最小公約數為:%dn”,p/n);} 2、函數法: void main(){int hcf(int,int); int lcd(int,int,int); int u,v,h,l; scanf(“%d,%d”,&u,&v); h=hcf(u,v); printf(“H.C.F=%dn”,h); l=lcd(u,v,h); printf(“L.C.D=%dn”,l);} int hcf(int u,int v){int t,r;if(v>u) {t=u;u=v;v=t;} while((r=u%v)!=0) {u=v; v=r;} return(v);} int lcd(int u,int v,int h) { return(u*v/h); } 五、有關指針的實驗題: 1、實驗9-1(輸入3個整數,由小到大的順序排列)(1)#include void swap(int *p1,int *p2) {int p; p=*p1;*p1=*p2;*p2=p; }(2)#include void swap(char *p1,char *p2){char p[20]; strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);} 2、實驗9_2(將n個數,輸入時順序的逆序排列)#include scanf(“%d”,&num[i]);p=&num[0];sort(p,n);printf(“Now,the sequence is:n”);for(i=0;i printf(“%d ”,num[i]);printf(“n”);} void sort(char *p,int m){int i;char temp, *p1,*p2;for(i=0;i {p1=p+i; p2=p+(m-1-i); temp=*p1; *p1=*p2; *p2=temp; } } 3、實驗9_3(寫一函數,求一個字符長度)#include int length(char *p) {int n;n=0;while(*p!='
主站蜘蛛池模板:
天堂√在线中文官网在线|
天天狠天天透天干天天怕|
在线麻豆精东9制片厂av影现网|
97夜夜澡人人双人人人喊|
精品无码国产污污污免费|
亚洲 丝袜 另类 校园 欧美|
亚洲熟女乱色一区二区三区|
国产精品午夜福利不卡120|
乱色国内精品视频在线|
无码午夜成人1000部免费视频|
精品国内自产拍在线观看|
亚洲综合av一区二区三区|
特大巨黑吊av在线播放|
国产69久久精品成人看|
亚洲成a∨人片在线观看不卡|
黑人巨大精品欧美视频一区|
丰满爆乳在线播放|
中文字幕人妻三级中文无码视频|
精品国产福利拍拍拍|
亚洲熟女乱色综合一区|
色哟哟精品视频在线观看|
精品国产天堂综合一区在线|
少妇人妻偷人精品一区二区|
熟女人妻aⅴ一区二区三区麻豆|
国产成人精品123区免费视频|
男女啪啪激烈高潮喷出gif免费|
一本大道久久香蕉成人网|
人妻少妇偷人精品无码|
国产女主播精品大秀系列|
少妇的肉体k8经典|
亚洲成在人线av品善网好看|
国产成人精品一、二区|
中国超帅年轻小鲜肉自慰|
浓毛老太交欧美老妇热爱乱|
日本边添边摸边做边爱的网站|
欧美黑人异族videos|
国产精品扒开腿做爽爽爽a片唱戏|
老湿机国产福利视频|
久久成人国产精品无码|
把女邻居弄到潮喷的性经历|
国产成人av一区二区三区无码|