C语言第四天课堂笔记<详细+注释>
2015-11-10 21:08
459 查看
**// 数组定义:保存同种数据类型的多个数据
// int ageArray[3] = {27, 19, 22};
// int array2[5] = {2, 5, 7};
// int array3[5] = {0};
// int array4[] = {1, 4, 6, 7, 9};
// char str[10] = {‘i’, ‘p’, ‘h’, ‘o’, ‘n’, ‘e’};
// 字符串
// char str1[10] = “iphone”;
//
// for( int i = 0; i < 10; i++)
// {
// printf(“%c\n”,str[i]);
// printf(“%c\n”,str1[i]);
// }
//
// 取出数组中的元素
// 使用数组名[下标] 切记:下标从0开始
//
// int array[6] = {27, 19, 22, 26 ,23, 18};
// printf(“%d “,array[1]);
// // 修改鹏举的年龄 19-39(真实年龄)
// array[1] = 39;
// printf(“%d “,array[1]);
// printf(“\n”);
// // 输出(打印)数组中的所有元素
// //循环输出
// for (int i = 0; i < 6; i++) {
// printf(“%d “,array[i]);
// }
// printf(“\n”);
// 1、定义⼀个具有20个元素的整型数组,每个元素的取值范围是
// 30-70之间,求数组元素的和。
// int a[20] = {0};
// int sum = 0;
// 遍历数组
// for (int i = 0; i < 20; i++) {
// a[i] = arc4random() % 41 + 40;
// printf(“a[%d] = %d\n”,i,a[i]);
// sum = sum + a[i]; //相当于 sum += a[i];
// }
// printf(“sum:%d”,sum);
// 2、复制⼀个数组,即两个数组容量⼀样,把其中⼀个数组中的
// 元素复制到另外⼀个数组中。
// 实现两个数组的交换
// int a[5] = {1, 2, 3, 4, 5};
// int b[5] = {6, 7, 8, 9, 10};
// int temp[5] = {0};
// for (int i = 0; i < 5; i++) {
// temp[i] = a[i];
// a[i] = b[i];
// b[i] = temp[i];
// }
// for (int i = 0; i < 5; i++) {
// printf(“a[%d] = %d\n”,i,a[i]);
// }
// for (int i = 0; i < 5; i++) {
// printf(“b[%d] = %d\n”,i,b[i]);
// }
// 3、⽣成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相加,放到另外⼀个数组中。
// int a[10] = {0};
// int b[10] = {0};
// int c[10] = {0};
// for (int i = 0; i < 10; i++) {
// a[i] = arc4random() % 21 + 20;
// printf(“a[%d] = %d “,i,a[i]);
// b[i] = arc4random() % 21 + 20;
// printf(“b[%d] = %d\n”,i,b[i]);
// c[i] = a[i] + b[i];
// printf(“c[%d] = %d\n”,i,c[i]);
// }
// int array[5] = {1, 3, 5, 7, 9};
//printf(“%d “,array[5]);
// int a[10] = {0};
// for (int i = 0; i < 10; i++) {
// a[i] = arc4random() % 21 + 20;
// printf(“%d “,a[i]);
// }
// int t = 0;
// for (int i = 1; i < 10; i++) {
// for (int j = 1 ; j < 10; j++) {
//
// if (a[j] < a[j - 1]) {
// t = a[j - 1];
// a[j - 1]= a[j];
// a[j] = t;
// }
// }
// }
// printf(“\n”);
// for (int i = 0; i < 10; i++) {
// printf(“%d “,a[i]);
// }
//
// int array[5] = {9, 7, 5, 3, 1};
// for (int i = 0; i < 5 - 1; i++) {
// for (int j = 0; j < 5 - 1 - i; j++) {
// if (array[j] > array[j + 1]) {
// int temp = array[j];
// array[j] = array[j + 1];
// array[j + 1] = temp;
// }
// }
// }
// for (int i = 0; i < 5; i++) {
// printf(“%d “,array[i]);
// }
// 字符数组
// 字符数组两种表现形式
// char str1[] = {‘i’, ‘p’, ‘h’, ‘\0’, ‘n’, ‘e’};
// char str2[] = “iphone”; // 字符串
// // sizeof() 是用来打印数据类型或者变量 所占字节数
// // %lu 无符号的长整形
//// printf(“%lu “,sizeof(str1));
//// printf(“%lu”,sizeof(str2));
//
// printf(“%lu “,strlen(str1));
// printf(“%lu “,strlen(str2));
// 字符串的拷贝
// 拷贝: 从第一个字符开始拷贝 遇到’\0’拷贝结束
// 注意: 目标字符串的长度最好大于源字符串
// char str1[20] = {0}; // 目标字符串
// char str2[] = “I Love LanOu “; // 源字符串
// // strcpy(目标字符串,源字符串) 字符串拷贝
// strcpy(str1, str2);
// // 打印字符串 用%s 如果不是’\0’ 一个字符一个字符输出 如果遇到’\0’ 就结束
// printf(“%s”,str1);
// // 字符串的拼接
// // 注意: 被拼接的字符串长度一定要够接收拼接完的整个字符串
// char str1[100] = “I Love”;
// char str2[] = ” China”;
// // 把str2拼接到str1的后面
// strcat(str1, str2);
// printf(“%s”,str1);
// char str1[] = “你好”;
// char str2[] = “你好”;
// //接收比较的结果
// int result = strcmp(str1, str2);
// printf(“%d”,result);
// 查找字符串中的空格数:
// 例如:“I love iOS, i want an iPhone5s”
// 6个空格
// char a[] = “I love iOS, i want an iPhone5s”;
// int count = 0;
// printf(“请输入字符串:”);
// for (int i = 0; i < strlen(a); i++) {
// if (a[i] == ’ ‘) {
// count = count + 1;
// }
// }
// printf(“\n%d “,count);
//
// 将字符串倒转:
// 例如:“afjnpue”
// 转变成字符串“eupnjfa”
// (注:是改变字符串本⾝,不是反向输出)
// char str1[100] = {0};
// printf(“请输入一个字符串:”);
// scanf(“%s”,str1);
// printf(“%s\n”,str1);
// unsigned long int Length = strlen(str1);
// printf(“%lu\n”,Length);
//// if (Length % 2 == 0) {
//// for (int i = 0; i < Length / 2; i++) {
//// int t = 0;
//// t = str1[i];
//// str1[i]= str1[Length - i -1];
//// str1[Length - i -1] = t;
//// }
//// printf(“%s”,str1);
//// } else {
//// for (int i = 0; i < (Length - 1) / 2; i++) {
//// int t = 0;
//// t = str1[i];
//// str1[i]= str1[Length - i - 1];
//// str1[Length - i -1] = t;
//// }
//// printf(“%s”,str1);
//// }
// for (int i = 0; i < Length / 2; i++) {
// int t = 0;
// t = str1[i];
// str1[i]= str1[Length - i - 1];
// str1[Length - i -1] = t;
// }
// printf(“%s”,str1);
}**
// 声明一个数组 保存年龄 // n 代表数组中元素的个数 // {} 中值 是数据中元素的初值 用逗号隔开 // int 表示数组中每一个元素的数据类型 // 声明数组的公式 数据类型 数组名[常量表达式] = {初值1, 初值2...., 初值(常量表达式)};
// int ageArray[3] = {27, 19, 22};
// 数组元素个数可以用变量来表示,但是不可以进行初始化 // int count = 5; // int array[count] = {1, 3, 5, 7, 9};是错误的 // 输入声明数组是 数组元素的个数 大于 给出的数组的元素初值的个数 系统会自动补0
// int array2[5] = {2, 5, 7};
// 相当于int array3[5] = {0, 0, 0, 0, 0};
// int array3[5] = {0};
// 声明的时候没有给定元素个数 那么初值有几个元素 这个数组就有几个元素
// int array4[] = {1, 4, 6, 7, 9};
// 声明一个字符类型的数组
// char str[10] = {‘i’, ‘p’, ‘h’, ‘o’, ‘n’, ‘e’};
// 字符串
// char str1[10] = “iphone”;
//
// for( int i = 0; i < 10; i++)
// {
// printf(“%c\n”,str[i]);
// printf(“%c\n”,str1[i]);
// }
//
// 取出数组中的元素
// 使用数组名[下标] 切记:下标从0开始
//
// int array[6] = {27, 19, 22, 26 ,23, 18};
// printf(“%d “,array[1]);
// // 修改鹏举的年龄 19-39(真实年龄)
// array[1] = 39;
// printf(“%d “,array[1]);
// printf(“\n”);
// // 输出(打印)数组中的所有元素
// //循环输出
// for (int i = 0; i < 6; i++) {
// printf(“%d “,array[i]);
// }
// printf(“\n”);
// 1、定义⼀个具有20个元素的整型数组,每个元素的取值范围是
// 30-70之间,求数组元素的和。
// int a[20] = {0};
// int sum = 0;
// 遍历数组
// for (int i = 0; i < 20; i++) {
// a[i] = arc4random() % 41 + 40;
// printf(“a[%d] = %d\n”,i,a[i]);
// sum = sum + a[i]; //相当于 sum += a[i];
// }
// printf(“sum:%d”,sum);
// 2、复制⼀个数组,即两个数组容量⼀样,把其中⼀个数组中的
// 元素复制到另外⼀个数组中。
// 实现两个数组的交换
// int a[5] = {1, 2, 3, 4, 5};
// int b[5] = {6, 7, 8, 9, 10};
// int temp[5] = {0};
// for (int i = 0; i < 5; i++) {
// temp[i] = a[i];
// a[i] = b[i];
// b[i] = temp[i];
// }
// for (int i = 0; i < 5; i++) {
// printf(“a[%d] = %d\n”,i,a[i]);
// }
// for (int i = 0; i < 5; i++) {
// printf(“b[%d] = %d\n”,i,b[i]);
// }
// 3、⽣成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相加,放到另外⼀个数组中。
// int a[10] = {0};
// int b[10] = {0};
// int c[10] = {0};
// for (int i = 0; i < 10; i++) {
// a[i] = arc4random() % 21 + 20;
// printf(“a[%d] = %d “,i,a[i]);
// b[i] = arc4random() % 21 + 20;
// printf(“b[%d] = %d\n”,i,b[i]);
// c[i] = a[i] + b[i];
// printf(“c[%d] = %d\n”,i,c[i]);
// }
// 数组越界问题 // 系统不会提示你越界 需要自己注意 // 切记:不要数组越界
// int array[5] = {1, 3, 5, 7, 9};
//printf(“%d “,array[5]);
// 数组在内存当中是连续的一段存储区域 // 并且 数组名字 就是 数组元素的首地址(第一个元素的地址) // 注意: 数组不能直接整体赋值 // array1 = array2 错误的 // 数组的名字 是数组的首地址 是一个地址 并且地址是一个常量 常量在程序执行期间不能改变的量,所以数组不能直接赋值 // 1、随机产⽣10个[20,40]数,并对10个数从⼩到⼤排序。 // 采用冒泡排序 // 精髓: 前后两个数比较大小 前面大于后面的 两个数交换位置 依次继续 // 冒泡排序设计双循环 外层循环控制趟数 内层循环控制比较次数
// int a[10] = {0};
// for (int i = 0; i < 10; i++) {
// a[i] = arc4random() % 21 + 20;
// printf(“%d “,a[i]);
// }
// int t = 0;
// for (int i = 1; i < 10; i++) {
// for (int j = 1 ; j < 10; j++) {
//
// if (a[j] < a[j - 1]) {
// t = a[j - 1];
// a[j - 1]= a[j];
// a[j] = t;
// }
// }
// }
// printf(“\n”);
// for (int i = 0; i < 10; i++) {
// printf(“%d “,a[i]);
// }
//
// int array[5] = {9, 7, 5, 3, 1};
// for (int i = 0; i < 5 - 1; i++) {
// for (int j = 0; j < 5 - 1 - i; j++) {
// if (array[j] > array[j + 1]) {
// int temp = array[j];
// array[j] = array[j + 1];
// array[j + 1] = temp;
// }
// }
// }
// for (int i = 0; i < 5; i++) {
// printf(“%d “,array[i]);
// }
// 字符数组
// 字符数组两种表现形式
/** * 常用字符串处理函数 都只能对字符串进行操作,不是是字符数组 strlen(要计算的字符串) 计算字符串的长度 打印的是有效长度 从第一位开始如果不是'\0',长度加1 遇到'\0'结束,并且输出的长度不包含'\0' strcpy(目标字符串,源字符串) 字符串拷贝 strcat() 字符串拼接 strcmp() 字符串比较 */ // 字符串比字符数组多了一个'\0' // '\0' 是用来结束字符串的
// char str1[] = {‘i’, ‘p’, ‘h’, ‘\0’, ‘n’, ‘e’};
// char str2[] = “iphone”; // 字符串
// // sizeof() 是用来打印数据类型或者变量 所占字节数
// // %lu 无符号的长整形
//// printf(“%lu “,sizeof(str1));
//// printf(“%lu”,sizeof(str2));
//
// printf(“%lu “,strlen(str1));
// printf(“%lu “,strlen(str2));
// 字符串的拷贝
// 拷贝: 从第一个字符开始拷贝 遇到’\0’拷贝结束
// 注意: 目标字符串的长度最好大于源字符串
// char str1[20] = {0}; // 目标字符串
// char str2[] = “I Love LanOu “; // 源字符串
// // strcpy(目标字符串,源字符串) 字符串拷贝
// strcpy(str1, str2);
// // 打印字符串 用%s 如果不是’\0’ 一个字符一个字符输出 如果遇到’\0’ 就结束
// printf(“%s”,str1);
// // 字符串的拼接
// // 注意: 被拼接的字符串长度一定要够接收拼接完的整个字符串
// char str1[100] = “I Love”;
// char str2[] = ” China”;
// // 把str2拼接到str1的后面
// strcat(str1, str2);
// printf(“%s”,str1);
// 字符串比较 // 从第一个字符进行比较 如果一样,继续看第二个字符 如果不一样 开始进行比较 比较内容是该字符在ASCII码表中对应数 前面将去后面的 得到一个返回值,返回值是正数 则前面大 反之 则后面大,然后比较结束.如果返回值是0,那么两个字符串相同
// char str1[] = “你好”;
// char str2[] = “你好”;
// //接收比较的结果
// int result = strcmp(str1, str2);
// printf(“%d”,result);
// 练习
// 查找字符串中的空格数:
// 例如:“I love iOS, i want an iPhone5s”
// 6个空格
// char a[] = “I love iOS, i want an iPhone5s”;
// int count = 0;
// printf(“请输入字符串:”);
// for (int i = 0; i < strlen(a); i++) {
// if (a[i] == ’ ‘) {
// count = count + 1;
// }
// }
// printf(“\n%d “,count);
//
// 将字符串倒转:
// 例如:“afjnpue”
// 转变成字符串“eupnjfa”
// (注:是改变字符串本⾝,不是反向输出)
// char str1[100] = {0};
// printf(“请输入一个字符串:”);
// scanf(“%s”,str1);
// printf(“%s\n”,str1);
// unsigned long int Length = strlen(str1);
// printf(“%lu\n”,Length);
//// if (Length % 2 == 0) {
//// for (int i = 0; i < Length / 2; i++) {
//// int t = 0;
//// t = str1[i];
//// str1[i]= str1[Length - i -1];
//// str1[Length - i -1] = t;
//// }
//// printf(“%s”,str1);
//// } else {
//// for (int i = 0; i < (Length - 1) / 2; i++) {
//// int t = 0;
//// t = str1[i];
//// str1[i]= str1[Length - i - 1];
//// str1[Length - i -1] = t;
//// }
//// printf(“%s”,str1);
//// }
// for (int i = 0; i < Length / 2; i++) {
// int t = 0;
// t = str1[i];
// str1[i]= str1[Length - i - 1];
// str1[Length - i -1] = t;
// }
// printf(“%s”,str1);
int b[6] = {1,2,3,4,5,6}; for (int i = 0; i < 6 - 1; i++) { for (int j = 0; j < 6 - 1 - i; j++) { if (b[j] < b[j + 1]) { int temp = b[j]; b[j] = b[j + 1]; b[j + 1] = temp; } } } for (int i = 0; i < 6; i++) { printf("%d\n",b[i]); } return 0;
}**
相关文章推荐
- C语言第三天课堂笔记<详细+注释>
- C语言第二天课堂笔记<详细+注释>
- C语言第一天课堂笔记<详细+注释>
- c/c++ strspn / strstr / strchr
- C++模式(三)模板方法模式
- C++—特殊成员函数
- 由C++构造函数初始值列表想到的
- C++编程经验-返回局部变量的讨论
- c++primer第五版第十二章12.20习题用一个StrBlobPtr打印出StrBlob中的元素
- 操作系统中轮转法的模拟
- c++从入门到实践
- 题目1.2.4 The Seven Percent Solution(C++)
- Rational Rose 2003 逆向工程转换C++源代码成UML类图
- C语言学习——怪异的事情
- 在C语言中利用PCRE实现正则表达式
- 【c语言】 编写一个函数reverse_string(char * string)(递归实现)
- C++单链表实现冒泡排序
- C++中实数(以float为例)的存储方式
- C++链表翻转
- 黑马程序员--C语言基础--指针