首页 > 其他分享 >C语言06-数组、函数

C语言06-数组、函数

时间:2024-04-07 21:01:28浏览次数:25  
标签:初始化 06 函数 元素 C语言 数组名 数组 字符串

第 10 章 数组

10.1 数组的概念

① 数组四要素

(1)数组名:本质上是一个标识符常量,命名需要符合标识符规范。
(2)元素:同一个数组中的元素必须是相同的数据类型。
(3)下标(索引、角标):从0开始的连续数字。
(4)数组的长度:表示元素的个数。

② C 语言数组特点(不用记)

(1)创建数组时会在内存中开辟一整块连续的空间,占据的空间的大小,取决于数组的长度和数组中元素的类型。
(2)数组中的元素在内存中是依次紧密排列的且有序的。
(3)数组一旦初始化完成,其长度就是确定的,数组的长度一旦确定,就不能修改。(重点); 其中的元素值可以修改
(4)我们可以直接通过索引(下标)获取指定位置的元素,速度很快。

重点:

    // 不能给数组名重新赋值
    // arr = {10,20,30,40,50,60,79};

10.2 数组的操作

① 如何定义数组

1)方式一:先指定元素的个数和类型,再进行初始化 (先声明,再初始化赋值)
eg:
	int arr1[5];
    // 给元素赋值, 每个元素都有下标
    arr1[0] = 100;
2)方式二:指定元素的类型和个数并同时进行初始化 (声明并同时初始化赋值)
eg:	double arr2[4] = {1.4, 2.5, 3.3, 4.9};
3)方式三:指定元素的类型,不指定元素个数,同时进行初始化 (声明时不指定长度,必须同时进行初始化赋值)
eg:short arr3[] = {10,20,30,40,50,60,70,80};

② 访问数组元素

数组名[下标]

③ 数组越界

越界访问会得到随机值(垃圾值)

④ 数组长度计算

sizeof 数组名 / sizeof (元素类型);
// 或者
sizeof 数组名 / sizeof 数组名[0];  

⑤ 遍历数组 ——(将数组中的元素逐个获取到)

for (int i = 0; i < 数组长度-1; i ++)
{
    数组名[i];
}

注:// 声明长度为 len 的数组 ——声明数组的时候使用变量表示长度,C99标准增加的写法

int nums[len];

10.3 字符数组(字符串)

① 字符串的本质

本质就是元素是char类型的数组(字符数组)
最后有个字符串结束标记 \0

② 如何定义字符串

1. 跟定义数组相同,需要设置字符串结束标记
2. 定义字符串的简化写法,自动添加字符串结束标记
写法:
	第一种:数组名[]={"字符数组/字符串"};
	第二种:数组名[]="字符数组/字符串";

eg:

1、

	// 手动添加字符串结束标记
    char msg1[8] = {'B', 'e', 'i', 'j', 'i', 'n', 'g', '\0'};

    // 自动添加字符串结束标记
    char msg2[9] = {'S', 'h', 'a', 'n', 'g', 'h', 'a', 'i'};
    char msg4[10] = {'W', 'u', 'h', 'a', 'n'};

    // 不会添加字符串结束标记
    char msg3[4] = {'X', 'i', 'a', 'n'};	// 由于本身字符串有5个字符,而定义只给了4个

2、简化写法

	// 简化写法一
    char msg1[] = {"Beijing"};
    // 简化写法二
    char msg2[] = "Hello World";

③ 字符串的访问和遍历

通过下标可以访问字符串中的每个字符

10.4 多维数组

1. 多维数组的概念
2. 如何定义二维数组: 类型、行数、列数,初始化
三种:
	// 1)先声明二维数组,指定类型、行数、列数, 再初始化
    double arr1[3][2];
    arr1[0][0] = 10.0;
    arr1[0][1] = 11.0;
    arr1[1][0] = 20.0;
    arr1[1][1] = 21.0;
    arr1[2][0] = 30.0;
    arr1[2][1] = 31.0;

    // 2)指定类型、行数、列数,并初始化(同时声明并赋值)	——推荐使用这个,可读性高
    int arr2[2][3] = {
        {10, 20, 30},
        {100, 200, 300}};

    // 3)指定行数列数并初始化, 元素自动分配
    int arr3[3][4] = {10,20,30,40,50,60,70,80,90,100,110,120};

    // 4)省略行数,指定列数, 初始化, 元素自动分配
    int arr4[][4] = {10,20,30,40,50,60,70,80,90,100,110,120};

3. 二维数组的访问和遍历
4. 二维数组的内存形式

第 11 章 函数

11.1 函数的基本概念

1. 什么是函数?
   函数是具有特定功能的代码块

2. 函数的分类:
   库函数
   自定义函数

11.2 函数基本语法

① 声明函数(定义函数)

函数四要素:

① 函数名,是标识符,需要满足标识符规范
② 函数体,该函数的代码块,写在 {} 中
③ 返回值和返回类型,返回值作为函数的计算结果
③ 参数,分为形参和实参

