標籤:語言 通過 while 問題 for c語言 lib == logs
C語言的數組和函數部分的知識,在文法上和Java文法是有所相似的,這裡只通過執行個體總結一些自己感覺需要理解的部分知識。
1.數組
數組中的元素具有相同的資料類型;數組一旦建立,不能被改變;數組中元素在記憶體中是連續依次存在的;使用時需要隨時注意下標越界的問題。
例1:輸入數量不確定的[0,9]範圍內的整數,統計每個數字出現的次數,輸入-1時結束程式。
#include <stdio.h>#include <stdlib.h>int main(){ int i; int num[10]={0}; scanf("%d",&i); while(i!=-1){ if(i>=0&&i<=9){ num[i]++; } scanf("%d",&i); } for(i=0;i<10;i++) { printf("%d出現了%d次\n",i,num[i]); } return 0;}
例2:在一組給定的資料中,找出某個資料是否存在。
1 #include <stdio.h> 2 #include <stdlib.h> 3 int search(int key,int a[],int length) 4 { 5 int ret=-1; 6 int i; 7 for(i=0;i<length;i++) 8 { 9 if(a[i]==key)10 {11 ret=i;12 break;13 }14 }15 return ret;16 }17 int main()18 {19 int a[10]={1,2,3,4,5,6,7,8,9,10};20 int x;21 int loc;22 printf("請輸入一個數字:"); 23 scanf("%d",&x);24 loc=search(x,a,10);25 if(loc!=-1)26 {27 printf("%d在第%d個位置上。\n",x,loc);28 }else{29 printf("%d不存在!"); 30 }31 return 0;32 }
二維數組:int a[i][j];//i行j列的數組
例3:讀入一個3*3的矩陣,判斷0和1誰獲勝。(九宮格遊戲)
2.函數
C語言中的函數和Java中的方法是一個道理的,都是一段實現某種功能的代碼塊,也都要注意傳回值、形參實參等。
***注意:若函數有傳回值,必須使用帶值的return。
C語言在調用函數時,永遠只能傳值給函數,不能傳變數。
C語言不允許函數嵌套定義。
例1:求1-10,20-30,45-60三個區間數位和。
例2:swap()無法實現交換兩個變數的值。
C語言數組和函數執行個體練習