广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言零基础入门(2)
  • 874
分享到

C语言零基础入门(2)

2024-04-02 19:04:59 874人浏览 泡泡鱼
摘要

目录1. 数组1.1 一维数组1.1.1 一维数组的定义1.1.2 一维数组的初始化1.1.3 一维数组的引用1.2 二维数组及多维数组1.2.1 二维数组的定义1.2.2 二维数组

1. 数组

数组是一组相同类型变量的有序集合,用于存放一组相同类型的数据。这一组变量用数组名和从0开始的下标标识,使用内存中一块连续的存储空间。依据数组中元素下标的个数分为一维数组、二维数组和多维数组。

1.1 一维数组

1.1.1 一维数组的定义

一维数组定义的一般形式为:

类型说明符      数组名[常量或常量表达式];

数组一经定义,其长度就不可改变,或者说,数组中元素的个数是固定的。程序编译或运行时,将为数组分配一块固定大小的连续的存储空间。例如:

int   array[10];

定义一维数组array,数据元素的类型为int,数组中有10个元素。这十个元素下标从0~9。

1.1.2 一维数组的初始化

(1)为数组的全部元素赋初值。如:

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

(2)对数组全部元素初始化。数组长度缺省,初值个数就是数组长度。如:

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

(3)为数组部分元素赋初值。如:

int  a[10] = {1, 2, 3, 4, 5};

只对数组前5个元素赋初值,a[0]的初值为1,……,a[4]的初值为5,其余元素的初值为0。

如果没有对数组初始化,则数组元素的初值是一个不确定的值。

1.1.3 一维数组的引用

【例】将数组中的元素逆序存放后输出(不得另外开辟数组存储空间)。

#include<stdio.h>
#define N 10
void main()
{
    int i, t, a[N];
    for(i = 0; i < N; i++)
    {
        scanf("%d", &a[i]);        //为数组元素赋值
    }
    printf("交换前的数组元素\n");
    for(i = 0; i < N; i++)        //输出交换前数组元素
    {        
        printf("%6d", a[i]);
    }
    for(i = 0; i < N/2; i++)      //交换
    {
        t = a[i];
        a[i] = a[N - i - 1];
        a[N - i - 1] = t;
    }
    printf("\n交换后代的数组元素\n");
    for(i = 0; i < N; i++)        //输出交换后数组元素
    {        
        printf("%6d", a[i]);
    }
    printf("\n");
}

运行及结果如下图所示:

1.2 二维数组及多维数组

1.2.1 二维数组的定义

二维数组定义的一般形式为:

类型说明符    数组名 [常量表达式1]  [常量表达式2];

两个方括号中的常量表达式1和2分别规定了数组第一维的长度和第二维的长度,也称为行数和列数。两个常量表达式的乘积是数组元素的个数。

事实上,二维数组是由一维数组扩展而来的。若一维数组的元素本身还是一个一维数组,则构成二维数组。以此类推,可构成三维数组,乃至多维数组。

1.2.2 二维数组的初始化

(1)按行为二维数组元素赋初值。如:

int  a [3] [5] = {{0, 1, 2, 3, 4}, {1, 2, 3, 4, 5}, {2, 3, 4, 5, 6}};

(2)使用一维数据对二维数组元素赋初值。如:

int  a [4] [5] = {0, 1, 2, 3, 4, 1, 2, 3, 4, 5, 2, 3, 4, 5, 6};

(3)按行为二维数组部分元素赋初值。如:

int  a [4] [5] = {{1, 3}, {2}, {0}, {0, 2, 4}};

(4)当对全部元素初始化或按行初始化时,第一维的长度可以缺省,但第二维的长度必须注明。如:

int  a [] [4] = {1, 2, 3, 4, 5, 6, 7, 8}

int  b [] [4] = {{1, 2, 3}, {1, 2, 3}}

1.2.3 二维数组的引用

【例】对5*5的矩阵编程

(1)求出主对角线元素的和;

(2)求出矩阵下三角元素的和;

(3)找出主对角线上最大值元素和它的位置。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容! 

--结束END--

本文标题: C语言零基础入门(2)

