一维数组(Xcode)

本文详细介绍了如何声明和初始化一维数组,并通过示例展示了动态填充数组、计算数组元素之和、生成两个随机数组并相加以及数组排序、字符串操作等基本操作。同时还涉及了数组在内存中的表示和大小计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一位数组:

相同数据类型的 若干成员 所有组成的一组数据;

类型说明符 数组名[常量表达式/元素个数] = {值1, 值2, ...};

 int array[5] = {2,3,4,5,1};

若没有给数组分配内存空间, 系统自动按照初值个数分配内存空间;

数组访问 

索引/下标 index;

int array[5] = {8, 5, 8, 3, 3};

注意越界问题;
遍历访问数组的每一个元素
 1.定义⼀一个具有20个元素的整型数组,每个元素的取值范围是30-70之间,求数组元素的和。

    int a[20] = {};

    int sum = 0;

    for (int i = 0; i < 20; i++) {

        a[i] = arc4random() % (70 - 30 + 1) + 30;

        printf("%d ",a[i]);

        sum = sum + a[i];

    }

    printf("\n%d",sum);

 3、⽣生成2个数组,每个数组都有10个元素,元素取值范围20-40 之间,数组对应元素相加,放到另外⼀一个数组中。 

    int a[10] = {}, b[10] = {}, c[10] = {} ;

    for (int i = 0; i < 10; i++) {

        a[i] = arc4random() % (40 - 20 +1) + 20;

        b[i] = arc4random() % (40 - 20 +1) + 20;

        c[i] = a[i] + b[i];

    }

    printf("a[10] = {");

    for (int i = 0; i < 10; i++) {

        printf("%d ",a[i]);

    }

    printf("}\nb[10] = {");

    for (int i = 0; i < 10; i++) {

        printf("%d ",b[i]);

    }

    printf("}\nc[10] = {");

    

    for (int i = 0; i < 10; i++) {

            printf("%d ",c[i]);

    }

    printf("}");

冒泡排序:

int a[10] = {1, 23, 67, 4, 3, 2, 5, 67, 8, 21, 9};

    int flag = 1;

    for (int i = 0; i < 9; i++) {

        flag = 0;

        for (int j = 0; j < 9 - i; j++) {

            if (a[j] < a[j + 1]) {

                int m = a[j];

                a[j] = a[j + 1];

                a[j + 1] = m;

                flag = 1;

            }

        }

    }


字符数组/字符串

字符串的结束标志 \0
sizeof 计算内存空间

    char string[] = {'i','p', 'h', 'o', 'n', 'e'};

    char string1[] = "iphone" ;

    int a = sizeof(string1);

    int b = sizeof(string);

    printf("%d\n", a);

    printf("%d\n", b);


字符串长度
strlen(const  char*)//无符号长整型 计算字符串长度
//参数 : 字符串
//返回值 : 字符串长度

    char name[] = "shuoshuo";

    unsigned long length = 0;

    length = strlen(name);

    printf("%lu",length);


strcpy(char *, const char *)//字符串拷贝

//参数 : 目标串 原串

strcat()字符串拼接

strcmp()字符串比较

strcmp 找到第一个不同的字符作比较(ASCII)

   char str1[] = "iPhone6s";

    char str2[] = "iphone6";

    int result = 0;

    result = strcmp(str1, str2);

    printf("%d\n",result);

    int num = 0;

    char a[] = "I love iOS, i want an iPhone6s";

    unsigned long length = 0;

    length = strlen(a);

    for (int i = 0; i < length; i++) {

        if (a[i] == ' ') {

            num++;

        }

    }

    printf("%d",num);






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值