C语言程序设计_数组与字符串.ppt
文本预览下载声明
《程序设计基础(C)》 第五章 数组与字符串 本章内容 学生需求2 一维数组 指针概念 学生需求3 字符串 二维数组 批量数据的组织与使用 变量定义/声明 变量初始化 输入和输出 相关运算符 赋值和表达式 常见使用方法 [案例需求2] 编写学生信息管理程序,实现: 命令行交互方式,提示符为“ST2” 帮助功能,命令符H,显示关于命令的使用说明 退出功能,命令符Q,退出程序 增加功能,命令符A,参数为学号、成绩 删除功能,命令符D,参数为学号 查找功能,命令符F,参数为学号 列表功能,命令符L,按学号升序列表 统计功能,命令符T,平均最大最小等 名次功能,命令符S,按成绩从大到小并排名 运行示例 ST2A 102 89 ST2A 101 78.5 ST2A 103 89 ST2L 101 78.5 102 89.0 103 89.0 ST2T Number=3 Sum=256.5, Ave=85.5 Max=89.0, Min=78.5 ST2A 101 81 ST2F 101 101 81.0 ST2D 102 ST2F 102 Not Found: 102 ST2 xyz Bad Command ST2Q Good-Bye. 一、一维数组 数组与数列 一维数组的定义和引用 非数组→数组:输入出、累加和、最大值 数组与函数:ex5-1.c 学生信息程序:ex5-2.c 排序、二分法查找:ex5-3.c 学生信息程序:ex5-4.c,ex5-5.c 数组和数列 数列:x0、x1、……、xn 数组:x[0]、x[1]、……、x[n] 数组名+下标 相同:通过一个名称和下标表示各个元素 数组:数组名为C标识符,下标总是从0开始,元素个数必须编程时确定 一维数组使用示例 int n; n=5; n++; s+=n; printf(%d,n); scanf(%d,n); for (i=1;i=n;i++) int a[5]; a[0]=5; a[4]++; s+=a[1+2]; printf(%d,a[i]); scanf(%d,a[j]); for (i=0;ia[j+k];i++) 应用——输入10个数据 输入单个数据 int n; scanf(%d,n); 输入10个数据 int a[10]; scanf(%d,a[0]); scanf(%d,a[1]); ……… scanf(%d,a[9]); 输入10个数据 int a[10]; for (i=0;i10;i++) scanf(%d,a[i]); 应用——输出10个数据 输出单个数据 int n; printf(%d,n); 输出10个数据 int a[10]; printf(%d ,a[0]); printf(%d ,a[1]); ……… printf(%d ,a[9]); printf(\n); 输出10个数据 int a[10]; for (i=0;i10;i++) printf(%d ,a[i]); printf(\n); 应用——N个数据的输入与输出 使用预定义(符号常量) #define N 10 int a[N]; for (i=0;iN;i++) scanf(%d,a[i]); ………… for (i=0;iN;i++) printf(%d ,a[i]); printf(\n); 应用——输入10个整数并求和 非数组模式 int s=0,d,i; for (i=0;i10;i++) { scanf(%d,d); s+=d; } printf(s=%d\n,s); 数组模式 int s=0,a[10],i; for (i=0;i10;i++) { scanf(%d,a[i]); s+=a[i]; } printf(s=%d\n,s); 应用——求最大值 非数组模式 int a,b,c,max; scanf(%d,a); scanf(%d,b); scanf(%d,c); max=a; if (maxb) max=b; if (maxc) max=c; printf(%d\n,max); 输入10个数,求最大值 int a[10],max,i; for (i=0;i10;i++) scanf(%d,a[i]); max=a[0]; for (i=1;i10;i++) if (maxa[i]) max=a[i]; printf(%d\n,max); 数组与函数——传递数组 使用参数传递数组到函数 数组名与元素个数分别传递 数组的常规函数 void sca(int a[],int n); void prt(int a[],int n); long sum(int a
显示全部