程序设计基础.

Slides:



Advertisements
Similar presentations
While 迴圈 - 不知重複執行次數
Advertisements

CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
第一章 C语言概述.
《C语言程序设计》复习
親愛的老師您好 感謝您選用本書作為授課教材,博碩文化準備本書精選簡報檔,特別摘錄重點提供給您授課專用。 說明: 博碩文化:
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
计算学科的基本问题 本章首先介绍一个对问题进行抽象的典型实例——哥尼斯堡七桥问题。然后,通过“梵天塔”问题和“停机问题”分别介绍学科中的可计算问题和不可计算问题。从“梵天塔”问题再引出算法复杂性中的难解性问题、P类问题和NP类问题,证比求易算法,P=NP是否成立的问题。
C#程序设计案例教程 第3章 程 序 结 构.
第一章 C语言概述 计算机公共教学部.
计算机硕士专业基础—C语言 赵海英
C语言程序设计 第八章 函数.
C语言程序设计 第十二章 位运算.
第一章 程序设计入门.
复习与总结.
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
第3章 顺序结构程序设计 本章要点: 格式化输出函数──printf() 格式输入函数——scanf() 字符输出函数——putchar()
目录 第八章 数组 1 简单学生成绩管理系统的开发 2 一维数组 3 多维数组 4 字符数组 5 数组作函数参数.
第七章 函数 目录 有参的加法函数的开发 函数定义的一般形式 函数参数和函数的值 函数的调用
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
Introduction to the C Programming Language
算法的基本概念.
C语言 程序设计基础与试验 刘新国、2012年秋.
第3章 程序设计初步 第4章 函数与预处理 第5章 数组 第6章 指针 第7章 自定义数据类型
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
C++语言程序设计 第二章 C++简单程序设计.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
計數式重複敘述 for 迴圈 P
C Programming in Action
第5讲 结构化程序设计(Part II) 周水庚 2018年10月11日.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第2章 C++流程控制语句 if 语句 switch语句 for语句 while语句 do - while语句 break语句
第0章作业: 教材P12-练习与实践 1.写出用符号’*’输出描绘汉字”大”的流程图。
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
第4讲 C++程序控制结构(二) 4.1 循环结构 4.2 转向控制 4.3 综合案例分析.
C++大学基础教程 第3章 C++控制语句 北京科技大学 信息基础科学系.
C语言概述 第一章.
程式結構&語法.
第三章 C++的语句和简单的程序设计 主要内容:
第 二 章 数据类型、运算符与表达式.
for 迴圈 while迴圈 do-while迴圈 break 與 continue goto 與 標籤 程式觀摩
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
C 语言程序设计 程序的循环结构 电大崇信县工作站 梁海亮.
第2章 算法与C语言程序 程序 (1)数据的描述:数据的类型和组织形式(数据结构) (2)操作的描述:操作步骤(算法) 沃思指出:
请编写程序在屏幕上打印出一个“*”? printf(”*\n”); 请编写程序在屏幕上打印四行,每行一个“*”?
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
Chap 5 函数 5.1 计算圆柱体积 5.2 数字金字塔 5.3 复数运算.
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
C程序设计.
第2章 认识C语言 教学要点 2. 1 项目二C语言程序识读 2 .2 项目三班级成绩排名 2 .3 知识链接 返回.
C程序设计.
資料結構與C++程式設計進階 遞迴(Recursion) 講師:林業峻 CSIE, NTU 6/ 17, 2010.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
第二章 类型、对象、运算符和表达式.
实验七 数 组 第21讲 C程序设计 Main() { int x,y; X=10; y=x*x+1;
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
本节内容 指针类型.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
第七章  数 组.
Do While 迴圈 東海大學物理系‧資訊教育 施奇廷.
单片机应用技术 (C语言版) 第4章 C51程序设计入门
迴圈(重複性結構) for while do while.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
1.2.3 循环语句.
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C语言基础学习 从外行到入门.
Presentation transcript:

程序设计基础

第六章 循环控制 概述 goto语句以及用goto语句构成循环 while语句 do-while语句 for语句 循环的嵌套 几种循环的比较 程序设计基础 第六章 循环控制 第六章 循环控制 概述 goto语句以及用goto语句构成循环 while语句 do-while语句 for语句 循环的嵌套 几种循环的比较 break语句和continue语句 程序举例

6.1 概述 特点: 在给定条件成立时,反复执行某程序段,直到条件不成立为止 。 分类: 循环条件 循环体 程序设计基础 第六章 循环控制 6.1 概述 特点: 循环条件 循环体 在给定条件成立时,反复执行某程序段,直到条件不成立为止 。 分类: 1)用goto语句和if语句构成循环; 2)用while语句; 3)用do-while语句; 4)用for语句 返回主菜单

