C语言程序设计第06章 数组

合集下载

c语言数组的定义

c语言数组的定义

c语言数组的定义C语言数组的定义C语言是一种高级编程语言,它支持数组这种数据结构。

数组是一种有序的集合,它由相同类型的元素组成。

在C语言中,数组被广泛应用于各种场景,如存储一组数字、字符串等。

一、数组的概念数组是一种数据结构,它由相同类型的元素组成。

这些元素在内存中是连续存储的。

每个元素可以通过索引来访问。

二、C语言中数组的定义在C语言中,要定义一个数组需要指定以下内容:1. 数据类型:指定数组中元素的数据类型。

2. 数组名:给数组起一个名称。

3. 数组长度:指定数组中元素的数量。

例如:int numbers[5];这条语句定义了一个名为numbers的整型数组,它包含5个整数。

三、初始化数组在定义一个数组时,可以选择初始化它。

初始化意味着给定初始值给每个元素。

例如:int numbers[5] = {1, 2, 3, 4, 5};这条语句将创建一个包含5个整数的整型数组,并将第一个元素设置为1,第二个元素设置为2,以此类推。

四、访问和修改数组元素要访问或修改一个特定位置上的元素,需要使用该位置上的索引。

例如:int numbers[5] = {1, 2, 3, 4, 5};int x = numbers[0]; // 访问第一个元素numbers[1] = 10; // 修改第二个元素这条语句将访问数组中的第一个元素,并将其赋值给变量x。

然后它将修改数组中的第二个元素,将其设置为10。

五、多维数组C语言支持多维数组,它们是由一维数组组成的。

例如:int matrix[3][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};这条语句定义了一个名为matrix的3x3整型数组,其中每个元素都是一个整数。

可以通过两个索引来访问特定位置上的元素。

六、指向数组的指针在C语言中,可以使用指针来引用数组。

例如:int numbers[5] = {1, 2, 3, 4, 5};int *p = numbers; // 将p指向numbers数组这条语句创建了一个名为p的整型指针,并将其设置为指向numbers 数组的首个元素。

C语言第六章_数组_2

C语言第六章_数组_2

if (a[i]>a[i+1])
{temp=a[i];a[i]=a[i+1];a[i+1]=temp;14}
#include <stdio.h> main(){ /*对10个整数排序*/
int a[10]={9, 8, 5, 4, 2, 0, 6, 1, 3, 7}, i, k; for (k=1;k<10;k++)
f0=1 (n=0m) ain(){
f1=1
(n=1) int i; long f [20]={1,1};
0 f1n=fn-1f+[0f]n-2 (nfo2r) (i=2;i<20;i++)
1
1
f[1]
2
2
f[2]
f[i]=f[i-2]+f[i-1];
3
3
f[3]
for(i=0;i<20;i++)
4
数组是具有一定顺序的若干同数据类型变 量的集合体。数组要有名称,要有规模。
一.一维数组定义
类型说明符 数组名[常量];
例如:int a[6]; a = = &a[0]
a
内存映象:编译时分配一片连续的内 存空间,数组名为该空间的首地址— —常量地址。
0 a[0]
1 a[1]
2 a[2]
3 a[3]
1
4 a[4]
4
一行一行地存储所有的数组 5
a[0][1] a[0][2] a[0][3] a[1][0] a[1][1]
元素,数组名为该空间的首 6 a[1][2]
地址——地址常量。
7 a[1][3]
8

大学C语言程序设计 第六章

大学C语言程序设计 第六章

2.函数表达式: 2.函数表达式: 函数表达式
功能:将函数作为表达式的一部分。 功能:将函数作为表达式的一部分。 如: c=2*max(a,b); 要点:要求函数带回一个确定的值,以参加表达式的运算。 要点:要求函数带回一个确定的值,以参加表达式的运算。
3.一个函数作为另一个函数的参数: 3.一个函数作为另一个函数的参数: 一个函数作为另一个函数的参数
若不需要函数带回任何值,可使用: 若不需要函数带回任何值,可使用:
void printstar(){ …} } void print_message(){…} print_message(){ }
例exp6_5:函数返回值的类型与其定义的 exp6_5:函数返回值的类型与其定义的 类型不符的情况。 类型不符的情况。
一函数的定义重点二函数的调用重点1函数的一般调用2函数的嵌套调用3函数的递归调用三数组作为函数的参数难点四局部变量与全局变量难点五变量的存储类别难点六内部函数与外部函数1概述2函数定义的方法重点3函数的参数难点4函数的返回值难点1c程序的基本结构回顾2什么是函数
第六章
[教学要求] 教学要求]


