day-7 数组

数组概念
  数组 是 一组相同类型的数据集合 (变量的集合)
整型数组 
    一维整型 
    二维整型 
字符型数组 
  一维字符型 
 
数组:
   数组也是一种数据类型 
    
   int a; //
   数据类型 变量名; //标识符 
   
   
一维整型数组:
  类型说明符 数组名[常量表达式];
 
   类型说明符 
       基本数据类型 int /float /char 

   数组名 
      名字 --标识符 -- 命名规则 
      
   []  
      表示 --你现在定义的是一个数组类型 
      
   常量表达式 
      数组长度 代表的是 批量的定义了多少个 变量(数据)
  int a[10]; //表示,定义了一个 包含了 10 个 int元素(变量)的数组 
   int a; //
   数据类型 变量名; //标识符 
   
   int a[10];   //标识对应的数据类型怎么看?
                //干掉标识符 ,剩下的就是标识符对应的类型 
   
   int[10] a; //int[10] --数组类型 
           
    内存放 是怎样存放的?:数组 是一片连续的空间
    数组的特点:
    连续型 
    单一型
    有序性
  //数组元素赋值 

数组的给值:
  初始化
  int a[10] = {1,2,3,4,5,6,7,8,9,10}; //全部初始化、 {} 表示 初始化器 
  int a[10] = {1,2,3,4,5}; //部分初始化  ---给出的值,按数组元素顺序依次给到,未给出的值,默认初始化为0 
  int a[10] = {0}; //初始化为0 
  int a[10] = {}; // {} 初始化器 全部初始化为0 
  int a[10]; //不初始化 --此时每个元素中是随机值
  int a[]; //定义数组时,长度可以省略,但是要求,必须有初始化的值 
           //此时数组长度,由编译器根据 初始化值的个数推算
  赋值: //只能给到具体的数组元素 

注意:
   数组不能整体赋值 
   a 代表数组整体 这个类型 不能整体赋值 
   能赋值的是,数组的每个元素    
  
数组的访问:
  
  语法格式:
   数组名[下标] // 此时的[]不同于定义时的[],此时的[]表示的是数组下标运算 (运算符)

  int a[10];
   下标:
   整型数 
   0~数组长度-1 
   
   下标的本质--实际上是一个偏移量,针对于数组起始位置的偏移量 //指针 
   
   
  数组名:
  
     数组名[下标] //所谓的数组下标运算,本质上是一个指针运算
     
     数组名 ---所代表的类型  ---数组类型 
                    所代表的值    ---数组首元素的地址
              
    int a = 10;
    a[0]
    
    
//    1+2
//    2+1 
问题:
   1. 数组的越界访问
      编译器不检查
      程序员自己小心 
  

作业:
1. 求斐波那契数列前n项的和值  
   1 1 2 3 5 8 13 21 34 55 ...

   思路:
         a b n
     1 1 2 3 4 5 6 7 
     第三项 开始 每一项都是前两项之和
     
   流程:
      1.准备数据 
      sum = 0; 
      n = 0;
      a = 1;
      b = 1;
      
      
      2.处理 
      while ()
      {
       sum = sum + n;
       n = a + b; //第三项 开始 每一项都是前两项之和
       a = b;
       b = n;
      }
       
      3.输出 
       

   
2.
在歌手大奖赛中有若干裁判为歌手打分,计算歌手最后得分的方法是:
去掉一个最高分,
去掉一个最低分,取剩余成绩的平均分。
编写程序,
输入一个歌手的若干成绩,以-1作为输入结束标记,计算歌手的最后得分。

3. 思考题:
   
   编写程序,求a+aa+aaa+…+aa…a,其中a是一个数字。
   
   例如:
   3+33+333+3333+33333(此时n为5)。
   
   要求a和n从键盘输入,
   输出格式为3+33+333+3333+33333=37035。"


   3 
   3 + 33 
   3 + 33 + 333    
   
   a = 3;
   t = 0;
   
   t = t*10 + a;  // 3    //t = 3;
                          //t = 33;
                          //t = 333;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值