中国高校课件下载中心 》 教学资源 》 大学文库

《C程序设计》课程电子教案(PPT课件讲稿)第四章 数组和结构

文档信息
资源类别:文库
文档格式:PPT
文档页数:89
文件大小:824.5KB
团购合买:点击进入团购
内容简介
4.1 一维数组 一维数组的定义和初始化 一维数组元素的引用 一维数组的应用 4.2 字符数组 字符数组的定义和初始化 字符数组的输入输出 字符串处理函数 字符数组的应用 4.3 结构 结构类型的定义 结构类型变量的定义及初始化 结构类型变量的应用 结构的应用 4.4 结构数组和二维数组 结构数组的定义、初始化和应用 二维数组的定义、初始化和应用 复杂数组的应用 4.5 程序举例 例4.9 灯的明灭 例4.10 求元音数最多的单词 例4.11 学生姓名的模糊查询 例4.12 直接插入排序
刷新页面文档预览

第四章数组和结构 ◆一维数组 ◆字符数组 ◆结构 ◆结构数组和二维数组 令程序举例 ◆本章小结

❖ 一维数组 ❖ 字符数组 ❖ 结构 ❖ 结构数组和二维数组 ❖ 程序举例 ❖ 本章小结 第四章 数组和结构

4.1—维数组 一维数组的定义和初始化 维数组元素的引用 一维数组的应用

4.1 一维数组 ➢ 一维数组的定义和初始化 ➢ 一维数组元素的引用 ➢ 一维数组的应用

41一维数组 任务4.1半期考试结束了,教师想看看C语言这门课程的最高 分,以及有哪几位学生得到了这个最高分。试编程解决这个问 题,为简单起见,假设班上共有10人 算法分析: 首先需解决学生成绩的存储问题 可以用10个变量,分别取名为 scorel, score2,……core0来 存储10名学生的成绩,但程序扩展性很差 使用一个包含10个元素的数组,将每位学生的成绩存储到相应 的数组元素中 (a)不同的变量 (b)一个数组

4.1 一维数组 任务4.1 半期考试结束了,教师想看看C语言这门课程的最高 分,以及有哪几位学生得到了这个最高分。试编程解决这个问 题,为简单起见,假设班上共有10人。 算法分析: 首先需解决学生成绩的存储问题 可以用10个变量,分别取名为score1,score2,……,score10来 存储10名学生的成绩, 但程序扩展性很差 使用一个包含10个元素的数组,将每位学生的成绩存储到相应 的数组元素中

