[精品]c程序设计(第4版)第6章.pptxVIP

  • 5
  • 0
  • 约2.08千字
  • 约 36页
  • 2018-06-30 发布于四川
  • 举报
[精品]c程序设计(第4版)第6章

C程序设计 第六节; 第六章 利用数组处理批量数据;数组 在内存中数组占有一段连续的存储空间 保存一组有序数据 数组中的每一个数称为数组元素(element) 数组元素都属于同一个数据类型 数组元素的数目是固定且有限的 ;6.1 怎样定义和引用一维数组;例 int i=15; int data[i]; (?不能用变量定义数组维数);一维数组的初始化;例:读10个整数存入数组,找出其中最大值和最小值;例:用数组求Fibonacci数列前20个数;查找 查找数组中的特定元素(key value) 常用方法 顺序查找(sequential searching) 折半查找(binary searching);#define N 10 main() { int list[N]={65,72,83,79,97,87,75,57,91,78}; int key,i; printf(“Input search key:”); scanf(“%d”,key); for (i=0;(list[i]!=key)(iN);i++) ; if (i=N) printf(“Not found!”); else printf(“Success! The position is %d.”,i); };折半查找 用于已经排好序的数组 用数组的中间元素与关键字比较 如果相等,则查找成功 如果keymiddle,则查找前半部分 如果keymiddle,则查找后半部分 重复上述步骤; #include stdio.h #define N 10 main() { int i, low, mid, high, key, found; int list[N]={57,65,72,75,78,79,83,87,91,97}; printf(“Input search key:”); scanf(“%d”, key); low=0; high=N-1; found=0; while ((low=high) (!found)) { mid=(low+high)/2; if (keylist[mid]) low=mid+1; else if (key==list[mid]) found=1; else high=mid-1; } if (found) printf(“Success! The position is %d.”, mid); else printf(“Not found!”); };排序 数据排序(按特定的顺序来安排数据)是最重要的计算应用之一 实际上,每个组织都必须排列某些数据 常用方法 直接插入排序(directive insert sorting) 简单选择排序(simple selection sorting) 冒泡排序(bubble sorting);;例6.3 用起泡法对10 个数排序(从小到大)。;6.2 怎样定义和引用二维数组;6.2 怎样定义和引用二维数组;;6.2 怎样定义和引用二维数组;6.2 怎样定义和引用二维数组;6.2 怎样定义和引用二维数组;6.3 字符数组;6.3 字符数组;6.3 字符数组;6.3 字符数组;怎样引用字符数组中的元素 例:从键盘输入一行字符,??放在字符数组中,然后逆序输出。;6.3 字符数组;6.3 字符数组;6.3.6 使用字符串处理函数;使用字符串处理函数 包含在头文件string.h;使用字符串处理函数 包含在头文件string.h;字符串连接函数strcat 格式:strcat(字符数组1,字符数组2) 功能:把字符数组2连到字符数组1后面 返值:返回字符数组1的首地址 说明:?字符数组1必须足够大 ?连接前,两串均以‘\0’结束;连接后,串1的‘\0’取消, 新串最后加‘\0’;例 strcpy与strcat举例;字符串比较函数strcmp 格式:strcmp(字符串1,字符串2) 功能:比较两个字符串 比较规则:对两串从左向右逐个字符比较(ASCII码), 直到遇到不同字符或‘\0’为止 返值:返回int型整数,a. 若字符串1 字符串2, 返回负整数 b. 若字符串1 字符串2, 返回正整数 c. 若字符串1= =字符串2,

文档评论(0)

1亿VIP精品文档

相关文档