注意:强烈不建议函数嵌套声明!

② 调用函数

1. 函数名加小括号表示函数的调用,函数只有调用函数体语句才执行,且每调用一次,函数体都执行一遍
	函数名();		——调用函数
	
2. 函数调用表达式的值是函数的返回值 

③ 返回值

1. 有返回值:返回类型与return右边表达式的值的类型一致;如果不一致会发生数据类型转换(类似于赋值过程中自动类型转发)
2. 没有返回值:
		①函数体中没有return语句;
		②return的右边是空的; 没有返回值的函数需要指定返回类型为 void
3. return 除了能够设置函数返回值,还可以结束所在的函数

④ 参数

1. 形参
   声明函数时所设置的参数,需要指定数据类型和形参名。形参的本质就是一个函数,只能在函数内部使用。
2. 实参
   调用函数时所给的参数,用于给形参赋值,数量要与形参一致。

标签:初始化,06,函数,元素,C语言,数组名,数组,字符串
From: https://www.cnblogs.com/petard/p/18119861

相关文章

  • 【C语言】文件操作(打开,关闭,写入,读取,指针位置)
    文件操作的函数在标准库stdio.h中。#include<stdio.h>1、fopen,fclose 打开文件,关闭文件fopen:打开文件。fclose:关闭文件。补充:perror:输出errno对应的错误信息。fopen:  FILE *fopen(constchar*filename,constchar*mode)参数:filename是字符串(要打开的文......
  • 【C语言】内存分区
    【C语言】内存分区文章目录【C语言】内存分区一、数据类型数据类型概念typedefvoid数据类型sizeof操作符总结二、变量变量的概念变量的修改方式三、程序内存分区模型内存分区栈区堆区全局/静态区常量区四、函数调用模型宏函数函数调用流程调用惯例函数变量传递分析......
  • 【C语言】贪吃蛇
    【C语言】贪吃蛇文章目录【C语言】贪吃蛇前言模块描述效果展示完整代码代码拆分定义蛇对象定义食物对象初始化蛇对象食物的初始化修改控制台光标位置画蛇和食物蛇移动控制基础知识游戏控制逻辑实现,接收键盘输入蛇的移动控制画墙设置光标不可见加速和显示成绩总结前......
  • 每日一题:C语言经典例题之小球蹦蹦跳跳
    题目描述调皮的小明将皮球从100m的高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第N次落地时,共经过了多少米,第N次反弹多高。输入一个正整数N,表示球落地的次数。输出 length=球第N次落地时所经过了距离high=球第N次落地反弹的高度小数点后保留4位......
  • C语言文件操作
    本篇文章从文件是什么,为什么使用文件,到怎么使用文件来介绍文件。一.文件是什么?磁盘(硬盘)上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。1.文件名文件名包含3部分:文件路径+文件名主干+文件按后缀。2.程序文件程序......
  • C语言游戏实战(11):贪吃蛇大作战(多人对战)
         成果展示:贪吃蛇(多人对战) 前言:这款贪吃蛇大作战是一款多人游戏,玩家需要控制一条蛇在地图上移动,吞噬其他蛇或者食物来增大自己的蛇身长度和宽度。本游戏使用C语言和easyx图形库编写,旨在帮助初学者了解游戏开发的基本概念和技巧。在开始编写代码之前,我们需要先......
  • C语言05-(跳转控制语句、断点调试)
    8.3跳转控制语句①break在switchcase结构中使用:跳出所在的case在循环结构(dowhile、while、for)中使用:跳出整个循环,循环结束注:跳出所在的循环!②continue在循环结构(dowhile、while、for)中使用:跳出本次循环,下次继续注:跳出所在的循环!③goto1.使用goto......
  • c语言程序实验————实验报告四
    c语言程序实验————实验报告四实验项目名称:实验报告2数据描述实验项目类型:验证性实验日期:2024年3月21日一、实验目的1.在熟练掌握if语句和switch语句的基础上,能灵活使用if语句和switch语句进行选择结构的程序设计2.学习调试程序二、实验硬、软件环境Windows计......
  • 贪心算法|1005.K次取反后最大化的数组和
    力扣题目链接classSolution{staticboolcmp(inta,intb){returnabs(a)>abs(b);}public:intlargestSumAfterKNegations(vector<int>&A,intK){sort(A.begin(),A.end(),cmp);//第一步for(inti=0;i<A.size......
  • C语言高效的网络爬虫:实现对新闻网站的全面爬取
    1.背景搜狐是一个拥有丰富新闻内容的网站,我们希望能够通过网络爬虫系统,将其各类新闻内容进行全面地获取和分析。为了实现这一目标,我们将采用C语言编写网络爬虫程序,通过该程序实现对news.sohu.com的自动化访问和数据提取。2.网络爬虫系统设计2.1网络请求与响应处理......