首页 > 其他分享 >基础实例(2)

基础实例(2)

时间:2023-04-11 17:49:09浏览次数:24  
标签:10 下标 int 元素 基础 实例 数组 赋值

C语言编程基础实例2

数组

在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类型数据元素的集合称为数组。
在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型,因此按数组元素的类型不同,数组又可以分为数值数组、字符数组、指针数组、结构数组等各种类别。

一维数组

  • 一维数组定义方式
    一维数组的定义方式如下:
    类型说明符 数组名 [常量表达式]
    例如:
    int a[10];//说明整型数组a,有10个元素
    float b[10],c[20];//说明实行数组b,有10个元素,实行数组c,有20个元素
    char ch[20];//说明字符数组ch,有20个元素
    关于数组类型有几点需要注意:
    • 数组类型实际指数组元素的取值类型。对于同一数组。其所有元素的数据类型都是相同的。
    • 数组名的书写规则应符合标识符的书写规定
    • 数组名不能与其他变量名相同
    • 方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是其下标是从0开始计算。因此5个元素分布为a[0],a[1],a[2],a[3],a[4]
    • 不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。例如:
      #define FD 5
      main(){
      int a[3+2],b[6+DF];
      }
      
      是合法的。
    • 允许在同一个类型说明中,说明多个数组和多个变量。例如:int a,b,c,d,k1[10],k2[20];
  • 一维数组元素的引用
    数组元素是组成数组的基本单元。数组元素也是一种变量,其标识方法为数组名后跟一个下标。下标标识了元素在数组中的顺序号。
    数组元素的一般形式:
    数组名[下标]
    其中下标只能为整型常量或整型表达式。如为小数时,C编译将自动取证。例如:
    a[5]
    a[i+j]
    a[i++]
    都是合法的数组元素。数组元素通常也称为下标变量。必须先定义数组,才能使用下标变量。在C语言中只能逐个地使用下标变量,而不能一次引用整个数组。
    实例1
#include<stdio.h>
//数组
int main(){
    int i,a[10];
    for (i=0;i<10;)
        a[i++]=2*i+1;
    for (i=0;i<=9;i++)
        printf("%d ",a[i]);

    printf("\n%d %d\n",a[5],a[6]);
}

结果输出:

  • 一维数组的初始化
    给数组赋值的方法除了用赋值语句对数组元素逐个赋值外, 还可采用初始化赋值和动态赋值的方法。数值初始化赋值是指在数组定义时给数组元素赋予初值,数组初始化是在编译阶段进行的。这样将减少运行时间,提高效率。
    初始化赋值的一般形式:
    类型说明符 数组名[常量表达式]={值,值,...,值};。例如:
    int a[10] = {1,2,3,4,5,6,7,8,9,10};
    C语言对数组的初始化赋值有几点规定:
    • 可以只给部分元素赋初值。
      {}中值的个数少于元素个数时,只给前面部分元素赋值。例如int a[10] = {0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋值0.
    • 只能给元素逐个赋值,不能给数组整体赋值。
      例如给十个元素全部赋1值,只能写为:int a[10] = {1,1,1,1,1,1,1,1,1,1};,而不能写为int a[10]=1;
    • 如给全部元素赋值,则在数组说明中,可以不给出数组元素的个数。
      例如:int a[5]= {1,2,3,4,5};可以写为:int a[] = {1,2,3,4,5};

标签:10,下标,int,元素,基础,实例,数组,赋值
From: https://www.cnblogs.com/bonne-chance/p/17306834.html

相关文章

  • ASN.1 基础测试
    1参考https://www.cnblogs.com/rocedu/p/14891816.html#echo打印字符串和变量值2十六进制数:30030201AA,写入文件1.der,用od查看内容,用asn1view或opensslasn1pars命令查看内容,提交截图3十六进制数:3013020105160e416e79626f64792074686572653f,写......
  • docker基础
    docker介绍什么是虚拟化?在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现......
  • 基础篇
    基础篇1、Java语言有哪些特点1、简单易学、有丰富的类库2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高)3、与平台无关性(JVM是Java跨平台使用的根本)4、可靠安全5、支持多线程2、面向对象和面向过程的区别面向过程:是分析解决问题的步骤,然后用函数把这些步......
  • AIX系统下sed的用法与实例——查询/打印/替换字符串并生成文件/删除
    sed是AIX中非常重要的文本流编辑器,它对输入的文本进行查询/打印/替换/删除等操作,并将结果写到标准输出。sed 命令包含很多功能,用于选择要修改的行,并只对选择的行作更改。首先,使用sed命令请记住:sed命令以行为单位对文本进行处理,处理完当前行,接着下一行文本输入进行处理,依次循环......
  • AIGC爆火的背后需要掌握的基础原理
    最近AIGC和大模型的大火让视频行业的老板们异常兴奋,以前制作一个视频需要经历文案、配音、画面、出镜等复杂流程,现在应用生成式AI产品自动生成文案脚本,再使用一键生成视频(TTV技术)功能,一天可以完成50条视频产出。人工智能如此降本提效,部分行业的从业者面临职业挑战。AI绘画,AI写作,AI......
  • 事务的基础概念
         ......
  • 前端之路 | 1.HTML基础必备知识学习篇
    [点击......
  • 算法基础 第二章 数据结构目录
    目录静态单链表知识点模板题目单链表题目描述思路代码静态双链表知识点模板题目双链表模板题题目描述思路代码数组模拟栈知识点模板题目模拟栈题目描述思路代码数组模拟队列知识点模板题目模拟队列题目描述思路代码单调栈知识点模板题目单调栈例题题目描述思路代码单调队列知识点......
  • 《Linux基础》05. 定时任务调度 · 磁盘分区与挂载 · 网络配置
    目录1:定时任务调度1.1:crontab1.2:at2:磁盘分区与挂载2.1:原理介绍2.2:硬盘说明2.3:磁盘目录情况查询2.3.1:lsblk2.3.2:df2.3.3:du2.3.4:tree2.3.5:其他查看指令示例2.4:分区与挂载2.4.1:fdisk2.4.2:mkfs2.4.3:mount2.4.4:umount2.4.5:相关配置文件2.5:挂载案例2.5.1:虚拟机添加硬盘2.5.2:硬盘分区2.5.......
  • JAVA基础-StringUtils
    依赖<!--commons--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.10</version></dependency>举例importorg.apache.commons.lang......