1.理解函数的功能。 理解函数的功能。 2.掌握函数定义的一般形式(重点)。 掌握函数定义的一般形式(重点)。 掌握函数的形参与实参的对应关系、 3.掌握函数的形参与实参的对应关系、参数传递方法及函数返回值 的概念(难点) 的概念(难点) 。 掌握函数调用的基本方法(重点) 4.掌握函数调用的基本方法(重点) 。 掌握函数嵌套调用的一般过程(重点) 5.掌握函数嵌套调用的一般过程(重点) 。 了解函数递归调用的几种形式。 6.了解函数递归调用的几种形式。 掌握数组名作为函数的参数的一些特点(难点) 7.掌握数组名作为函数的参数的一些特点(难点) 。 8.掌握局部变量与全局变量的概念及它们的使用特点(难点) 。 掌握局部变量与全局变量的概念及它们的使用特点(难点) 掌握动态存储变量与静态存储变量的含义,会正确识别和使用。 9.掌握动态存储变量与静态存储变量的含义,会正确识别和使用。 10.了解内部函数与外部函数的含义。 10.了解内部函数与外部函数的含义。

C语言 第六章 数组

C语言 第六章 数组
2.
6
6.1 排序问题
3. 初始化
类型名 数组名[数组长度]={初值表}; 初值表中依次放着数组元素的初值。例如: int a[10]={1,2,3,4,5,6,7,8,9,10}; 静态存储的数组如果没有初始化,系统自动给所有的数组元素赋0。 即 static int b[5]; 等价于 static int b[5]={0,0,0,0,0}; 初始化也可以只针对部分元素,如 static int b[5]={1,2,3}; 只对数组b的前3个元素赋初值,其余元素的初值为0。又如 int f[20]={0,1}; 对数组f的前两个元素赋初值,其余元素的值 不确定。
18
6.2 矩阵中最大值的位置
4. 使用二维数组编程
例7:定义一个3*2的二维数组a,数组元素的值由下式给 出,按矩阵的形式输出a。a[i][j]=i+j(0≤i ≤2, 0≤j ≤1), 见文件p131ex7-6.cpp
i
j
第1次 第2次 第3次 第4次 第5次
第6次
0 0 1 1 2
2
0 1 0 1 0
9
6.1 排序问题
4. 使用一维数组编程
例4:输入一个正整数n(1<n≤10), 再输入n个整数,将它们存入 数组a中。 ① 输出最小值和它所对应的下标。 ② 将最小值与第一个数交换,输 出交换后的n个数。 数组的长度在定义时必须确定, 如果无法确定需要处理的数据 数量,至少也要估计其上限, 并将该上限值作为数组长度。 因为n ≤10,数组长度就取上 限10。此外,如果用变量 index记录最小值对应的下标, 则最小值就是a[index]。 见p124ex7-4.cpp
8
6.1 排序问题
4. 使用一维数组编程

C语言数组教案范文

C语言数组教案范文

C语言数组教案范文
一、数组概念
1、数组是由相同类型的元素构成的有序集合,类似一个列表,其中所有元素都具有相同的类型,并且类型不能改变。

2、数组由零个或多个相同类型的元素组成,这些元素的类型必须一致,而且每个元素在数组中只能出现一次。

3、数组的长度是由元素的个数决定的,数组的长度不能改变。

二、数组的定义
1、数组的定义和变量的定义类似,首先需要指定数组的长度,然后定义数组名,最后指定数组元素的类型。

2、使用数组来定义一个变量需要以下关键字:
Type [ ] Arrayname;
其中Type是数组元素的类型,Arrayname是数组名,[]是数组的长度。

三、数组的初始化
1、在定义数组后,要对数组中的元素进行初始化,以便使用。

2、在初始化之前,必须确定数组的长度,并且每个数组元素的类型必须一致。

3、数组的初始化可以使用下列语法:
Type Arrayname[ ] = {val1, val2, val3,…valn};
其中val1, val2, val3, ...valn代表数组中的元素,可以不指定这些元素的值,此时。

四、数组的访问
1、数组中的每个元素都具有唯一性的下标,下标从0开始,范围为0-n-1,其中n是数组的长度。

2、要访问数组的元素,可以使用下面的语法:
Arrayname[index];
index是数组元素的下标。

