重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第7讲 综合程序设计

第7讲综合结构程序设计 ·请大家及时到我的个人主页htp://cs. cqupt. edu.cn/xejb 或公共邮箱htp:/ stu cqupt. edu.cn中查看作业回复及下 载课件自学 因课堂时间有限,不能把所有例题都讲到,请大家课下 定多看相关例题
第7讲 综合结构程序设计 •请大家及时到我的个人主页http://cs.cqupt.edu.cn/xiejb 或公共邮箱http://stu.cqupt.edu.cn中查看作业回复及下 载课件自学 •因课堂时间有限,不能把所有例题都讲到,请大家课下一 定多看相关例题

如何读程序? 写程序:任务(自然语言)→C语言程序 读程序:← 如何读? 先用大脑按照程序执行顺序读,给出程序的功 能和程序的输出结果 再到计算机上运行该程序,看结果是否与分析 结果一样 相当于阅读理解
2 如何读程序? ▪ 写程序:任务(自然语言)→C语言程序 ▪ 读程序: ▪ 如何读? ▪ 先用大脑按照程序执行顺序读,给出程序的功 能和程序的输出结果 ▪ 再到计算机上运行该程序,看结果是否与分析 结果一样 ▪ 相当于阅读理解

作业答案 breaki和 continue的含义 例题4-29: 输入一串字符,以ESC结束输入,输出这 串字符,并统计该串字符中有多少行 (每回车一次计作一行) 例题4-30 输入一串字符,以回车结束输入,除字符 串中的“ESC外全部输出
3 作业答案 ▪ 例题4-29: ▪ 输入一串字符,以ESC结束输入,输出这 一串字符,并统计该串字符中有多少行 (每回车一次计作一行)。 ▪ 例题4-30 ▪ 输入一串字符,以回车结束输入,除字符 串中的‘ESC’外全部输出。 break和 continue的含义

