//
// main.c
// c_04
//// created by ibokan on 15/11/30.
//#include #include #includevoid changescalar(int x);
void changearray(int arr[5]);
int main(int argc, const char * argv) ;
*/int array1[4]=;
int array2=;
int array3[10]=;
float array4=;
float array5=;
//字元陣列
char strp=;
//字串陣列
char str1="bokan";
/*訪問陣列的元素,下標訪問
在c語言中,下標是從0開始的,因為陣列的元素是順序儲存,所有後面的元素下標依次累加一
,陣列最後乙個元素的下標為陣列個數減一。
*/int element=array1[0];
printf("element=%d\n",element);
//求陣列元素的個數 sizeof
int count=sizeof(array1)/sizeof(int);
printf("count=%d\n",count);
for (int i=0; i*/
printf("\n******************************\n");
int num[20],max,min;
float sum=0.0;
for (int i=0; i<20; )
if(num[j]!=num[i] && j==x-1)}}
else
}min=num[0];
max=num[0];
for (int i=0; i<20; i++)
sum+=num[i];
}printf("\n");
//求和,最大值,求最小值,求平均值
printf("最大值:%d 最小值:%d 平均值:%f\n",max,min,sum/(sizeof(num)/sizeof(int)));
char c1=;
char c2=;
/*字元陣列
如果花括號提供的字元個數大於陣列長度,按語法錯誤處理
如果小於陣列長度,則只將這些字元陣列中前面那些元素算上,其餘的自動定位空字元『\0』;
*///字元陣列初始化的另一種方式==即可以用字串常量來初始化字元陣列
char newc1="ibokan";
/*什麼是字串?
字串是一組字元的組合,可以用來描述文字資訊。但是,在c語言中,無法將乙個字串作為乙個整體儲存到乙個變數
中。所有將字串拆分為多個字元。然後儲存到乙個字元陣列中。
注意:1.在c語言中,使用雙引號引起來的字串行為字串。字串也為字元常量。在儲存在付出的時候。結尾加上
乙個末端字元'\0'作為結束標誌。
2.上述這種字元陣列的整體賦值只能在字元陣列。初始化時使用 ,不能用字元陣列的賦值,字串陣列的賦值只能
對其元素--賦值。
char a;
a="ii";
上面這個是錯誤的
*/char st1[13]="hello world!";
char st2[13]=;
//st1和st2是等價的
int i;
scanf("%d",&i);
char st3[10];
// scanf("%s",st3);
// printf("%s\n",st3);
//上面這個先輸入空格不顯示
gets(st3);
puts(st3);
//輸入是在前面輸入空格,空格顯示
/*字串的一些函式,包含#includestrcpy(str1,str2);//複製
strcat(str1,str2);//餅接
strlen(str1);
*/char st5="ibokan";
char st6="wisdom";
strcpy(st5,st6);//st5的長度要比st6要大不然在複製過程中覆蓋到其他儲存區域
puts(st5);
strcat(st5, st6);//st6已經複製給st5
puts(st5);
//返回的是無符號整形,所以需要強制轉換
int length=(int)strlen(st5);//不算上末端字元'\0'
// count=sizeof(st5)/sizeof(char);
//陣列作為函式引數與基本資料型別作為函式引數的區別
//基本資料型別作為函式引數時
int x=10;
printf("呼叫函式前x的值為 %d\n",x);
changescalar(x);
printf("呼叫函式後x的值是 %d\n",x);
//陣列作為函式引數
int myarray=;
printf("呼叫函式之前myarray 陣列中各個元素的值為:\n");
int const1=sizeof(myarray)/sizeof(int);
for (int i=0; i練習:
/*函式產生20個在【1,100】的數,而且此20個數不相同,存放到乙個陣列中,求和,最大值,求最小值,求平均值。
隨機數:
arc4random()
#include */
**:
#include #include void main()
if(num[j]!=num[i] && j==x-1)}}
else
}min=num[0];
max=num[0];
for (int i=0; i<20; i++)
sum+=num[i];
}printf("\n");
//求和,最大值,求最小值,求平均值
printf("最大值:%d 最小值:%d 平均值:%f\n",max,min,sum/(sizeof(num)/sizeof(int)));
}
二維組:
/*
二維陣列定義
資料型別 陣列名 =,{},......}
*/int arr1[3]=;
//等價於
//int arr1[3]=,};
int arr2[3]=;
//等價於 int arr2[3]=};
for (int i=0; i<2; i++)
}char r[2]=,};
//對於二維陣列列是一定要寫的
c語言陣列
陣列 構造資料型別之一 陣列是具有一定順序關係的若干個變數的集合,組成陣列的各個變數稱為陣列的元素。陣列中各元素的資料型別要求相同,用陣列名和下標確定。陣列可以是一維的,也可以是多維的。在科學計算中,許多重要的應用都是基於陣列的。所謂一維陣列是指只有乙個下標的陣列。它在計算機的記憶體中是連續儲存的。...
C語言陣列
在變數作函式引數時,所進行的值傳送是單向的。即只能從實參傳向形參,不能從形參傳回實參。形參的初值和實參相同,而形參的值發生改變後,實參並不變化,兩者的終值是不同的。而當用陣列名作函式引數時,情況則不同。由於實際上形參和實參為同一陣列,因此當形引數組發生變化時,實參陣列也隨之變化。當然這種情況不能理解...
C語言 陣列
陣列 void test1 for int i 0 i 5 i for int i 0 i 5 i 陣列資料倒序存放 void test2 printf 請輸入5個學生的成績 n for int i 4 i 0 i printf 輸出5個學生的成績 n for int i 0 i 5 i 將陣列的長...