c 语言数组语法

c 语言数组语法

一、引言在C语言中,数组是一种非常重要的数据结构。

它可以存储一系列相同类型的数据,并且可以通过下标来访问这些数据。

本文将详细介绍C语言中数组的语法,包括数组的定义、初始化、访问、遍历等内容。

二、数组的定义数组的定义需要指定数组的类型、名称和大小。

例如,定义一个包含5个整数的数组可以使用以下语法:```int myArray[5];```这个语法中,`int`表示数组的类型,`myArray`是数组的名称,`[5]`表示数组的大小。

需要注意的是,数组的大小必须是一个正整数。

另外,数组的元素可以是任何C语言数据类型,例如`char`、`float`、`double`等。

三、数组的初始化数组的初始化可以在定义时进行,也可以在后续的代码中进行。

例如,定义一个包含3个整数的数组并初始化可以使用以下语法:```int myArray[3] = {1, 2, 3};```这个语法中,`{1, 2,3}`表示数组的初始化值。

需要注意的是,初始化值的数量必须等于数组的大小。

另外,如果只给部分元素赋值,其他元素将自动初始化为0。

例如,定义一个包含5个整数的数组,只给前3个元素赋值可以使用以下语法:```int myArray[5] = {1, 2, 3};```这个语法中,`myArray[0]`、`myArray[1]`和`myArray[2]`分别被赋值为1、2和3,而`myArray[ 3]`和`myArray[4]`被自动初始化为0。

四、数组的访问数组的元素可以通过下标来访问。

下标从0开始,依次递增。

例如,访问上面定义的`myAr ray`数组的第一个元素可以使用以下语法:```int firstElement = myArray[0];```这个语法中,`myArray[0]`表示数组的第一个元素。

需要注意的是,数组的下标不能超出数组的大小。

否则会导致访问越界,可能会导致程序崩溃。

五、数组的遍历数组的遍历可以使用循环语句来实现。

C语言数组了解数组的定义和使用

C语言数组了解数组的定义和使用C语言数组:了解数组的定义和使用数组是C语言中一种重要的数据结构,它可以用于存储一系列相同类型的元素。

在本篇文章中,将详细介绍C语言数组的定义和使用方法。

一、数组的定义数组的定义需要指定元素类型和数组的大小。

以下是一个基本的数组定义的语法:```c数据类型数组名[数组大小];```其中,数据类型表示数组中元素的类型,数组名是数组的标识符,而数组大小指定了数组中元素的个数。

例如,下面的代码展示了一个包含5个整数的数组的定义:```cint numbers[5];```这样就定义了一个名为numbers的整型数组,它可以存储5个整数。

二、数组的使用1. 初始化数组在定义数组的同时,可以对数组进行初始化。

对数组进行初始化可以通过多种方式实现。

1.1 直接初始化可以使用花括号{}来直接初始化数组元素,每个元素之间使用逗号分隔。

例如:```cint numbers[5] = {1, 2, 3, 4, 5};```这样就将数组numbers的前5个元素分别初始化为1、2、3、4、5。

1.2 部分初始化也可以只对数组的部分元素进行初始化。

未初始化的元素将被自动设置为0。

例如:```cint numbers[5] = {1, 2, 3};```这样就将数组numbers的前3个元素分别初始化为1、2、3,而后面两个元素将被设置为0。

1.3 不初始化数组也可以不进行初始化,此时数组的元素将是未知的随机值。

例如:```cint numbers[5];```这样就创建了一个名为numbers的整型数组,但它的元素值是未知的。

2. 访问数组元素可以使用数组名和索引来访问数组中的元素。

数组索引从0开始,依次递增。

例如:```cint number = numbers[2];```这样就将数组numbers中索引为2的元素的值赋给了整型变量number。

3. 修改数组元素通过使用数组名和索引,可以修改数组中的元素的值。

C语言程序设计 – 第 06 章课后习题

