- 11
- 0
- 约9.24千字
- 约 35页
- 2018-09-30 发布于江苏
- 举报
为了解决比较复杂的问题,本章介绍C语言提供的1种最简单
6.1 1维数组的定义和引用 6.1.1 1维数组的定义 6.1.2 1维数组元素的引用 6.1.3 1维数组元素的初始化 6.1.4 1维数组应用举例 6.1.1 1维数组的定义 [案例6.1] 从键盘上任意输入10个整数,要求按从小到大的顺序在屏幕上显示出来。 排序的方法有很多,本题采用冒泡法。 冒泡法的基本思想:通过相邻两个数之间的比较和交换,使排序码(数值)较小的数逐渐从底部移向顶部,排序码较大的数逐渐从顶部移向底部。就像水底的气泡一样逐渐向上冒,故而得名。 由A[n]~A[1]组成的n个数据,进行冒泡排序的过程可以描述为: (1)首先将相邻的A[n]与A[n-1]进行比较,如果A[n]的值小于A[n-1]的值,则交换两者的位置,使较小的上浮,较大的下沉;接着比较A[n-1]与A[n-2],同样使小的上浮,大的下沉。依此类推,直到比较完A[2]和A[1]后,A[1]为具有最小排序码(数值)的元素,称第一趟排序结束。 (2)然后在A[n]~A[2]区间内,进行第二趟排序,使剩余元素中排序码最小的元素上浮到A[2];重复进行n-1趟后,整个排序过程结束。 /*案例代码文件名:AL6_1.C*/ /*功能:从键盘上任意输入n个整数,用冒泡法按从小到大地排序,并在屏幕上显示出来。*/ #include stdio.h #define NUM 10 /*定义符号常量(数据个数N)*/ main() { int data[NUM]; /*定义1个1维整型数组data*/ int i,j,temp; /*定义循环变量和临时变量*/ clrscr(); /*库函数clrscr():清屏*/ printf(Please input 10 numbers:\n); for(i=0; iNUM; i++) scanf(%d, data[i]); 特别说明:在数组定义时,“常量表达式”外的方括号;以及元素引用时,“下标表达式”外的方括号,都是C语言语法规则所要求的,不是本书所约定的可选项的描述符号! (4)数组元素的下标,是元素相对于数组起始地址的偏移量,所以从0开始顺序编号。 (5)数组名中存放的是一个地址常量,它代表整个数组的首地址。同一数组中的所有元素,按其下标的顺序占用一段连续的存储单元。 6.1.2 数组元素的引用 引用数组中的任意一个元素的形式: 数组名[下标表达式] 1.“下标表达式”可以是任何非负整型数据,取值范围是0~(元素个数-1)。 特别强调:在运行C语言程序过程中,系统并不自动检验数组元素的下标是否越界。因此在编写程序时,保证数组下标不越界是十分重要的。 2.1个数组元素,实质上就是1个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。 3.在C语言中,数组作为1个整体,不能参加数据运算,只能对单个的元素进行处理。 6.1.3 1维数组元素的初始化 初始化格式: 数据类型 数组名[常量表达式]={初值表} (1)如果对数组的全部元素赋以初值,定义时可以不指定数组长度(系统根据初值个数自动确定)。如果被定义数组的长度,与初值个数不同,则数组长度不能省略。 (2)“初值表”中的初值个数,可以少于元素个数,即允许只给部分元素赋初值。 (3)根据存储类型的不同,数组有静态数组(static)和动态数组(auto)之分;根据定义的位置不同,数组有内部数组(在函数内部定义的数组)和外部数组(在函数外部定义的数组)之分。 6.2 2维数组的定义和引用 6.2.1 2维数组的定义 6.2.2 2维数组元素的引用 6.2.3 2维数组元素的初始化 6.2.4 2维数组应用举例 6.2.1 2维数组的定义 [案例6.3] 给一个2*3的2维数组各元素赋值,并输出全部元素的值。 /*案例代码文件名:AL6_3.C*/ /*功能:从键盘上给2*3数组赋值,并在屏幕上显示出来。*/ #define Row 2 #define Col 3 #include stdio.h main() { int i, j, array[Row][Col]; /*定义1个2行3列的2维数组array*/ for(i=0; iRow; i++) /*外循环:控制2维数组的行*/ for(j=0; jCol; j++) /*内循环:控制2维数组的列*/ {printf(please input array[%2d][%2d]:,i,j); scanf(%
您可能关注的文档
最近下载
- 中华人民共和国职业分类大典(2015新版)解读.docx VIP
- XX生物质热电项目安全设施设计专篇.doc VIP
- 广东省珠海市香洲区2024-2025学年三年级上册期末考试数学试卷(含答案).docx VIP
- 云南省红河州、文山州2024-2025学年高一上学期月期末考试历史试题(含答案).pdf VIP
- 生锈之8D报告(案例).xls VIP
- (2025年)统战部遴选公务员面试真题和专业题3问及答案.docx VIP
- 口腔市场专员培训.pptx VIP
- 如何制作西红柿炖牛腩,比饭店那酸酸的好吃太多啦!.pdf VIP
- 部编版二年级上册语文第11课《葡萄沟》教学课件.ppt VIP
- 部编版二年级上册语文《葡萄沟》PPT教学课件.pptx VIP
原创力文档

文档评论(0)