//
// main.c
// Note-04-数组
//
// Created by 刘佳斌 on 15/11/6.
// Copyright © 2015年 刘佳斌. All rights reserved.
//
#include <stdio.h>
int main(int argc, const char * argv[]) {
#pragma mark --数组
/*
介绍: 数组是一个 “有序排列” 的 容器
下标是盛放元素的序号(位置) PS:序号是从0开始
一维数组:
公式: 数据类型 名字[有多少元素] = {具体元素,每一个元素用“,”隔开}
1. 超出数组元素个数(存取值)叫做数组越界
2. 数组元素不够的时候,系统会自动使用零补全(只能少存不能多存,超出数组个数)
3. 元素的数据类型要与数组的数据类型相同
int list [3] = {1,2,3};
数组类型 名 个数 元素...
数组取值公式: 类型 变量名 = 数组名[下标]; 取出来的数组元素赋值给另一个变量的时候,这个变量的类型一定要与数组元素类型相同
int num = list[0];
数组名[要赋值的下标] = 值;
list[2] = 9;
*/
/*
int list[3] = {1,2}; // 不可数据越界
int num = list[0];
printf("%d\n",num);
list[2]=9; //给数组的某一个下标对应元素赋值
printf("第三个元素是:%d\n",list[2]);
int score[4]={99,88,77,66};
printf("第一个同学%d\n",score[0]);
printf("第二个同学%d\n",score[1]);
printf("第三个同学%d\n",score[2]);
printf("第四个同学%d\n",score[3]);
*/
#pragma mark --数组遍历 一个一个取出来
/*
一般使用循环去遍历
遍历是把数组里面全部的元素逐个取出来
取数组元素的时候,仅仅是下标不同而且是按顺序排列,可简写++
可以for循环来实现下标的排序
定义 for循环里面index这个变量 初始值是0(也就是 第一个元素的下标)
index<4 :规定 下标 最大的数 防止 数组越界
int score[]={99,88,77,66,55,44,33,22,11};
for (int i=0; i<sizeof(score)/sizeof(int); i++) {
printf("第%d个同学的成绩为:%d\n",i+1,score[i]);
}
*/
#pragma mark --给一个数组,求出有多少个元素
/*
int num[]={1,2,3,4,5,6,7};
printf("数组所占大小为%lu\n",sizeof(num)); //%lu 长整形无符号
printf("元素所占大小为%lu\n",sizeof(int));
printf("数组元素个数为%lu\n",sizeof(num)/sizeof(int));//数组所占大小/元素所占大小
*/
#pragma mark --往数组里输入数字
/*
int i;
int j;
int list[i];
for ( i=0; i<100; i++) {
printf("请往数组中输入一个数据:\n");
scanf("%d",&list[i]);
if (list[i]<=0) {
break;
}
}
for (j=0; j<i; j++) {
printf("数组中第%d个数为:%d\n",j+1,list[j]);
}
*/
#pragma mark --字符数组
/* // 字符数组:char型的数组与数字数组相同
// char 数组名[元素个数]=['元素',...];
char name[5] = {'B','r','u','c','e'};
for (int i=0; i<sizeof(name)/sizeof(char); i++) {
printf("%c",name[i]);
}
printf("\n");
//字符数组相当于一个字符串,字符串默认以\0结束
//' '引起来的是字符," "引起来的是字符串
char name2[5]="Bruce";
for (int i=0; i<sizeof(name2)/sizeof(char); i++) {
printf("%c\n",name2[i]);
}
*/
//
// char nn[3]={"ddd"};
// printf("%c\n",nn[0]);
//
return 0;
}
// main.c
// Note-04-数组
//
// Created by 刘佳斌 on 15/11/6.
// Copyright © 2015年 刘佳斌. All rights reserved.
//
#include <stdio.h>
int main(int argc, const char * argv[]) {
#pragma mark --数组
/*
介绍: 数组是一个 “有序排列” 的 容器
下标是盛放元素的序号(位置) PS:序号是从0开始
一维数组:
公式: 数据类型 名字[有多少元素] = {具体元素,每一个元素用“,”隔开}
1. 超出数组元素个数(存取值)叫做数组越界
2. 数组元素不够的时候,系统会自动使用零补全(只能少存不能多存,超出数组个数)
3. 元素的数据类型要与数组的数据类型相同
int list [3] = {1,2,3};
数组类型 名 个数 元素...
数组取值公式: 类型 变量名 = 数组名[下标]; 取出来的数组元素赋值给另一个变量的时候,这个变量的类型一定要与数组元素类型相同
int num = list[0];
数组名[要赋值的下标] = 值;
list[2] = 9;
*/
/*
int list[3] = {1,2}; // 不可数据越界
int num = list[0];
printf("%d\n",num);
list[2]=9; //给数组的某一个下标对应元素赋值
printf("第三个元素是:%d\n",list[2]);
int score[4]={99,88,77,66};
printf("第一个同学%d\n",score[0]);
printf("第二个同学%d\n",score[1]);
printf("第三个同学%d\n",score[2]);
printf("第四个同学%d\n",score[3]);
*/
#pragma mark --数组遍历 一个一个取出来
/*
一般使用循环去遍历
遍历是把数组里面全部的元素逐个取出来
取数组元素的时候,仅仅是下标不同而且是按顺序排列,可简写++
可以for循环来实现下标的排序
定义 for循环里面index这个变量 初始值是0(也就是 第一个元素的下标)
index<4 :规定 下标 最大的数 防止 数组越界
int score[]={99,88,77,66,55,44,33,22,11};
for (int i=0; i<sizeof(score)/sizeof(int); i++) {
printf("第%d个同学的成绩为:%d\n",i+1,score[i]);
}
*/
#pragma mark --给一个数组,求出有多少个元素
/*
int num[]={1,2,3,4,5,6,7};
printf("数组所占大小为%lu\n",sizeof(num)); //%lu 长整形无符号
printf("元素所占大小为%lu\n",sizeof(int));
printf("数组元素个数为%lu\n",sizeof(num)/sizeof(int));//数组所占大小/元素所占大小
*/
#pragma mark --往数组里输入数字
/*
int i;
int j;
int list[i];
for ( i=0; i<100; i++) {
printf("请往数组中输入一个数据:\n");
scanf("%d",&list[i]);
if (list[i]<=0) {
break;
}
}
for (j=0; j<i; j++) {
printf("数组中第%d个数为:%d\n",j+1,list[j]);
}
*/
#pragma mark --字符数组
/* // 字符数组:char型的数组与数字数组相同
// char 数组名[元素个数]=['元素',...];
char name[5] = {'B','r','u','c','e'};
for (int i=0; i<sizeof(name)/sizeof(char); i++) {
printf("%c",name[i]);
}
printf("\n");
//字符数组相当于一个字符串,字符串默认以\0结束
//' '引起来的是字符," "引起来的是字符串
char name2[5]="Bruce";
for (int i=0; i<sizeof(name2)/sizeof(char); i++) {
printf("%c\n",name2[i]);
}
*/
//
// char nn[3]={"ddd"};
// printf("%c\n",nn[0]);
//
return 0;
}