C语言程序设计– 第六章课后习题电子13-02班王双喜一、选择题1. C语言中一维数组的定义方式为:类型说明符数组名(C)A. [整型常量]B. [整型表达式]C. [整型常量]或[整型常量表达式]D. [常量表达式]2. C语言中引用数组元素时,下标表达式的类型为(C)A. 单精度型B. 双精度型C. 整型D. 指针型3. 若有定义:int a[3][4];,则对a数组元素的非法引用是(D)A. a[0][3*1]B. a[2][3]C. a[1+1][0]D. a[0][4](解释:A、B、C均正确,D看起来引用不太妥当,但其亦有其意义(a[0][4]等价于a[1][0]))4. 若有定义:int a[][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};,则a数组的第一维大小是(C)A. 1B. 2C. 3D. 4(解释:共9个元素,除以3即可得第一维大小是3;若有余数,则应加1)5. 若有定义:int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};,则值为5的表达式是(C)A. a[5]B. a[a[4]]C. a[a[3]]D. a[a[5]]6. 要求定义包含8个int类型元素的一维数组,以下错误的定义语句是(A)A. int N = 8;int a[N]; B. #define N 3while (a[2*N+2];C. int a[] = {0, 1, 2, 3, 4, 5, 6, 7};D. int a[1+7] = {0};(解释:数组的大小必须是整型常量或整型常量表达式)7. 若二维数组a有m列,则在a[i][j]前的元素个数为(A)A. i * m + jB. j * m + iC. i * m + i - 1D. i * m + j - 18. 下面是对数组s的初始化,其中不正确的是(D)A. char s[5] = {"abc"};B. char s[5] = {'a', 'b', 'c'};C. char s[5] = "";D. char s[5] = "abcdef";(解释:D中元素个数太多,算上'\0'共六个,非法)9. 下面程序段的运行结果是(B)char c[] = "\t\v\\\0will\n";printf("%d", strlen(c));A. 14B. 3C. 9D. 字符串中有非法字符,输出值不确定(解释:字符串中第四个是'\0'即结束标志,因此字符串长度是3)10. 判断字符串s1是否等于s2,应当使用(D)A. if (s1 == s2)B. if (s1 = s2)C. if (strcpy(s1, s2))D. if (strcmp(s1, s2) == 0)(解释:对于字符串来讲,其名字的内容是该字符串的起始地址,不能通过比较名字来比较相等,而应该用专用的函数进行逐字符匹配)二、写出程序的执行结果1. 程序一:# include <stdio.h>main(){int a[3][3] = {1, 3, 5, 7, 9, 11, 13, 15, 17};int sum = 0, i, j;for (i = 0; i < 3; i++)for (j = 0; j < 3; j++){a[i][j] = i + j;if (i == j) sum = sum + a[i][j];}printf("sum = %d", sum);}执行结果:打印sum = 6.(解释:a中各个元素的值是其行和列数字之和,sum内保存a中对角线元素之和,即sum = 0 + 2 + 4)2. 程序二:# include <stdio.h>main(){int i, j, row, col, max;int a[3][4] = {{1, 2, 3, 4}, {9, 8, 7, 6}, {-1, -2, 0, 5}};max = a[0][0]; row = 0; col = 0;for (i = 0; i < 3; i++)for (j = 0; j < 4; j++)if (a[i][j] > max){max = a[i][j];row = i;col = j;}printf("max = %d, row = %d, col = %d\n", max, row, col);}执行结果:打印max = 9, row = 1, col = 0.(解释:此程序的功能是逐行逐列扫描元素,总是将最大的元素赋给max,并保存该元素的行数和列数;因此执行完毕后,max是最大的元素(9),row是其行数(1),col是其列数(0))3. 程序三:# include <stdio.h>main(){int a[4][4], i, j, k;for (i = 0; i < 4; i++)for (j = 0; j < 4; j++)a[i][j] = i - j;for (i = 0; i < 4; i++){for (j = 0; j <= i; j++)printf("%4d", a[i][j]);printf("\n");}}执行结果:第一行打印0;第二行打印1 0;第三行打印2 1 0;第四行打印3 2 1 0。

c语言课程设计数组

c语言课程设计数组一、教学目标本章节的教学目标是使学生掌握C语言中数组的概念、声明、初始化、访问以及数组排序等基本操作。

1.理解数组的概念和作用。

2.掌握数组的声明和初始化。

3.学会使用循环语句访问数组元素。

4.掌握数组的排序算法。

5.能够正确声明和使用一维数组。

6.能够对一维数组进行排序。

7.能够使用循环语句遍历数组并打印元素。

情感态度价值观目标:1.培养学生的逻辑思维能力。

2.培养学生的问题解决能力。

3.培养学生的团队合作意识。

二、教学内容本章节的教学内容主要包括数组的概念、声明、初始化、访问以及数组排序。

1.数组的概念和作用。

2.数组的声明和初始化,包括一维数组和多维数组。

