c语言数组知识点

一.数组

      所谓数组就是一组具有相同数据类型的数据的有序组合。

即:

❶数组是一组有序数据的集合。
❷数组中的每一个元素都属于同一个数据类型,不能把不同类型的数据放在同一个数组中。
❸用一个数组名和下标来唯一确定数组中的元素。

       特点:1.具有相同的数据类型。

              2.使用过程中需要保留原始数据。

#一维数组的定义

·常量表达式指明数组中元素的个数,必须大于零。

     例如:int a[0];错误

·令数组名后是用方括号而不是圆括号。

     例如:int d(8); 错误

例如:

➢存储学生成绩用实型数组  float score[30];

➢存储一行文字用字符数组  char str[50];

➢存储一个矩阵用实型数组  float a[3][4];

其中:score、str、a为数组名

         方括号内的数值为数组长度

         下标个数为数组维数

         数组成员称为数组元素

         数组元素的类型称为数组基类型

#一维数组初始化
   3.对全部数组元素赋初值时,可以不指定数组长度。

    例如:   inta[5]=(1,2,3,4,5];
也可以写成inta[]=(1,2,3,4,5];
    4.一维数组赋初值的个数不能超过数组总元素的个数
       例如:int a[3]=(1,2,3,4];错误
 

#一维数组的输入输出

      可以对数组中任何一个元素进行单独的输入输出,每个元素等同于一个普通变量。

      数组的引用离不开循环。将数组的下标作为循环变量,通过循环,就可以对数组的所有元素逐个进行处理。

二维数组定义
定义二维数组的一般形式为
      类型说明符 数组名[常量表达式1][常量表达式2];

      其中:常量表达式1为行数;常量表达式2为列数
例如: float a[3][4], b[5][10]。
注意:
      一对方括号内不能写两个一标。
            例如:float a[3,4]错误
      数组元素个数必须是常量表达式,不能使用变量。

            例如:int i=2;j=4;
                     int a[i][i];错误
       用于定义数组长度的常量表达式必须为大于零的正整数。

              例如:int a[0][4];错误

二维数组的理解:
      二维数组可被看作一种特殊的一维数组:它的元素又是一个一维数组。

##二维数组的初始化

(1)分行给二维数组赋初值。(最清楚直观)

    int a[3][4]={(1,2,3,4),(5,6,7,8),(9,10,11,12)};

(2)可以将所有数据写在一个花括号内,按数组元素在内存中的排列顺序对各元素赋初值。

   int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

(3)如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。

     例如:int a[3][4]={1, 2,3,4,5,6,7,8,9,10, 11, 12};

     它等价于:int a[][4]={1, 2,3,4,5,6,7,8,9,10,11, 12};

在定义时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值。

       例如:int a[][4]=((0, 0, 3, , (0, 101;

#二维数组的引用

·二维数组元素引用与一维数组元素引用一样,也要采用下标法。
·二维数组元素的引用形式: 数组名[下标1] [下标2]说明:
·下标1和下标2可以是整型常量、整型变量和整型表达式。其编号从0开始。
     注意:下标不要越界
     例如:若 int a[2*4][3*3],i=10;
     则使用a[4][0],a[2][i-2]都是合法的。
说明:

☆如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。

☆如果花括号中提供的初值个数(即字符个数)大子数组长度,则出现语法错误;

☆如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。

☆如果初值个数小数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即“/0”)。

二.字符数组的输入输出
1.单个字符输入输出(用格式符%c或字符输入函数)
#include <stdio.h>
int main()
{char c[5];
int i;
for(i=0;i<5;i++)
scanf("%c",&c[i]);
for(i=0;i<5;i++)
printf("%c",c[i]);
printf("\n");
return 0;
}
2.字符串整体或部分输入输出(用格式符%s)

char str[6];

scanf(“%s”,str);

说明:

☆输入输出项必须是以字符串的地址形式出现;

☆也可以是字符串常量:printf(“%s\n”,book");

☆只能输入不包括空格、\t和\n的字符串;

☆若要输入空格,用gets函数;

☆数组名前不加&符号。

      char    字符类型

      %d       打印整数

      %c       打印字符

      %f       打印浮点数字 打小数

      %p        以地址的形式打印

      %x        打印16进制数字

    三. 常用的标准库头文件

·stdio.h是C89标准库的一个,标准库总共定义15个头文件;

·ctype.h定义字符处理函数,例如判断字符是否空白字符、字符大小写转换;math.h 定义数据函数,例如计算三角函数值、指数幂、对数、绝对值、平方、取整、求余等;

·stdio.h 定义各种输入输出,包括标准输入输出、文件读写、格式化输入输出等;

·stdlib.h定义一些通用函数,例如内存分配和释放、字符串和数字类型互相转换、随机函数、排序、查找函数等;

·string.h 定义字符串处理函数,例如求字符串长度、字符串复制、字符串比较、字符串查找等;

·time.h 定义时间和日期处理函数,例如获取当前时间。

      while ()是循环语句的开始,后面一般不加分号,如果加上分号,则表示循环体为空循环。

                            字节数

          char                 1

          short                2

          int                   4

          long                  4

          long long            8

          float                 4

          double               8

 

                   void类型

空类型,特殊类型,表示没有可用的值,用于以下三种场景:

·函数参数void,表示该函数不需要参数;

·函数返回值void,表示该函数没有返回值或返回值为空;

·指针类型void *,表示该指针转换为任意数据类型的指针。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值