6.2 goto语句以及用goto语句构成循环 一般形式: goto 语句标号; 由字母、数字和下划线组成,不能使用整数 例6.1 程序设计基础 第六章 循环控制 6.2 goto语句以及用goto语句构成循环 一般形式: goto 语句标号; 由字母、数字和下划线组成,不能使用整数 例6.1 返回主菜单

例6.1用goto语句和if语句构成循环,求。 main() { int i,sum=0; i=1; loop: if(i<=100) 程序设计基础 第六章 循环控制 例6.1用goto语句和if语句构成循环,求。 main() { int i,sum=0; i=1; loop: if(i<=100) {sum=sum+i; i++; goto loop;} printf("%d\n",sum); } 输出: 5050 运行程序

程序设计基础 第六章 循环控制 6.3 while语句 一般形式: while(表达式) 语句 流程图 例6.2 返回主菜单

例6.2 用while语句求 main() { int i,sum=0; i=1; while(i<=100) sum=sum+i; 程序设计基础 第六章 循环控制 例6.2 用while语句求 main() { int i,sum=0; i=1; while(i<=100) sum=sum+i; i++; } printf("%d\n",sum); 输出: 5050 流程图 运行程序

流程图 N-S流程图 传统流程图

程序设计基础 第六章 循环控制 6.4 do-while语句 一般形式 do 语句 while(表达式); 例6.3 例6.4 返回主菜单

例6.3 用do-while语句求 main() { int i,sum=0; i=1; do sum=sum+i; i++; } 程序设计基础 第六章 循环控制 例6.3 用do-while语句求 main() { int i,sum=0; i=1; do sum=sum+i; i++; } while(i<=100) printf("%d\n",sum); 流程图 运行程序

流程图

例6.4 while和do-while循环比较。 程序设计基础 第六章 循环控制 例6.4 while和do-while循环比较。 (1) (2) main() {int sum=0,i; scanf(“%d”,&i); while(i<=10) {sum=sum+i; i++; } printf(“sum=%d”,sum); main() {int sum=0,i; scanf(“%d”,&i); do {sum=sum+i; i++; } while(i<=10); printf(“sum=%d”,sum); 结果比较 运行程序1 运行程序2

while与do-while程序结果的比较 (1) (2) 运行情况: 1↙ sum=55 再运行一次: 11↙ sum=0 sum=11

6.5 for语句 一般形式 for(表达式1;表达式2;表达式3) 语句 理解形式 for(循环变量赋初值;循环条件;循环变量增量) 语句 程序设计基础 第六章 循环控制 6.5 for语句 一般形式 for(表达式1;表达式2;表达式3) 语句 理解形式 for(循环变量赋初值;循环条件;循环变量增量) 语句 改写成while循环形式 表达式1; while(表达式2) {语句 表达式3; } 执行过程 说明 返回主菜单

for语句执行过程 1)先求解表达式1 ; 2)求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3)步;若其值为假(0),则结束循环,转到第5)步 ; 3)求解表达式3 ; 4)转回上面第2)步继续执行 ; 5)循环结束,执行for语句下面的一个语句。

for语句说明 1)for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是选择项, 即可以缺省,但“;”不能缺省。 2)省略了“表达式1(循环变量赋初值)”, 表示不对循环控制变量赋初值。 for(i=1;i<=100;) {sum=sum+i; i++;} 3)省略了“表达式2(循环条件)”, 则不做其它处理时便成为死循环。 4)省略了“表达式3(循环变量增量)”, 则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。 for(;i<=100;) 相当于 while(i<=100) {sum=sum+i; {sum=sum+i; i++;} i++;} 5)可以省略“表达式1(循环变量赋初值)”和“表达式3(循环变量增量)”。

for语句说明 for(sum=0;i<=100;i++) sum=sum+i; 6)3个表达式都可以省略。 7)表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。 for(sum=0,i=1;i<=100;i++)sum=sum+i; 8)表达式1和表达式3可以是一个简单表达式也可以是逗号表达式。 9)表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。 for(;(c=getchar())!=’\n’;) printf(“%c”,c);

