




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算概论(Introduction to Computing),马思伟北京大学数字媒体研究所/,第九讲 程序设计-数组,循环语句for,循环语句for(另一种当型循环)for(初始条件表达式;循环控制表达式;循环操作表达式)语句/语句组一次for循环执行过程首先执行初始条件表达式(第一次):可以为空循环控制表达式:一定是一个数值表达式,也可以为空如果表达式值为真,条件成立,执行循环体一次如果表达式值为假,条件不成立,退出循环如果省略,默认值为真,直到遇到break, return语句退出循环循环操作表达式:也可为空,循环语句while,循环语句while(当型循环)while(表达式)语句/语句组表达式必须是数值表达式一次循环计算表达式的值如果表达式值为真,执行循环体,为假退出循环,循环语句do-while,循环语句do-while(直到型循环)do 语句/语句组while(表达式);一次循环执行一次循环体计算表达式,条件成立再执行一次循环体,否则退出循环,循环语句do-while,程序转移语句,程序转移相关语句包括:breakcontinue,程序转移语句break,break退出的是包含它的最内层循环体例输出两个10以内的数,两数的和是5的倍数#include int main()int i, j; for (i=1; i10; i+) for (j=1; j0) a-; a的值是( )。A. 5 B. 0 C. 1D. -22.已知:int a=5;执行语句while(-a0) a-; a的值是( )。A. 5 B. 0C. 1D. -23.已知:int a=5;执行语句while(a-0) a-; a的值是( )。A. 5 B. 0C. 1D. -2,答案: B, B, D,课堂练习,4. 下列程序的输出结果是k=_,s=_ int k,s; for(k=s=0;k10,答案: 5 15,提纲,为什么要用数组 什么是数组 如何定义数组 如何给数组赋值 如何遍历与访问数组中的内容 数组的用途,为什么需要数组,读入100个数,按从小到大的顺序讲它们排序。如何存放这100个数? 定义100个变量吗?intx1, x2, x3, , x100; 要是1000个,10000个呢? 用数组类型来解决问题,什么是数组,数组是一种复合数据类型数组从整体上定义了一组类型相同的变量数组中的每个元素都可作为变量使用数组元素的类型是相同的数组的元素顺序地存储在连续的内存空间中当要处理很多类型相同的数据时,可利用数组以避免在程序中定义大量的变量。,数组的定义,数组定义方法如下:数据类型 变量名 数组元素个数= 数组元素初值;其中“= 数组元素初值 ”部分可以省略。 一些数组定义的例子:int score5;char cards4 = a, 0, r, W;float point2 = 2.56, 23.43;double distances4 ;,课堂练习,以下对一维整型数组a的正确说法是( )A .int a(10);B. int n=10,an;C. int n; scanf(“%d”,答案:D,数组在内存中的布局,数组在内存中的布局,数组元素,定义一个数组变量相当于定义一组变量,这组变量中的每一个都可以通过“数组变量名下标”形式来访问。例如:score0, score1, score2 等等。这组变量在内存中是连续存放的,它们的下标从0开始计数。 在数组中(设N是数组的元素总数) 第一个数组元素的下标是0 最后一个数组元素的下标是N-1,数组元素的赋值,每个数组元素,就是一个变量。每个数组元素占用的空间大小是由定义数组变量时给定的类型决定的。例如: cards每个元素占1字节(char类型的长度) distance每个元素占8字节(double 类型的长度)。,数组元素的赋值,在给数组元素赋值时,可以把数组元素看作单个变量,例如:score0 = 67;score3 = 89;distance2 = 356.24;cards0 = b; 数组元素的赋值可以在定义时给定初始值,也可以在程序中给数组元素赋值。for (i=0; i10; i+) scanf(“%d”, 给数组元素赋值,数据类型必须匹配。,数组元素的访问,数组元素可以用在任何单个变量可能出现的地方。例如:int max, min;max = score 0; min = score3;,数组元素的遍历,可以用一个循环语句给数组的所有元素赋值,或顺序访问它的每个元素。例如:int i;int student100;int odd=0, even=0;for (i=0; i100;i+) studenti = i+1; if (studenti % 2) = 0) even+; else odd+; ,数组的使用,#include void main() int u4,a, b, c, x, y, z; scanf(%d %d %d %d,输入 2 5 7 4输出 ?,数组的使用,#include void main() int u4,a, b, c, x, y, z; scanf(%d %d %d %d,/113+2+148=263,数组的使用,给定一个正整数n,求出所有小于n的质数#include #define NUMBER 100void main() int primeNUMBER; int i, j, k; prime0=2; for(i=3, j=1; i=NUMBER; i+) for(k=2;k=0; i-) an1j+ = szLine1i-0;int nLen2= strlen(szLine2);j=0; for(i=nLen2-1; i=0; i-) an2j+ = szLine2i-0;for(i=0; i=10) an1i -= 10; an1i+1+; ,数组的使用,bool bStartOutput=false; for(i=MAX_LEN; i=0;i-) if (bStartOutput) printf(“%d”, an1i); else if (an1i) printf(“%d”, an1i); bStartOutput = true; return 0; ,小结,数组定义数组的赋值、访问和遍历,课上练习,数组逆序排列编程实现数组aN中数据逆序置换元素交换 t = ai; ai = aj; aj = t; 例如:,6,5,4,3,2,1,1,2,3,4,5,6,作业,1. 输入一个整数输出其二进制、十六进制表示2. 从键盘输入8个整数放入数组,然后将每个奇数加1,每个偶数减1,最后输出数组的所有元素3. 有3门课程成绩,最多不超过30人 1. 计算每个学生的总分和平均分 2 . 任意输入一个学号能够查找出该学生的考试分数3. 分别找出各科成绩的最高分 以及最高分 所对应的学生学号 4. 统计该班中各个分数段所占人数,思考题,问题描述有 n 个人,编号为 1, 2, . . ., n, 站成一圈。沿着圈顺序数,每到第m个人就把他杀掉,这样一直进行下去,直到只剩下一个人,那个人就活下来。约瑟夫很聪明,他总会想办法站到一个合适的位置上,使得自己能够成为最后一个,从而活下来。例如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院招聘医学试题及答案
- 数学竞赛试题及答案小学组
- 2026年水果种植公司质量监管部门管理制度
- 2026年水果种植公司科研项目计划制定管理制度
- (正式版)DB2327∕T 051-2022 《老山芹种植技术规程》
- 八年级地理下册 7.5《陕西省》说课稿 (新版)粤教版
- 任务一 认识厨房器具教学设计初中劳动技术浙教版八年级上册-浙教版
- 求比值的课件
- 七年级道德与法治下册 第二单元 做情绪情感的主人 第五课 品出情感的韵味 第一框《我们的情感世界》说课稿 新人教版
- 《第二单元 图像处理的基本方法 第11课 路径的应用(二) 二、邮票效果》教学设计教学反思-初中信息技术人教版七年级下册
- “正大杯”第十五届全国大学生市场调查与分析大赛参考试题库(含答案)
- 《疯狂的头发》幼儿园大班艺术课件
- 《孕前优生培训》课件
- 小阿力的大学校(绘本)
- 中考语文名著总复习-三年中考真题《红星照耀中国》(教师版)
- 北京市大兴区2024-2025学年八年级上学期期中语文试卷(含答案)
- 2024-2025学年天津市河西区新华中学高二(上)第一次月考数学试卷(含答案)
- 工程项目内部承包合同
- 企业信息咨询服务合同
- 2024年中国医养及康复医疗产业发展研究报告
- 颈动脉疾病超声检查-课件
评论
0/150
提交评论