• iOS学习笔记---C语言第四天


     1 //⽣生成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相 加,放到另外⼀一个数组中
     2 #import <Foundation/Foundation.h>
     3 
     4 int main(int argc, const char * argv[])
     5 {
     6     
     7     int num1[10]={0},num2[10]={0},num3[10]={0};
     8     for (int i = 0; i<10; i++) {
     9         num1[i]=arc4random()%21+20;
    10         num2[i]=arc4random()%21+20;
    11         num3[i]=num1[i]+num2[i];
    12         printf("%d + %d = %d
     ",num1[i],num2[i],num3[i]);
    13          }
    14     printf("
    ");
    15     return 0;
    16 }

    一维数组,数组排序,字符数组

     一、一维数组

    数组:相同数据类型的成员组成的一组数据

    数组里只能放相同数据类型的数据

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

    int a[3]={5,3,0};//int [3]为数据类型,a为变量名

    数组元素的访问:数组名+下标。

    数组下标:数组元素在数组中的序号。从0开始,到数组总个数-1;

    下标可以是常量也可以是变量。int a[5]={2,7,4,3,0};      a[0]=2,a[3]=3;

     1 //⽣生成⼀一个具有20个元素的数组,每个元素的取值范围是30-70之间,求数组元素的和。
     2 #import <Foundation/Foundation.h>
     3 
     4 int main(int argc, const char * argv[])
     5 {
     6 
     7     //20个元素的数组
     8     int number[20]={0},sum = 0;
     9     //随机数  arc4random()%41+30
    10     for (int i = 0; i<20; i++) {
    11         number[i]=arc4random()%41+30;
    12         printf("%d ",number[i]);
    13         sum = sum +number[i];
    14     }
    15     printf("
    %d",sum);
    16     return 0;
    17 }
    //⽣生成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相 加,放到另外⼀一个数组中
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
        
        int num1[10]={0},num2[10]={0},num3[10]={0};
        for (int i = 0; i<10; i++) {
            num1[i]=arc4random()%21+20;
            num2[i]=arc4random()%21+20;
            num3[i]=num1[i]+num2[i];
            printf("%d + %d = %d
     ",num1[i],num2[i],num3[i]);
             }
        printf("
    ");
        return 0;
    }

    注意:系统不会检测数组元素的下标是否越界,编程时,必须保证数组下标不能越界

    数组是一个整体,不能直接参加运算,只能对单个元素进行处理,通常用到数组的地方都会用到循环。

    数组不能参加运算,只能对单个元素进行运算。

    二、数组排序

    冒泡排序:

     1 //随机输出0-30的数,并按从小到大排序
     2 #import <Foundation/Foundation.h>
     3 
     4 int main(int argc, const char * argv[])
     5 {
     6     
     7     int num1[10]={0};
     8     for (int i = 0; i<10; i++) {
     9         num1[i]=arc4random()%31;
    10         printf("%d ",num1[i]);
    11         
    12     }printf("
    ");
    13     for (int i = 0; i<9; i++) {
    14         for (int j = 0; j<9-i; j++) {
    15             if (num1[j]>num1[j+1]) {
    16 //                num1[j]=num1[j]^num1[j+1];
    17 //                num1[j+1]=num1[j]^num1[j+1];
    18 //                num1[j]=num1[j+1]^num1[j];
    19                 int temp = num1[j];
    20                 num1[j] = num1[j+1];
    21                 num1[j+1] = temp;
    22             }
    23         }
    24     }
    25     for (int i = 0; i<9; i++) {
    26         printf("%d ",num1[i]);
    27     }
    28     return 0;
    29 }

     三、字符数组

    用于存放字符变量的数组称为字符数组

    char c[10]={'i','p','h','o','n','e'};或者 char c[10]="iphone";

    有‘’结束标识的字符数组也称为字符串。   系统提供了很多字符串处理函数

    strlen()计算字符串长度                    strcpy()字符串拷贝             strcat()字符串拼接        strcmp()字符串比较

    字符串长度:字符串的有效长度,不包含‘’

    字符串所占的空间至少要比字符串长度大1,因为字符串以‘’表示结束,系统提供的字符串处理函数都是根据‘’来判断字符数组结束

     1 #import <Foundation/Foundation.h>
     2 
     3 int main(int argc, const char * argv[])
     4 {
     5     
     6     char name[20]="zhangsan",name1[20]="lisi";
     7 //    printf("%s length is %lu",name,strlen(name));//字符串长度
     8 //    strcpy(name1, name);//字符串拷贝
     9 //    strcat(name, name1);//字符串拼接输出zhangsanlisi
    10 //        printf("%s",name);
    11     int result = strcmp(name, name1);
    12     printf("%d
    ",result);
    13     if (result>0) {
    14         printf("%s 大于 %s",name,name1);
    15     }else if(result==0) {
    16         printf("%s 等于 %s",name,name1);
    17     }else {
    18         printf("%s 小于 %s",name,name1);
    19     }
    20 
    21     return 0;
    22 }

    数组通常与循环结合使⽤用。

    数组下标从0开始,最⼤大到数组容量-1

     一定要注意下标越界问题。 

    字符串数组在定义的时候一定要多留一个元素位置留 给’’。

  • 相关阅读:
    selenium+phantomjs爬取bilibili
    使用 python 开发 Web Service
    OBIEE 立方刷新的问题
    解析OracleOLAP使用MView刷新Cube
    Codeforces Round #755 (Div. 2, based on Technocup 2022 Elimination Round 2)(CF1589)题解
    Codeforces Round #754 (Div. 2)(CF1605)题解
    完美解读Linux中文件系统的目录结构
    C#中获取程序当前路径的集中方法
    30个优秀.net在线学习资源站点
    如何删除windows service(转帖)
  • 原文地址:https://www.cnblogs.com/limicheng/p/3781297.html
Copyright © 2020-2023  润新知