当前位置: 移动技术网 > IT编程>开发语言>C/C++ > C++学习(十六)(C语言部分)之 数组三

C++学习(十六)(C语言部分)之 数组三

2018年07月19日  | 移动技术网IT编程  | 我要评论

好记吧点卡平台,王德枫,勇探实录国语版

复习 以及 测试

 

  1 /*
  2 一维数组
  3      数组是相同的数据的一个集合
  4      <类型><数组名>[下标表达式]={数组元素 初始值};
  5      数组名和变量的命名规则是一样的
  6      数组名是一个地址
  7      数组下标都是从0开始
  8 
  9 字符串
 10      字符串数组后面会有\0
 11      ""字符串  ''字符
 12      \0是不会输出的 只要空间够 他就会自己加上
 13      字符数组是不会自己添加 \0 需要手动添加
 14 
 15 二维数组
 16      在一位数组的基础上 加一个下标的维度
 17      可以理解为数组的数组
 18 
 19 
 20 
 21 */
 22 
 23 
 24 #include<stdio.h>
 25 #include<stdlib.h>
 26 #include<time.h>
 27 int main()
 28 {
 29     //第一种表示方法
 30     //int a, b, c, d, e, f, g;
 31     //a = 1;
 32     //b = 2;
 33     //c = 3;
 34     //d = 4;
 35     //e = 5;
 36     //f = 6;
 37     //g = 7;
 38     
 39     //第二种表示方法
 40     //int Arr[7] = {1,2,3,4,5,6,7};
 41     //printf("%d\n",Arr[3]);//0~6  Arr[3] 会打印4 数组名是地址
 42     //printf("%d\n",sizeof( Arr));
 43     //printf("%d\n", sizeof(Arr[0]));
 44     
 45     //栗子
 46     //int a[7] = { 1 };//是给数组的第一个元素进行初始化为1  其他的元素默认为0
 47     //printf("%d\n",a[2]);
 48     //0 1 2 3 4 5 6 数组元素下标与初始化的对应
 49     //1 0 0 0 0 0 0
 50 
 51     //栗子
 52     //char Name[20] = "胖七";//字符串数组
 53     //char Str1[5] = { 'H', 'E', 'L', 'L', 'O' };//后面没有\0 数组大小是5 里面的元素刚好也是5个 \0的位置没有了 所以会出现乱码
 54     //char Str[20] = { 'H', 'E', 'L', 'L', 'O' };//后面有\0
 55  //   printf("名字:%s\n",Name);
 56     //printf("Str:%s\n",Str1);
 57     //printf("Str:%s\n", Str);
 58 
 59     //栗子
 60     //char str[] = "hello";
 61     //char str1[20] = { 1, 2, 3, 4, 5, 6 };
 62     //char str2[] = {'n','i','h','a'};
 63     //char str3[] = {"niha"};
 64     //printf("%d\n",sizeof(str));  //结果为6   原因是 定义数组是没有给大小 是根据数组元素个数来计算大小的
 65     //printf("%d\n", sizeof(str1));//结果为20        定义的数组大小为20
 66     //printf("%d\n", sizeof(str2));//结果为4
 67     //printf("%d\n", sizeof(str3));//结果为5  比上一个是多了一个 \0
 68 
 69     //栗子
 70     //int arr[3][5] = {15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
 71     //int arr1[3][5] = { { 15, 14, 13, 12, 11 }, { 10, 9, 8, 7, 6 }, { 5, 4, 3, 2, 1 } };
 72     //printf("%d\n",arr[1]);//打印出的是元素14的首地址
 73     //printf("%d\n",arr1[1][2]);
 74     //printf("%d\n",sizeof(arr1));
 75     //printf("%d\n",sizeof(arr1[0]));
 76 
 77     //栗子 二维数组赋值
 78     //int arr[3][5] = { 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
 79     //arr[1][3] = 88;//可以将初始化的数组元素进行修改 将7改为88
 80     //for (int i = 0; i < 3; ++i)
 81     //{
 82     //    for (int j = 0; j < 5; ++j)//后面不能加分号
 83     //    {
 84     //        printf("%d\t",arr[i][j]);
 85     //    }
 86     //    printf("\n");
 87     //}
 88 
 89     ////栗子 随机赋值 用到随机数 rand();获取随机数的函数
 90     ////连连看游戏  需求: 1.图片是随机出现的 2.出现的图片是成对的  
 91     //int arr[3][5] = {0};
 92     ////int a = rand();//获取随机数
 93     ////int b=rand();
 94     ////printf("a:%d\n",a);
 95     ////printf("a:%d\n",b);
 96     //srand(time(NULL));//种下随机数种子 
 97     //for (int i = 0; i < 3; ++i)
 98     //{
 99     //    for (int j = 0; j < 5; ++j)
100     //    {
101     //        arr[i][j] = rand()%101;
102     //    }
103     //}
104     ////  5%2   5/2=2....1
105     //for (int i = 0; i < 3; ++i)
106     //{
107     //    for (int j = 0; j < 5; ++j)
108     //    {
109     //        printf("%d\t",arr[i][j]);
110     //    }
111     //    printf("\n");
112     //}
113 
114     //栗子 写拼图的地图游戏  需求:1数据不能重复
115     int arr[10];
116     int temp[10] = {1,2,3,4,5,6,7,8,9,10};
117     int len = 10;
118     //随机给arr数组赋值 并且不可以重复
119     for (int i = 0; i < 10; ++i)
120     {
121         int m = rand() % len;//随机获取一个下标
122         arr[i] = temp[m];
123         for (int j = m; j < len - 1; ++j)
124         {
125             temp[j] = temp[j + 1];
126         }
127         len--;
128     }
129     //输出
130     for (int i = 0; i < 10; ++i)
131     {
132         printf("%d\t",arr[i]);
133     }
134 
135     getchar();
136     return 0;
137 }



2018-07-18 12:46:54

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网