3.数组的访问,包括使用循环语句遍历数组并打印元素。

4.数组的排序算法,包括冒泡排序和选择排序。

三、教学方法为了达到本章节的教学目标,将采用以下教学方法:1.讲授法:用于讲解数组的概念、声明、初始化、访问以及数组排序的基本原理。

2.案例分析法:通过分析实际案例,让学生更好地理解数组的应用。

3.实验法:让学生通过编写程序实践数组的操作,提高学生的实际编程能力。

四、教学资源为了支持本章节的教学内容和教学方法的实施,将准备以下教学资源:1.教材:《C语言程序设计》。

2.参考书:《C语言编程思想》。

3.多媒体资料:PPT课件、视频教程。

4.实验设备:计算机、编程环境。

五、教学评估为了全面、公正地评估学生在数组学习方面的掌握情况,将采用以下评估方式:1.平时表现:通过课堂提问、讨论和实验操作等环节,评估学生的参与度和理解程度。

2.作业:布置与数组相关的编程作业,评估学生对数组操作的掌握情况。

3.考试:包括期中考试和期末考试,题目将涵盖数组的概念、声明、初始化、访问以及数组排序等知识点。

4.平时表现:积极参与课堂活动,回答问题准确,讨论中能提出自己的见解。

5.作业:编程作业要求正确实现数组相关功能,代码规范,注释清晰。

6.考试:满分100分,60分为及格。

高树芳C语言程序设计--第六章