4.1.1一维数组的定义及初始化 1.数组的声明 dd- score「0l 类型说明符数组名[常量表达式] dd+4 score「1l ①类型说明符定义数组的基类型,即数狠中各-3 score「21 ②数组名的第一个字符最好为英文字母,其他 add+12 score「3l add+16 score[ 41 名时相同。 add+20 score「51 ③常量表达式定义数组中可以放多少元素。必a2+66 ④用方括号将常量表达式括起。 dd+28 score[71 ⑤数组下标从0开始。如果定义了10个元素,是 ad+32 score「8l 到第9个元素。 dd-36 score 91 ⑥常量表达式中不允许包含变量,但可以使用 图4-1-2 score数组 int score[10] int n-10, int score Inl const int n=10, int score [nI

4.1.1 一维数组的定义及初始化 1. 数组的声明 类型说明符 数组名[常量表达式]; ① 类型说明符定义数组的基类型,即数组中各元素的类型。 ② 数组名的第一个字符最好为英文字母,其他要求与定义变量 名时相同。 ③ 常量表达式定义数组中可以放多少元素。必须是整型常量。 ④ 用方括号将常量表达式括起。 ⑤ 数组下标从0开始。如果定义了10个元素,是从第0个元素 到第9个元素。 ⑥ 常量表达式中不允许包含变量,但可以使用常变量。 int score[10]; int n=10; int score[n]; const int n=10; int score[n];

4.1.1一维数组的定义及初始化 2.数组元素的初始化 (1)给全部数组元素赋初值 int score[3]={78,89,98} (2)给部分数组元素赋初值 int score[5]={78,89,98} (3)赋初值个数与数组长度 int scorel]={78,89,98};

4.1.1 一维数组的定义及初始化 2. 数组元素的初始化 (1)给全部数组元素赋初值 int score[3] = {78, 89, 98}; (2)给部分数组元素赋初值 int score[5] = {78, 89, 98}; (3)赋初值个数与数组长度 int score[2] = {78, 89,98}; int score[] = {78, 89, 98};

4.1.2一维数组元素的引用 维数组下标变量的格式 数组名[下标] 例如: int score[10]=01,i=1 score[1] scoreline score[101 注意:C语言不检查数组边界,程序可以在数组两边越界,写入 其他变量,甚至写入程序代码段。如果使用了负数下标或超 过数组长度的下标,C仍计算这个下标的位置,并使用它 在运行和编译时也没有任何错误提示,程序继续运行,并访 问别的变量的存储空间或根本不存在的存储空间

4.1.2 一维数组元素的引用 一维数组下标变量的格式 数组名[下标] 例如: int score[10]={0}, i=1; score[1]; score[i]; score[10]; 注意:C语言不检查数组边界,程序可以在数组两边越界,写入 其他变量,甚至写入程序代码段。如果使用了负数下标或超 过数组长度的下标,C仍计算这个下标的位置,并使用它, 在运行和编译时也没有任何错误提示,程序继续运行,并访 问别的变量的存储空间或根本不存在的存储空间

4.13一维数组的应用 任务4.1算法分析 初始化最高分Mace60 初始化最高分学生数 max Student=0 先用键盘输入10位学生的 成绩,分别存放到 score for(i=0: imaxScore 否 是 然后再依次将10位学生的 成绩与最高分比较,输出 maxScore=score [i] 得分为最高分的学生的序 输出最高分 号 for(i=0: i<n; i++) 最后输出获得最高分的学 score [i]= maxscore 生人数。 否 是 最高分学生数增1 输出学生序号 输出最高分学生数

4.1.3 一维数组的应用 任务4.1算法分析 • 先用键盘输入10位学生的 成绩,分别存放到score 数组的相应下标变量中, 并找出最高分, • 然后再依次将10位学生的 成绩与最高分比较,输出 得分为最高分的学生的序 号, • 最后输出获得最高分的学 生人数

41.3一维数组的应用 任务4.1程序4_1.cpp 变量定义及数组元素输入 const int n=10;//使用常变量定义学生人数 int score[n] //定义成绩数组,有n个整型元素 int maxScore=0;//最高分,并初化为0 int maxStudent=0;//得到最高分的学生人数 int 1. /循环变量 for(i=0;i score[i];//输入第i位学生的成绩 if(maxScore scorelil //如果第i位学生的成绩高于原最高分 maxScore= score[i];//修改最高分 /结束循环

4.1.3 一维数组的应用 任务4.1 程序4_1.cpp 变量定义及数组元素输入 const int n = 10; // 使用常变量定义学生人数 int score[n]; // 定义成绩数组,有n个整型元素 int maxScore = 0; // 最高分,并初始化为0 int maxStudent = 0; // 得到最高分的学生人数 int i; // 循环变量 for(i = 0; i >score[i]; // 输入第i位学生的成绩 if(maxScore < score[i]) { // 如果第i位学生的成绩高于原最高分 maxScore = score[i]; // 修改最高分 } } // 结束循环

41.3一维数组的应用 任务4.1程序4_1.cpp 求最高分人数 for(i=0: i<n; i++) 计数循环 /循坏始 if (score lil maxscore //如果第位学生的成绩等于最高分 maxStudent+;得最高分的学生人数增1 cout<i<<end1;//输出该生序号 /循环结束

4.1.3 一维数组的应用 任务4.1 程序4_1.cpp 求最高分人数 for(i = 0; i < n; i++) // 计数循环 { // 循环开始 if(score[i] == maxScore) { // 如果第i位学生的成绩等于最高分 maxStudent++; // 得最高分的学生人数增1 cout<<i<<endl; // 输出该生序号 } } // 循环结束

4.13一维数组的应用 例4.1有10位学生的成绩存放在数组 score中,从键盘输入1个 数,查找这个成绩是否在数组中,如果在,输出其下标, 如果不在,输出0。数组的下标表示第位学生的成绩,数 组的下标0处不存储成绩。 算法分析: 将第位学生的成绩存放到下标处,下标0处的数组元素就 不存放具体的成绩信息。这样,学生的序号和数组下标之 间的对应关系更自然 可采用计数循环,依次将数组元素与输入的数进行比较, 如果相等则终止循环。如果元素比较完还未找到输入的数, 则输出0

4.1.3 一维数组的应用 例4.1 有10位学生的成绩存放在数组score中,从键盘输入1个 数,查找这个成绩是否在数组中,如果在,输出其下标, 如果不在,输出0。数组的下标i表示第i位学生的成绩,数 组的下标0处不存储成绩。 算法分析: • 将第i位学生的成绩存放到下标i处,下标0处的数组元素就 不存放具体的成绩信息。这样,学生的序号和数组下标之 间的对应关系更自然 • 可采用计数循环,依次将数组元素与输入的数进行比较, 如果相等则终止循环。如果元素比较完还未找到输入的数, 则输出0

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档