C語言 陣列

2021-07-08 11:32:49 字數 3439 閱讀 7274

//

// 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 將陣列的長...