C语言第四讲(Array数组)
来源:互联网 发布:七彩虹淘宝旗舰店 编辑:程序博客网 时间:2024/05/17 03:38
一 :数组:用于存储多个相同数据类型的有序队列
数组的定义的格式: 数据类型 数组名[元素个数] = {数值1, 数值2, 数值3,... ...}
整型数组,浮点型数组等
注: !!数组越界很危险
数组定义时,元素个数可以省略,如果省略,元素个数由赋值的个数决定
例:int e[]={1,2,3,4};//有4个元素
int g[]={0};//有1个元素
int h[]={};//有0个元素,无意义
二:sizeof: sizeof(表达式 或 数据类型)
1.sizeof:用于计算表达或数据类型所占的字节数
例: unsigned long length = sizeof(char);
printf("char:%lu\n",length);
printf("short:lu\n",sizeof(short));
printf("int:%lu\n",sizeof(int));
printf("long:%lu\n",sizeof(long));
printf("float:%lu\n",sizeof(float));
printf("double:%lu\n",sizeof(double));
2.sizeof:用于计算变量所占的字节数
例: int i = 0;
printf("%lu\n",sizeof(i));
3.sizeof:用于计算数组所占的字节数
数组所占的字节数 = 元素所占的字节数*元素个数
例: int j[5] ={1, 2, 3, 4, 5};//数组中元素和元素之间要加逗号
printf("%lu\n",sizeof(j));
三:数组的使用
1.数组是一个整体,不能直接参与运算
2.我们可以通过访问数组中的元素来达到运算的目的
因为数组时有序的,通过访问下标访问数组中的元素,数组元素的下标从0开始
数组元素下标的范围[0, 元素个数-1]
格式是:数组名[下标]
例: int array[5]={1, 2, 3, 4, 5};
//第一个元素:array[0]
printf("%d\n",array[0]);
//array[5],数组越界
3.打印数组中的每个元素
遍历数组 for (int i=0; i<5; i++) {
printf("%d ", array[i]);
}
printf("\n");
给数组中的某个元素赋值
array[2] = 6;
4.定义数组和访问数组元素的区别
1).定义数组必须有数据类型
2).定义数组时,元素个数可以忽略;访问数组元素时,元素下标不能省略
四:冒泡排序
int a[7] ={12, 38, 28, 8, 67, 26, 55};
//外层循环控制趟数,比较的趟数(数组元素个数-1)
BOOL flag =YES;
for (int i= 0; i<7-1&&flag;i++ ) {
flag = NO;//内层循环控制比较次数
for (int j =0; j<7-1-i ; j++) {
if (a[j]>a[j+1]) {//比较条件//相邻两个进行比较
int temp = a[j];//元素交互,借助于第三个变量
a[j] = a[j+1];
a[j+1]=temp;
flag = YES;
}
}
}
for (int i=0;i<7 ; i++) {//打印数组
printf("%d ",a[i]);
}
printf("\n");
五:字符数组
char string[7] = {'i', 'p', 'h', 'o', 'n', 'e'};
字符数组,又叫字符串
char string1[7] = "iphone";
//注:这两种写法是完全等价的
int b[5] = {1};//1, 0, 0, 0, 0
字符数组没有赋值,默认为'\0'
char s[5] ={'i'};//'i', '\0', '\0', '\0', '\0'
字符数组的使用
string[0]='m';
printf("%c\n",string[3]);
string1[0] = 'n';
printf("%c\n",string1[4]);
//遍历字符数组,打印每个元素
for (int i=0; i<6; i++) {
printf("%c",string[i]);
}
printf("%\n");
注: %s用于打印字符数组,遇到'\0'结束
printf("%s\n",string);
printf("%s\n",s);
六:
1.strlen:strlen( )//计算字符串长度
遇到'\0'就结束,'\0'不计入长度
例: char string[10] = "I love U";
string[4] = '\0';
unsigned long length = strlen(string);
printf("length = %lu\n",length);
2. strcpy( 字符串1,字符串2)
字符串拷贝
把字符串2中的每一个元素依次拷贝到字符串1中,直到字符串2遇到'\0'结束
注:字符串1要足够的大,防止越界
例 : char str1[10] = "I Love";
char str2[10] = "you";
strcpy(str1, str2);
printf("str1:%s\n",str1);
printf("str2:%s\n",str2);
3. strcat(字符串1,字符串2)
字符串拼接
从字符串1的第一个'\0'开始,把字符2的每个元素拼接到字符串1,直到字符串2遇到'\0'结束
字符串1要足够大,防止越界!!!
例: char str1[20] = "I Love ";
str1[2] = '\0';
char str2[20] ="you";
strcat(str1, str2);
printf("str1:%s\n",str1);
printf("str2:%s\n",str2);
4. strcmp( 字符串1,字符串2)
字符串比较
用字符串1中的每个元素和对应位置的字符串2的元素的ASCII值相减,如果为0,就继续比较;如果不为0,就停止比较; 当对应的元素都是'\0'时,比较结束,并返回0
例 : char str1[10] = "dazuo";
char str2[10] = "laochai";
str1[1] ='\0';
str2[1] ='\0';
int result = strcmp(str1, str2);
printf("result = %d\n",result);
- C语言第四讲(Array数组)
- C语言第四讲
- C语言学习之关键字第四讲
- C语言第四课 数组
- C语言二维数组Array[][]
- C语言学习第八讲-数组
- C语言学习之数组第一讲
- C语言提高-32讲: 二维数组
- 漫谈C指针第四讲---指针与数组
- 《C语言及程序设计初步》第四讲实践项目
- 第四讲c语言初体验,项目1。
- 第四讲c语言初体验,项目2.
- 中国大学慕课C语言第四讲笔记
- 中国大学慕课C语言第四讲作业
- (C语言教程)第四章: 数组
- C语言教程---第四章: 数组
- C语言教程第四章: 数组
- C语言教程第四章: 数组
- 数字电路笔试题目
- C语言第六讲(Function函数)
- 使用 MyBatis 必看三篇文档导读:MyBatis、MyBatis_Generator 与 MyBatis-Spring
- C语言第五讲(ArrayPro二维与多维数组)
- 试验设计两因子无交互作用方差分析的r语言代码
- C语言第四讲(Array数组)
- C语言入门第三讲(循环Cycle)
- php的经典分页
- KNN 算法
- poj3258
- Spring源码解析——从Web项目启动过程分析开始
- C语言入门第二讲(Branch分支)
- char * const p 与 char const * p
- Java的各类型数据在内存中分配情况详解