多个循环控制变量的三种情况-1 i=1i=1 for(i=1;:i<=9:i++) 2 for(j=1:j<=9:j+) j=3 printf( i=961d j=%61d\n",i, j): i=i j=9 i=2j=1 =2 输出语句执行了99=81次 =3 两个for语句是嵌套关系。 i=2j=9 外层循环控制变量不变的时候, 内层循环控制变量按顺序自加 i=9j=1 23 i=9 9
4 多个循环控制变量的三种情况-1 for (i=1; i<=9; i++) for (j=1; j<=9; j++) printf(" i=%1d j=%1d\n",i,j); i=1 j=1 j=2 j=3 ... i=1 j=9 i=2 j=1 j=2 j=3 ... i=2 j=9 ... i=9 j=1 j=2 j=3 ... i=9 j=9 ▪输出语句执行了9*9=81次。 ▪两个for语句是嵌套关系。 ▪外层循环控制变量不变的时候, 内层循环控制变量按顺序自加

多个循环控制变量的三种情况-2 for(i=1,j=1:i<=9:i++,j printf( i=%1d j=71d\n,i,j); J= 输出语句执行了9次 i=2i=2 两个循环控制变量共同自加 9i=9
5 多个循环控制变量的三种情况-2 for (i=1, j=1; i<=9; i++, j++) printf(" i=%1d j=%1d\n",i,j); i=1 j=1 i=2 j=2 ... i=9 j=9 ▪输出语句执行了9次 ▪两个循环控制变量共同自加

多个循环控制变量的三种情况-3 for(i=1:i<=9:i++) printf( i=y2d\n",i: for〔j=1:j<=9:j*+) prnf("i=‰2dj=‰2dn"i〕);i=3 m每个输出语句各执行了9次, 共9+9=81次 i=10j=1 两个循环控制变量各自分 i=10j=2 别控制各自的循环语句的执 1=10j=3 行次数,互不干涉。 10ⅰ=9
6 多个循环控制变量的三种情况-3 for (i=1; i<=9; i++) printf(" i=%2d\n",i); for (j=1; j<=9; j++) printf(" i=%2d j=%2d\n",i,j); i=1 i=2 i=3 ... i=9 i=10 j=1 i=10 j=2 i=10 j=3 ... i=10 j=9 ▪每个输出语句各执行了9次, 共9+9=81次 ▪两个循环控制变量各自分 别控制各自的循环语句的执 行次数,互不干涉

例4-27 for(i=1:i<2:i++):° 再加个分 for〔j=1:j<2:j+) 再加个分 号呢 for〔j=1:j<2:j*+)° printf(" %d, %d, %d\n", i,j, k) 000 00120 01020 011 0101 220 221 222 0021 101 10 111 !!加分号与不加分号不同。 7
7 例4-27 for (i=1; i<2; i++) for (j=1; j<2; j++) for (j=1; j<2; j++) printf(" %d,%d,%d\n",i,j,k); •结果为? ; ; •加个分号 会怎样? 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 2 0 0 2 0 1 2 1 0 2 1 1 •再加个分 号又会怎样? 2 2 0 2 2 1 ; •再加个分 号呢? 2 2 2 !!加分号与不加分号不同

记住:编程的步骤!!! 分析问题 逐步求精地写算法(请记住P77页图4-2) 写程序(请严格按照附录C的语法格式书写) 调试程序
8 记住:编程的步骤!!! ▪ 分析问题 ▪ 逐步求精地写算法(请记住P77页图4-2) ▪ 写程序(请严格按照附录C的语法格式书写) ▪ 调试程序

作业讲评 判断0-100之间有多少个完数。 完数: 所有因子的和等于它本身 例如:1+2+3=6 整体思路?? for(i=1:<=100;i++) 如果是完数,输出“i是完数”,并将计数器加1 输出完数的个数
9 作业讲评 ▪ 判断0-100之间有多少个完数。 ▪ 完数: ▪ 所有因子的和等于它本身 ▪ 例如:1+2+3=6 ▪ 整体思路?? for(i=1;i<=100;i++) {如果i是完数,输出“i是完数”,并将计数器加1 } 输出完数的个数

厂 counter=O,i=1 分析过程:逐步求精 SU= 判断是否为的因子, 是的话累加,j N Y 判断与sum是否相等,是的话 输出i同时 counter加1;i++ Y i<=100? 输出 counter 10
10 Y N i<=100? 输出counter counter=0,i=1 如果 i是完数,输出 “ i是完数 ” , 并将计数器加1 i++ 判断 i 与sum是否相等 ,是的话 输出i,同时counter 加1;i++ 求 i的因子之和sum Y N sum=0,j=1 判断 j是否为 i的因子, 是的话累加,j++ j<=i? 分析过程:逐步求精
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第6讲 循环和综合程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第5讲 多分支和循环.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第4讲 作用域和选择结构程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第3讲 多函数程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第2讲 简单C程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第20讲 位运算讲、位段、枚举变量、大型程序开发.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第1讲 简介与hello world.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第18讲 文件.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第17讲 共用体&链表.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第16讲 动态内存分配&结构体.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第15讲 二维数组与指针.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第14讲 二维数组、二维数组做函数参数.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第13讲 指针与一维数组.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)习题7.ppt
- 重庆邮电大学:《C语言程序设计》课程作业讲评-goldbahe猜想.doc
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第11讲 数组与指针.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第10讲 一维数组与字符数组.ppt
- 中国民航大学电子信息工程学院:《MATLAB程序设计与应用》课程教学资源(PPT课件讲稿)第七章 符号计算.ppt
- 中国民航大学电子信息工程学院:《MATLAB程序设计与应用》课程教学资源(PPT课件讲稿)第六章 数值计算_matlab8.ppt
- 中国民航大学电子信息工程学院:《MATLAB程序设计与应用》课程教学资源(PPT课件讲稿)第五章 M文件(主讲:卢丹).ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第8讲 模块化程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第9讲 存储类型 宏定义 数组.ppt
- 重庆邮电大学:《C语言程序设计》课程授课计划一.doc
- 重庆邮电大学:《C语言程序设计》课程授课计划二.doc
- 湖南农业大学:《计算机组成原理教案》第二章 数据格式(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第六章 总线的基本概念(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第七章 显示器(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第三章 存储系统(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第五章 中央处理器(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第一章 计算机系统概论(蒋邵平).ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(学生作业)面向对象文档.doc
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第一讲 Java导论与Java开发环境(主讲:金旭亮).ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第三讲 Java语法基础.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第二讲 Java应用程序与Applet.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)Java开发Application.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第七讲 接口与数据结构.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第五讲 创建与使用类.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第八讲 异常处理.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第六讲 继承与多态.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第四讲 方法.ppt