*
// 一维数组的定义
// 数组类型 数组名[常量表达式] = {值1,值2...};
// 例如:
int a[5] = {1, 2, 3, 4, 5};
int b[5] = {1, 2, 3};
int c[5] = {0};
int d[] = {4, 5, 2, 2, 5, 2};
float e[] = {2.123, 4.432, 6.34};
char f[] = {'i', 'P', 'h', 'o', 'n', 'e'};
char g[] = "iPad";
// 注意这里!!!!!!!
int aa = 10;
int bb[aa]; // 定义数组的时候,中括号内部的数字可以是常量,可以是宏定义,但是不可以是变量,是变量不报错可能是XCode的原因。要注意这一点
// 数组元素的访问
// 通过 '数组名+下标' 的方式
// 数组下标:数组元素在数组中的序号。从0开始,到数组总个数-1
// 数组注意事项
// 注意区别 定义数组 和 数组元素 的区别
int h[10];
h[9];
// 二者区别:定义数组,数组名前有类型修饰符。数组元素,不带类型修饰符。
// 练习1
// 1、定义一个具有20个元素的整型数组,每个元素的取值范围是30-70之间,求数组元素的和。
int array1[20] = {0};
for (int i = 0; i < 20; i++) {
}
int sum = 0;
for (int i = 0; i < 20; i++) {
}
// printf("sum = %d", sum);
// 2、复制一个数组,即两个数组容量一样,把其中一个数组中的元素复制到另外一个数组中。
int array2[5] = {10, 24, 32, 5, 23};
int array3[5] = {0};
for (int i = 0; i < 5; i++) {
}
for (int i = 0; i < 5; i++) {
}
// 3、生成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相加,放到另外一个数组中。
int array4[10] = {0};
int array5[10] = {0};
int array6[10] = {0};
for (int i = 0; i < 10; i++) {
}
// 把前两个
for (int i = 0; i < 10; i++) {
}
// 打印结果
for (int i = 0; i < 10; i++) {
}
// 数组排序
// 排序种类:冒泡排序、选择排序、插入排序、归并排序等等
// 我们下面只说一种冒泡排序,感兴趣的同学自己去研究其他的排序方法
// 冒泡排序涉及到双循环,外层循环控制趟数,内层循环控制比较次数
// 练习2
// 1、随机产生10个[20,40]数,并对10个数从小到大排序。
int arr[10] = {0};
for (int i = 0; i < 10; i++) {
}
// 排序前打印
printf("排序前:\n");
for (int i = 0; i < 10; i++) {
}
// 排序
for (int i = 0; i < 10 - 1; i++) {
}
// 排序后
printf("\n排序后:\n");
for (int i = 0; i < 10; i++) {
}
// 字符数组
// 用于存放字符变量的数组称为字符数组
// 字符数组属于一维数组,定义方式与普通一维数组相似,只是类型是char
char iphone1[] = {'i', 'P', 'h', 'o', 'n', 'e', '\0'};
// 或者
char iphone2[] = "iPad";
// 打印字符数组,也就是字符串
printf("%s\n", iphone1);
printf("%s\n", iphone2);
// 系统给我们提供了很多处理字符串的函数
// 1. 计算字符串的长度
unsigned long length = strlen(iphone1);
printf("length = %lu\n", length);
// 2. 字符串拷贝
char iphone3[10];
strcpy(iphone3, iphone1);
printf("iphone3 = %s\n", iphone3);
// 3. 字符串拼接
strcat(iphone3, iphone2);
printf("iphone3 = %s\n", iphone3);
// 4. 字符串比较
int result =
printf("result = %d\n", result);
// 练习4 查找空格个数
// 使用for循环解决问题
int count = 0;
char str[] = "I love iOS, i want an iPhone5s";
for (int i = 0; i < strlen(str); i++) {
}
// printf("count = %d\n", count);
// 使用while循环解决问题
int i = 0, num = 0;
while (str[i] != '\0') {
}
printf("num = %d\n", num);
// 练习5: 将字符串倒转:
char name[] = "1234";
// printf("倒转之前:%s\n", name);
unsigned long nameLength = strlen(name);
for (int i = 0; i < nameLength / 2; i++) {
}
// printf("倒转之后:%s\n", name);