[解决方案]设置一个长度为10的类型为整型的数组
存储老题的年龄。
程序代码
5
6.1 一维数组的定义与使用
相关知识: 1.数组的概念 同类型的一组数据。 2.数组的维数 下标的个数 3.一维数组的定义 类型 数组名[常量表达式] 4.一维数组元素的引用 数组名[下标],如:a[1]
6
6.1 一维数组的定义与使用
案例6-10 输出中文大写数字 [案例任务] C语言的字符串知识
[解决方案]使用两维字符数组存储汉字的“壹”
和“拾”等字符串数据。
程序代码
28
6.3字符数组及字符串
相关知识: C语言的字符串知识应用: 数字转换为中国大写汉字数字字符。
29Biblioteka 编写C程序,输入8个整数,将其逆序输出,同 时要输出它们的和。
10
6.2 二维数组的定义与使用
案例6-4 求二维数组中最大数 案例6-5 整数四则运算测试程序
11
6.2 二维数组的定义与使用
案例6-4 求二维数组中最大数
[案例任务]
对于如下3×4的矩阵: 1 2 3 4 6 9 5 4 -10 10 0 -5 编程求出其中的最大值,并输出其所在的行 号和列号。
24
6.3字符数组及字符串
[课堂训练6-4] 统计字符数组中某类字符的个数。设有 一个长度不超过30的字符串s,统计其 中数字字符、大写字母、小写字母、其 它字符的个数。
25
6.3字符数组及字符串
案例6-9字符串处理函数 [案例任务] 从键盘输入两个字符串s1,s2,要求使用 字符串的常用处理函数strlen、strcat、 strcpy、strcmp等。
[解决方案]见流程图。
程序代码
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 4 2 3 思考: 0 0 0 0 0 注意:在定义数组时,如果没有为数组变量 1、如果想使一个数组中全部10个元 赋初值,那么就不能省略数组的大小。而且 素值为0,可以怎样写? a数组不初始化,其数组元素为随机值。 1 4 0 2 3 0 0 0 0 100 2、如果想使一个数组中全部 个元 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 素值为1,又该怎样写? 例当对全部数组元素赋初值时,可以省略数组变量的大 char str[ ] = {'a', 'b', 'c', 'd', 'e' }; (5) 则数组str的实际大小为5。 小,此时数组变量的实际大小就是初值列表中表达式的个数。
//超出了数组的大小
(3) 表达式1是第1个数组元素的值,表达式2是第2个 数组元素的值,依此类推; 例 int a[5] = {0, 1, 2, 3, 4}; 经过以上定义和初始化后, a[0] = 0,a[1] = 1,a[2] = 2,a[3] = 3,a[4] = 4。
9
(4) 如果表达式的个数小于数组的大小,则未指定值的 数组元素被赋值为0; 例 int a[10] = {0, 1, 2, 3, 4};
7
<6>C语言中规定数组元素的下标总是从0开始, 例如int a[10];说明整型数组a,有10个元素。这10个
元素是: a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8], a
[9]; 注意最后一个元素是a[9],而不是a[10],该数 组不存在数组元素a[10]。 并且特别值得注意的是,C编译器对数组下标越 界不作检查。
表示元素个数 [ ]: 数组运算符 例如: 数组元素的数据合法的标识符 数组中各元素的存 用分号结尾 下标从 0型数组 开始 a 类型 储类别 单目运算符 int a[10]; //定义了有10个数据元素的int 左结合 float f[20]; //定义了有20个数据元素的 float型数组f 不能用( ) char str1[10], str2[20]; //定义了有10个和20个数据元素的char型 数组str1和str2
2
ቤተ መጻሕፍቲ ባይዱ
太复杂了! 晕!!!
6.1 组的定义、引用和初始化
数组 占一片连续的存储空间,用一个统
一的数组名和下标来唯一确定数组中的元素,
其中每一个元素通常称为下标变量。只有一
个下标的数组称为一维数组,有二个下标的
数组称为二维数组,依此类推。
3
1、 一维数组的定义、初始化和引用
一维数组的定义
存储类型符 数据类型符 数组变量名[整型常量表达式];
4
数组定义说明: <1> 数组定义时,必须指定数组的大小(或长度),数 组大小必须是整型常量表达式,不能是变量或变量表达式。 <2> 数组定义后,系统将给其分配一定大小的内存单元, 并且数组名代表首地址,其所占内存单元的大小与数组元素 的类型和数组的长度有关。 例如,下面对数组的定义是错误的: 数组所占内存单元的字节数 = 数组大小 × sizeof(数组 int n = 10; 元素类型) int a[n]; //数组的大小不能是变量 int b[10.3]; //数组的大小不能是浮点常量 <3> 数组中每个数组元素的类型均相同,它们占用内存中 int c[n+10]; //数组的大小不能是变量表达式 例如:short int a[20]; 连续的存储单元,其中第一个数组元素的地址是整个数组所占 则数组a所占内存单元的大小为: 内存块的低地址,也是数组所占内存块的首地址,最后一个数 20 * sizeof(short) = 20 * 2 = 40(字节)。 组元素的地址是整个数组所占内存块的高地址(末地址)。
#define N 20 /*用此命令行定义符号常量N,方便程序修改*/
float score[N]; /*正确的定义方式,提倡使用*/ C语言中不允许用变量下标形式对数组进行动态定义。如n为
一个普通变量,定义: float score[n]; /*不正确的定义方式*/ 是非法的。即使在数组定义语句前用变量初始化、用赋值语句 或用输入函数scanf( )对n进行了赋值,上面这条语句仍然非法。
5
a
2000 2002
a[0]
a[1] a[2] ……
第1个元素 第2个元素
内存 地址
2004 …… 2018
第3个元素
……
占用的字节数为: 10 * sizeof(short) = 10 * 2 = 20
a[9]
第10个元素
6
<4>允许在同一个类型说明中,说明多个数组和多个变量。 如: int a,b,c,d,k1[10],k2[20]; <5>方括号中的常量表达式通常取整型常量或整型常量表达 式(包括符号常量)。如:
C语言程序设计
第6 章 数 组
厦门理工学院
计算机与信息工程学院
0 为什么要使用数组
到目前为止,我们已经讨论了C语言中的基本数据类型, 如果用基本数据类型来定义某些变量,那么这些变量在内存 中将占用各自的内存单元,变量之间的制约关系无法体现, 不能表现出这些变量之间的关联性,看不出它们之间有任何 有没有更好的方法来 的联系,我们把这些变量称之为“离散变量”,对它们的访 构造数据类型之一 问只能通过变量名逐一进行 。 ,用数组名标识 解决呢? 数组:有序数据的集合 元素:属同一数据类型 ,用数组名和下标确定 有!就是用数组来编程。 下面来思考一个问题:如何编程来实现对 100个数进行排序呢? 解题思路: 定义100个整型变量来 分别存放这100个整数,然 后再对这些变量的值进行比 较、交换等操作 。
8
初始化一维数组
数据类型符 数组变量名[常量表达式] = {表达式1,表达式2,…,表达式n};
初始化赋值 (1) “=”后面的表达式列表一定要用{ }括起来,被括起来 的表达式列表被称为初值列表,表达式之间用“,”分隔; (2) 表达式的个数不能超过数组变量的大小; 例 int a[4] = {1, 2, 3, 4, 5};
相关文档
最新文档