IOS--C 语言 Lesson Five Array 冒泡 Str

一 数组:
1.数组有 相同数据类型 组成的一组有序的数据
数组定义: 数据类型 数组名 [元素个数]{数值1,数值2,数值3….}
P: int arr[5]={1,2,3,4,5} 整数型 浮点型 float arr[5]={2.1,5.4,5.2}
[]数组元素的个数,里面只能放常量表达式,不能使用变量
2. 数组元素的访问是可以在[]内放变量的 用 for 打印数组叫遍历

int arr4 [6]={1,2,3,4,5,6};
    for (int i =0; i < 6; i ++)
    {
        printf("arr4[%d]:%d\n",i,arr4[i]);
    }
  1. 数组的定义和使用总结
    1⃣ 数组的定义是由 类型修饰符,使用不需要
    2⃣定义时[常量表达式],使用时候任何都可以
    3⃣ 定义时[]内可以不写任何数据,使用必须加[]常量/变量不能省略
    4.给 a赋值
    a1[i ]=arc4random()%(40-20+1)+20;
  1. sizeof 不是函数 ,一个运算符 返回计算数据类型,变量在内存中占得字节数
unsigned long length =sizeof(long);
    printf(" long:%lu",length);
%lu 是 unsigned long  的修饰符 
int arr11[] = {1,2,3,4,5,6};
    //计算数组元素个数
    unsigned long len = sizeof(arr11)/sizeof(int);
    printf("arr11元素个数:%lu\n",len);

二 冒泡排序
1. 公式:如果前一个元素大于大于后一个元素的值

for (int i =0; i <length -1; i ++) {
        for (int j = 0; j < 3-i -1; j ++)
        if (arr[i]> arr[i+1]) {
    //   交换两个变量
        int temp = 0;
        temp = arr[i];
        arr[i] = arr[i+1];
        arr[i+1] = temp;
    }
        printf("%d\n",arr[i ]);  }

三 字符串
1⃣ strcpy(字符串1, 字符串2) 字符串拷贝函数
//将字符串2的内容,拷贝到字符串1中,从第一个位置开始拷贝
//一定要保证字符数组1的长度足够大

  char s1[10] = "iPhone";
    char s2[10] = "lanou";
    strcpy(s1, s2);
    printf("%s\n",s1);

2⃣ strcat(字符串1, 字符串2) 字符串的拼接

//把字符串2拼接到字符串1的第一个\0所在的位置,要保证前一个数组的长达足够大
char s3[40] = "hello world";
    char s4[] = " I am coming";
    strcat(s3, s4);
   printf("%s\n",s3);

3⃣ strcmp(字符串1, 字符串2)
// 字符串的比较函数
// 字符串的比较,比较的时对应为值的字符在ASCII表中的值,如果返回值为正数,字符串1大,如果返回值是负数,字符串2大,返回值为0,(1,它们两个相等,2,它们同一位置上都是\0)

 char s5[] = "ABCeee";
    char s6[] = "ABDrrr";
    printf("%d",strcmp(s5, s6));

// 它比较的是对应位置字符ASCII值,一旦发现对应位置的ASCII值不相等直接返回

for (int i = 0; i < length-1;i++ ) {
        for (int j = 0; j  <length -i-1; j++) {
   if (strcmp(stus[j].name,stus[j+1].name)<0){
             char temp[20];
         strcmp(temp ,stus[j].name );
                strcmp(stus[j].name,stus[j+1].name);
                strcmp(stus[j+1].name,temp);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值