您的位置:首页 > 移动开发 > IOS开发

ios第四天

2015-10-24 10:33 183 查看
// 数组定义:保存同种数据类型的多个数据 // 声明一个数组 保存年龄 // [3] 3 代表的数组中元素个数 // {} 中值 是数组中元素的初值 用逗号隔开 // int 表示数组中每一个元素的数据类型 // 声明数组公式 // 数据类型 数组名字[常亮表达式]= {初值1,初值2,...};// int ageArray[3] = {27, 19, 22};// float scoreArray[5] = {55.5, 66.6, 77.7, 88.8, 99.9};// // 数组元素个数可以用变量来表示 但是不可以进行初始化// int count = 5;// int array[count] = {1, 3, 5, 7, 9};// // 如果声明数组时 数组元素的个数大于 给出的数组元素初值的个数 系统自动补0// int array2[5] = {2, 5, 7, 0, 0};// // // // // 相当于 int array3[5] = {0, 0, 0, 0, 0};// int array3[5] ={0};// // // // // // 声明的时候没有给定元素个数 那么初值有几个元素 这个数组就又几个元素// int array4[] = {1, 4, 6, 7, 9};// // // // // // // 声明字符类型数组 i p h o n e// char str[10] = {'i', 'p', 'h', 'o', 'n', 'e'};//// // // // // // 字符串// char str1[] = "iphone"; // 取出数组中元素 // 使用 数组名[下标] 切记:下标从零开始// int array[3] = {27, 19, 22};// // printf("%d ",array[1]);// // 修改鹏举年龄 19->39(真实年龄)// array[1] = 39;// printf("%d ",array[1]);// // // // // 输出数组中的所有元素 遍历// // 循环输出// for (int i = 0; i < 6; i++) {// pintdf("%d ", array[i]);// } // 1、定义个具有20个元素的整型数组,每个元素的取值范围是30-70之间,求数组元素的和。// int array[20] = {0};// int sum = 0;// for (int i = 0; i < 20; i++) {// int random= arc4random() % (70 - 30 +1) +30;// // 赋值数组的每一个元素// array[i] = random;// printf("%d",array[i]);// sum += array[i]; // 相当于 sum = sum + array[i];// }// printf("%d",sum); // 2、复制个数组,即两个数组容量样,把其中个数组中的元素复制到另外个数组中。// int array[5] = {3, 6, 9, 7, 10};// int array1[5] = {0};// // // 遍历数组// for (int i = 0; i < 5; i++) {// // 把老数组的值出去来 赋值新数组的对应元素// array1[i] =array[i];// // printf("%d", array1[i]);// } // 3、成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相加,放到另外个数组中。// // int array[10];// int array1[10];// int array2[10];// for (int i = 0; i < 10; i++) {// int random = arc4random() % (40 - 20 + 1) + 20;// array[i] =random;// int random1 = arc4random() % (40 - 20 +1) + 20;// array1[i]= random1;// array2[i] = array[i] + array1[i] ;// printf("%d",array2[i]);// }// // 数组越界问题 // 系统部会提示你越界 需要你自己注意 // 切记: 不要数组越界// int array[5] = {1, 3, 5, 7, 9};// printf("%d",array[5]); // 数组在内存中 是一段连续的存储区域
// 并且 数组名字就是数组元素的首地址(第一个元素的地址) // 注意: 数组不能直接赋值 // array1 = array2 错误的 //数组的名字 是元素 首 地址 是一个地址 并且地址是一个常量 常量是程序执行期间不能改变的量 所以数组不能直接赋值 // 冒泡排序 // 精髓 : 前后两个数比较大小 前后大于后面的 两个数交换位置 依次继续 // 比较趟数 5 - 1 比较4趟 // 每趟比较次数 5 - 1 - i(趟数)// int array[5] = {9, 7, 5, 3, 1};// // 外层控制比较的趟数// for (int i = 0 ; i < 5 - 1; i++) {// // 内层循环 控制每趟比较的次数// for (int j = 0; j < 5 - i - 1;j++ ) {// // 比较过程 2个数比大小 前面大 交换// if (array[j] > array[j+1]) {// // 交换 通过中间值交换(第三只手)// int temp = array[j];// array[j]= array[j+1];// array[j+1]= temp;// }// // }// // }// for (int j = 0 ; j < 5 ; j++) {// printf("%d ",array[j]);// }// // 1、随机产10个[20,40]数,并对10个数从到排序。 // int array[10] = {0};// for (int i = 0; i < 10; i++) {// int random = arc4random() % (40 - 20 +1 ) + 20;// array[i] = random;//// printf("%d",array[i]);//// // printf("\n");// }// for (int i= 0; i < 10 ; i++) {// for (int k = 0; k < 10; k++) {// if (array[k] > array[k + 1]) {// int temp = array[k];// array[k] = array[k + 1];// array[k + 1] = temp;// // }// }// }// for (int k = 0; k < 10; k++) {// printf("%d ",array[k]);// }// // 字符数组两种表现形式 iPhone // 字符串比字符数组多了一个'\0' // '\0'是用来 结束字符串的// char str1[] = {'i', 'p', 'h', 'o',// 'n', 'e'};// char str2[] = "iPhone"; // 字符串// // 打印数据类型或者变量的 所占字节数// // sizeof()// // %lu 无符号的长正型// // unsigned long number1 = sizeof(str1)// // printf("%lu",sizeof(str1));// // 计算字符串长度 // strlen(要计算字符串)// char str[] = "I Love LanOu";// // 打印有效长度// // 从第一个字符开始 如果不是'\0' 长度加1 遇到'\0'结束 并且输出的长度不包含'\0'// printf("%lu",strlen(str));// // 字符串的拷贝 // 拷贝 : 从第一个字符开始拷贝 遇到'\0' 拷贝结束 // 注意 : 目标字符串的长度最好大于源字符串// char str1[20] = {0}; // 目标字符串// char str2[] ="I Love LanOu"; // 源字符串// // strcpy(目标字符串, 源字符串)// strcpy(str1, str2);// // 打印字符串 用%s 一个字符一个字符输出 如果不是'\0' 就结束// printf("%s",str1);// //// // //
// 字符串拼接 // 注意: 被拼接的字符串长度一定要够接受拼接完的字符串长度// char str1[100] = "jiang long ";// char str2[] = "Love zang jie";// // // // 把后面的str2 拼接到 str1 的后面// strcat(str1 , str2); // 字符串比较// char str1[] = "I Love You";// char str2[] = "I Niss You";// // 接受比较的结果// // 从第一个字符开始比较 如果一样 继续看第二个字符 如果不一样 开始进行比较 比较的内容是该字符在ASCKII码表中对应数 前面的减后面的 得到一个返回值 返回值是正数 则前面大 反之 后面的大 然后比较结束 如果返回值是0 那么两个字符串相同// int number = strcmp(str1, str2);// // 查找字符串中的空格数:// 例如:“I love iOS, i want an iPhone5s”// 6个空格 // 声明一个变量计算空格数// int count = 0;// char str[] = "I love iOS, i want an iPhone5s";// // 遍历数组// for (int i = 0; i < strlen(str); i++) {// // 判断这个字符是不是空格// if (str[i] ==' ') {// count++; // 如果是空格 就自增// }// }// // printf("%d",count); // 将字符串倒转:// 例如:“daozhenianshilv”// 转变成字符串“vlihsnainehzoad”// (注:是改变字符串本,不是反向输出) // 声明字符串// char str[] = "daozhenianshilv";// // 倒转只需要 倒转长度一半次数// for (int i = 0; i < strlen(str) / 2; i++) {// // 前后交换位置 利用第三变量// char temp = str[i];// str[i] = str[strlen(str) - i - 1];// str[strlen(str) - i - 1] = temp;// // }// printf("%s", str);//
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言