本文链接: https://www.lsjlt.com/news/142249.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言零基础入门(2)
    目录1. 数组1.1 一维数组1.1.1 一维数组的定义1.1.2 一维数组的初始化1.1.3 一维数组的引用1.2 二维数组及多维数组1.2.1 二维数组的定义1.2.2 二维数组...
    99+
    2022-11-13
  • C语言零基础入门(1)
    目录1. C语言简介1.1 C语言发展史1.2 C语言的特点1.3算法及其表示1.4常用算法介绍总结1. C语言简介 1.1 C语言发展史 C语言是一种广泛使用的面向过程的计算机程序...
    99+
    2022-11-13
  • perl语言十分钟入门【零基础可入】
    Perl是一种高级编程语言,适用于处理文本和执行系统管理任务。它具有简洁的语法和强大的字符串处理能力,被广泛用于编写脚本、Web开发...
    99+
    2023-10-08
    perl语言
  • C#语言入门基础介绍
    目录一、.NET 体系结构二、Hello world三、类型和变量四、程序结构前言: C#(读作“See Sharp”)是一种新式编程语言,不仅面向对象,还类型安全。 开发人员利用 ...
    99+
    2022-11-12
  • 一篇文章带你了解C语言:入门基础(2)
    目录操作符算术操作符移位操作符位操作符单目操作符逻辑反操作!操作符++,--逻辑操作符条件操作符逗号表达式常见关键字typedefexternstatic修饰局部变量修饰全局变量和函...
    99+
    2022-11-12
  • C语言文件操作零基础新手入门保姆级教程
    目录一、前言二、文件操作基础知识①什么是文件②数据文件类型③数据如何存储④如何读取二进制文件⑤什么是文件名⑥文件缓冲区⑦文件指针三、文件操作函数①fopen 与 fclos...
    99+
    2022-11-12
  • 【JavaWeb】HTML零基础入门
    ✨哈喽,进来的小伙伴们,你们好耶!✨ 🛰️🛰️系列专栏:【JavaWeb】 ✈️✈️本篇内容:HTML基础语法详解,附带综合案例。 🚀🚀代码托管平台github:Ja...
    99+
    2023-10-18
    html java 前端
  • Spring零基础入门IOC
    目录1.HelloSpring2.IOC创建对象方式2.1.通过无参构造方法来创建2.2.通过有参构造方法来创建1.HelloSpring 导入Jar包 <dependen...
    99+
    2022-11-13
    Spring IOC容器 Spring IOC
  • C语言入门之基础知识详解
    目录一、思维导图二、环境搭建三、编码规范四、基本数据类型五、分支循环5.1 分支5.2 循环六、break与continue6.1 无限循环一、思维导图 内容不限于此思维导图 二、...
    99+
    2022-11-12
  • C语言入门基础的示例分析
    这篇文章给大家分享的是有关C语言入门基础的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先上思维导图。如图所示,现在还是初识C语言的第一部分,本次只介绍了C语言本身特点,数据类型,常量变量,字符串转义字符...
    99+
    2023-06-20
  • python入门之语言基础
    目录1、注释2、代码缩进3、保留字4、标识符5、变量6、基础数据类型7、数据类型转换总结1、注释 注释是指在程序代码中添加的标注性的文字 单行注释:使用 # 注释内容 多行注释:在...
    99+
    2022-11-12
  • c语言 指针零基础讲解
    1.指针是什么(可能有点难理解) 指针的是啥? 指针实际上就是地址,地址就是系统给定的编号,编号就是一个个内存单元。 在某种情况来说指针=地址=编号=内存单元。 指针就是地址,顾名思...
    99+
    2022-11-13
  • 详解C语言初阶基础(2)
    目录1.选择语句(if)2.循环while循环for循环do-while循环补充总结1.选择语句(if) 我们先不讲switch,后面会补充。先来对简单地if进行了解。 我们已经知道...
    99+
    2022-11-12
  • C语言入门篇--sizeof与strlen基础理论
    1.sizeof (1)若求字符串占据 空间 的大小,包括字符串结尾处默认的'\0'。 (2)若所求不是字符串的大小,求的是数组、类型等的大小,不用考虑'\0',因为不是字符串,在结...
    99+
    2022-11-12
  • Java零基础入门数组
    目录认识数组数组的初始化默认初始化静态初始化动态初始化数组有关的问题数组的遍历求最值问题查询子元素Arrays工具类二维数组二维数组初始方式二维数组的遍历认识数组 数组的定义 数组是...
    99+
    2022-11-13
  • Vueexpress鉴权零基础入门
    目录token图示一点通express鉴权下载加密/解密包加密基本使用(生成token)传递Token查看token验证token讲在前面的话:一个成熟的全栈工程师开发的前后端项目鉴...
    99+
    2023-02-15
    Vue express鉴权 Vue express
  • SQL 零基础入门教程
    目录一、了解 SQL二、检索数据三、排序检索数据四、过滤数据五、高级数据过滤六、用通配符进行过滤七、创建计算字段八、使用函数处理数据九、汇总数据十、分组数据十一、使用子查询十二、联结表十三、创建高级联结十四、组合查询十五、插入数据十六、更...
    99+
    2014-09-15
    SQL 零基础入门教程
  • Swaggo零基础入门教程
    目录配置流程注意区分下载swaggo初始化快速上手gin-swagger简单测试详细配置配置流程 注意区分 go-swagger != swaggo 二者功能差不多,都是生成接口文档...
    99+
    2023-01-28
    Swaggo入门 Golang Swaggo入门
  • 零基础C#编写上位机如何入门
    C#是一种由微软开发的面向对象的编程语言,它广泛应用于Windows操作系统和.NET框架中。上位机是一种用于控制和监控下位机的计算机,它可以接收和处理来自下位机的数据,并通过图形界面等方式向用户展示这些数据。在C#中编写上位机程序可以帮助...
    99+
    2023-10-27
    上位机
  • HTML入门零基础教程(四)
    嗨,大家好,我是异星球的小怪同志 一个想法有点乱七八糟的小怪 如果觉得对你有帮助,请支持一波。 希望未来可以一起学习交流。 通过前三篇的学习,相信你们对HTML有了一些基础的了解,那么我们就来先做一个小练习,巩固一下之前所学习的知识。 目...
    99+
    2023-08-31
    html 前端 css javascript vscode
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作