6.6 循环的嵌套 定义: 一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。 几种形式: while( ) {… {…} } 程序设计基础 第六章 循环控制 6.6 循环的嵌套 定义: 一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。 几种形式: while( ) {… {…} } do {…} … for(; ;) { 返回主菜单

6.7 几种循环的比较 1)四种循环都可以用来处理同一个问题,一般可以互相代替。但一般不提倡用goto型循环。 程序设计基础 第六章 循环控制 6.7 几种循环的比较 1)四种循环都可以用来处理同一个问题,一般可以互相代替。但一般不提倡用goto型循环。 2)while和do-while循环,循环体中应包括使循环趋于结束的语句。for语句功能最强。 3)用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成,而for语句可以在表达式1中实现循环变量的初始化。 返回主菜单

6.8 break语句和continue语句 break语句 continue语句 break语句和continue语句的区别 程序设计基础 第六章 循环控制 6.8 break语句和continue语句 不能用于循环语句和switch语句之外的任何其他语句 break语句 跳过循环体中剩余的语句而强行执行下一次循环 continue语句 break语句和continue语句的区别 例6.5 返回主菜单

break语句和continue语句的区别 程序(1) while(表达式1) { …… if(表达式2)break; …… } 程序(2) while(表达式1) if(表达式2)continue;

break语句和continue语句的区别 流程图(1) 流程图(2)

例6.5把100至200之间的不能被3整除的数输出。 main() {int n; for(n=100;n<=200;n++) 程序设计基础 第六章 循环控制 例6.5把100至200之间的不能被3整除的数输出。 main() {int n; for(n=100;n<=200;n++) {if(n%3==0) continue; printf("%d ",n); }} 运行程序

程序设计基础 第六章 循环控制 6.9 程序举例 例6.6 例6.7 例6.8 例6.9 例6.10 返回主菜单

例6.6用公式 求π。 #include<math.h> main() { int s; float n,t,pi; 程序设计基础 第六章 循环控制 例6.6用公式 求π。 #include<math.h> main() { int s; float n,t,pi; t=1,pi=0;n=1.0;s=1; while(fabs(t)>1e-6) {pi=pi+t; n=n+2; s=-s; t=s/n; } pi=pi*4; printf("pi=%10.6f\n",pi); 运行程序

程序设计基础 第六章 循环控制 例6.7 求Fibonacci数列40个数,这个数列有如下特点:第1,2两个数为1,1.从第3个数开始,该数是其前面两个数之和。即: F1=1(n=1) F2=1(n=2) Fn=Fn-1+ Fn-2(n>=3) main() { long int f1,f2; int i; f1=1;f2=1; for(i=1;i<=20;i++) printf(“%12ld%12ld”,f1,f2); if(i%2==0) printf(“\n”); f1=f1+f2; f2=f2+f1; } 运行程序

例6.8 判断m是否素数 。 #include<math.h> main() { int m,i,k; 程序设计基础 第六章 循环控制 例6.8 判断m是否素数 。 #include<math.h> main() { int m,i,k; scanf(“%d”,&m); k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>=k+1) printf(“%d is a prime number\n”,m); else printf(“%d is not a prime number\n”,m); } 运行程序

例6.9 求100至200间的全部素数。 #include<math.h> main() { int m,i,k,n=0; 程序设计基础 第六章 循环控制 例6.9 求100至200间的全部素数。 #include<math.h> main() { int m,i,k,n=0; for(m=101;m<=200;m=m+2) k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>=k+1) {printf(“%d”,m); n=n+1;} if(n%n==0)printf(“\n”); } printf(“\n”); 运行程序

例6.10 译密码。为使电文保密,往往按一定规律将其转 换成密码,收报人再按约定的规律将其译回原文。例如,可以按以下规律将电文变成密码。 程序设计基础 第六章 循环控制 例6.10 译密码。为使电文保密,往往按一定规律将其转 换成密码,收报人再按约定的规律将其译回原文。例如,可以按以下规律将电文变成密码。 include <stdio.h> main() { char c; while((c=getchar())!=‘\n’) if((c>=‘a’&&c<=‘z’|| c>=‘A’&&c<=‘Z’) { c=c+4; if((c>‘Z’&&c<=‘Z’+4|| c>‘z’) c=c-26; } printf(“%c”,c); 运行程序

The end