一維數(shù)組
數(shù)組定義格式與注意事項(xiàng)
1.格式? 數(shù)組類型 數(shù)組的名字[長度] = { 值1卸奉,值2,值3,......};? 值是常量
2.數(shù)組里存放的應(yīng)為同一類型的數(shù)據(jù)谨胞,訪問數(shù)組用下標(biāo)的形式訪問,數(shù)組的下標(biāo)是從0開始的
3.數(shù)組必須不能越界
4.數(shù)組的長度必須指定蒜鸡,要么直接指定長度胯努,如果不直接給定長度,就必須在數(shù)組定義的時(shí)候進(jìn)行賦值逢防,這時(shí)候數(shù)組的個(gè)數(shù)為幾叶沛,長度就為幾
5.數(shù)組名代表數(shù)組首元素的地址
定義一個(gè)數(shù)組??
第一種定義方式
int array[5]={};? ? //數(shù)組的長度位5,初值未給定忘朝,默認(rèn)為0
printf("array1= %d,array2 = %d,array3 = %d\n",array[0],array[1],array[2]);
//結(jié)果:array1= 0,array2 = 0,array3 = 0
第二種定義方式
? []中不寫長度? 其數(shù)組的長度由初始值來決定
int array2[] = {1,2,30000000,'c'};? ? //字符是特殊的整形
printf("%d\n",array2[2]);? //結(jié)果:30000000
冒泡排序
int array8 [5]= {3,4,7,5,1};//升序
//外層循環(huán)代表走的趟數(shù)
for ( int i=1; i<5; i++)
{? ? ? ? ? //內(nèi)層循環(huán)代表交換的次數(shù)
for (int j=1; j<=5-i; j++) { ?
if (array8[j-1]>array8[j]) {
int temp =array8[j-1];
array8[j-1] = array8[j];
array8[j]=temp;
}
}
}
for (int i=0; i<5; i++) {
printf("%d\t",array8[i]);
}
//結(jié)果:1 3 4 5 7
字符數(shù)組
字符數(shù)組用來存放字符
char name[5]= {'a','b','c','d','e'};
printf("%s\n",name);? //結(jié)果:abcde?
printf("%lu\n",strlen(str));//結(jié)果:6
//strlen 計(jì)算字符數(shù)組長度 遇到\0就結(jié)束
//字符串拷貝
char str1 [100] = "xiaoqiang ";
char str2 [ ]= "ma chao hong";
strcpy(str1,str2);? ? ? //str1 空間一定要 >= str2
printf("%s\n",str1); ?//str1 =ma chao hong
//字符串拼接
strcat(str1, str2);? ? //str1 空間一定要 》=str2 + str1
printf("%s\n",str1); //str1 =ma chao hongma chao hong
//字符串比較
int res = strcmp(str1, str2);
printf("%d\n",res); //res =109? C語言中m的ascll編碼是109