- 一、数组的特点
- 二、定义数组
- 三、数组的初始化
- 四、冒泡排序
- 五、数组函数
一、数组的特点
- 数组是同一种数据类型
- 所有的数据是相邻的
- 不能扩充(一但定义大小就不能更改)
- 不可变
- 数组中的数据访问从零开始
int num[ 5 ]
定义数组的标志就是[ ] ,[ ] 中的数值是数组的最多能存放的元素的个数。
变量在数组中称元素。
int num [ 5 ] = { 0 } ;
给数组定义时,如果{ 0 }表示数组中的所有元素都初始化为零;
如果 { 1 },表示第一个元素初始化为1,其他为零;
如果{ 1 ,2} ,表示数组中第一个和第二个元素初始化为1,2 ,其他元素为零;
如果只定义了数组,没有初始化,元素的值是随机的。
数组中的元素是通过数组+下标的方式进行访问
代码如下(示例):
#include五、数组函数int main (){ int num [5] = {14,8,27,0,89}; int temp = 0; // 冒泡排序开始 // 外循环 for (int i = 0; i< 5;i++){ // 内循环 for(int j = 0;j<4;j++){ // 从小往大排 if(num[j]>num[j+1]){ temp = num[j+1]; num[j+1]=num[j]; num[j]=temp; } } } }
字符数组的函数用gets()进行输入一组字符串
使用puts进行输出一组字符串
strlen计算数组的长度(需要加string.h头文件)
#include#include void main (void){ char s[5]={0}; printf(_Format:"请输入一个5位数:"); gets(s); size_t len =strlen(s); // 若输入的是123,数组元素为3个; printf(_Format:"数组的长度是%dn" ,len); //strlen返回的是数组的元素个数(3) printf(_Format:"数组的长度是%dn" ,sizeof(s)); //sizeof返回的是数组的长度(5) }
strcat(x,y)进行字符串的拼接,将y字符串拼接到x字符串的后面
strncat(x,y,n) 其中n表示y数组在追加到x后面,需要添加几位
void main (void){
char a[50]="hello";
//char a[50]="world";
char a[50]="w orld"; // ' '表示结尾
strcat(a,b); // 将b拼接到a后面
puts(a); // helloworld
// 加 后,输出:hellow
}
strcmp ( x, y )比较两个字符串的大小
如果x与y相同,则函数值为0
如果x大于y,则函数值为一个正整数
如果x小于y,则函数为一个负整数
按ASCII码比,小写比大写字母大
比较字符串的第一个元素,然后返回值;如果字符串中的第一个元素相同,比后一个,以此类推
void main(void){
char a[50]="h";
char b[50]="H";
int x = strcmp(a,b);
printf(_Format:"%dn",x); // h的ASCII码比H大, 结果为:1
}
strcpy字符串的拷贝
srtcpy(x,“aaaa”);将字符串赋值到数组x中
strncpy(x,“0123456789”,5)将指定字符按照指定的个数拷贝到数组x中
void main(void){
char a[50]="h";
char b[50]="H";
strcpy(a,"aaa");
pus(a); // 结果:aaa
strncpy(b,"0123456789",5);
pus(b); //结果:01234
}
sprintf 将任意数字转成字符串
sscanf 将字符串转成任意类型的数字
void main(void){
char a[50]="a";
char b[50]="123456";
sprint(a,"%d",1234);
puts(a); // 输入的是数字1234,后将其转换成字符串,由puts函数输出(puts函数原本输出的就是字符串)
int num =0;
sscanf(a,"%d",&num);
printf("num = %d ",num);
// 结果:num = 123456
}
fputs
fgets
strstr
strrchr
strchr



