C语言基础-- 冒泡排序,字符串数组


冒泡排序: 
int sort[10] = {0};
   int num = 0;
   for (int k = 0; k < 10; k++) {                      //得到一个10个整型数的数组
         sort[k] = arc4random()%(90 - 60 + 1) + 60;
            printf("%d\n",sort[k]);
        }        
     //数组中的元素的挨个访问,但因为下段程序中有+1出现,为防止访问出错,进行-1
    for (int i = 0; i < 10 - 1; i++) { 
      for (int r = 0;r < 10 - 1 -i; r++) {  //-i,执行i次就会求出i个最大数,并已在最后排好位置,减去重复的
            if (sort[r] > sort[r+1]) {    //两数进行比较,符合条件,便互换位置
          num = sort[r];                  //采用中间变量
          sort[r] = sort[r+1];
          sort[r+1] = num;
                }
            }
        }
      for (int i = 0; i < 10; i++) {  //输出已排序的数组
            printf("%d ",sort[i]);
        }

字符串数组
         概念:存放 字符串 (以 \0 结尾的字符数组) 的数组,是二维数组。
     定义: char 数组名 [ 常量表达式 1][ 常量表达式 2] = { 1 ,值 2 ,值 3...}
     访问字符串   用数组名 + 第一维的下标;
     访问字符   用数组名 + 第一维的下标 + 二维下标;
        
   注意事项
      1 、字符串数组是二维字符数组。字符数组包含字符串数组。
      2 、每个字符串的长度不可超过第二维长度 -1 :字符串需要存放 \0
      3、字符串访问:用数组名 + 一维下标。
       求字符串长度的结果数据类型是 unsigned long(无符号长整型);
      无论赋值还是比较,都要类型保持一致。
       字符串访问:数组名 + 一维下标。


      字符串处理函数:
       strlen()     计算字符串的长度
       strcpy()    字符串的复制,拷贝
       strcat()     字符串拼接
       strcmp()   字符串的比较

 //计算字符串的长度

        char str[] = " ";

        char str1[] =  "iOS";

        char str2[] = "money";

        char str3[] = "monkey";

        strlen(str);

        unsigned long len = strlen(str);

        printf("len = %lu\n",len);

        //复制

        char  newStr [] = {'\0'};

        strcpy(newStr, str);

        printf("newstr = %s \n", newStr);

        strcpy(newStr, str3);

        printf("newstr = %s \n", newStr);

        //字符串拼接

        strcat(str, str1);

        printf(" str1 = %s\n",str);


        //字符串比较函数是根据对应下标的ASSCII值作比较(减法),如果差值为0,说明两个字符2相等,接着比较下一位ASSCII值,直到遇到“\0",如果差值不为0,则返回该差值,表示两个字符是不同的

        int result = strcmp(str2,str3);

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


以上得出的结果如下:
                     

你可能感兴趣的:(C语言基础知识)