第5章 循环结构程序设计

三种基本循环控制结构

使用while语句实现循环

先判断条件表达式,后执行循环体语句

while (循环条件表达式)
{
循环体
}

用do-while语句实现循环

先无条件地执行循环体,然后判断循环条件是否成立

do
{
语句;
}
while(表达式);

用for语句实现循环

for语句的执行过程:

(1) 先求解表达式1

(2) 求解表达式2,若其值为真,执行循环体,然后执行下面第(3)步。若为假,则结束循环,转到第(5)步

(3) 求解表达式3

(4) 转回上面步骤(2)继续执行

(5) 循环结束,执行for语句下面的一个语句

for(初始条件;循环条件表达式;循环的调整器)
语句;
循环的嵌套

(1) 一般情况下,3种循环可以互相代替

(2) 在while和do–while循环中,循环体应包含使循环趋于结束的语句。

(3) 用while和do–while循环时,循环变量初始化的操作应在while和do–while语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。

改变循环执行的状态

用break语句提前终止循环

用continue语句提前结束本次循环

break语句和continue语句的区别

continue语句只结束本次循环,而不是终止整个循环的执行

break语句结束整个循环过程,不再判断执行循环的条件是否成立

循环程序举例
求Π的近似值
#include <stdio.h>
#include <math.h>
int main()
{ int sign=1; double pi=0,n=1,term=1;
while(fabs(term)>=1e-6)
{ pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
}
pi=pi*4;
printf("pi=%10.8f\n",pi);
return 0;
}
求斐波那契数列的前40个数
#include <stdio.h>
int main()
{ int f1=1,f2=1,f3; int i;
printf("%12d\n%12d\n",f1,f2);
for(i=1; i<=38; i++)
{ f3=f1+f2;
printf("%12d\n",f3);
f1=f2;
f2=f3;
}
return 0;
}
输入一个大于3的整数n,判断它是否是素数(质数)
#include<studio.h>
int main(){
int n,i;
print("n=?");scanf("%d",&n);
for(i=2;i<=n-1;i++)
if(n%i==0)break;
if(i<n)printf("%d is not\n",n);
else printf("%d is \n",n);
return 0;
}
译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。(改变为其后第4个字母)
char c;
c=getchar();
while(c!=‘\n’)
{ if((c>=‘a’ && c<=‘z’) || (c>=‘A’ && c<=‘Z’))
{ if(c>='W' && c<='Z' || c>='w' && c<='z')
c=c-22;
else c=c+4;
}
printf("%c",c);
c=getchar();
} 程序改进
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);
}

【C语言】第5章 循环结构程序设计的更多相关文章

  1. 算法竞赛入门经典_第二章:循环结构程序设计_上机练习_MyAnswer

    习题2-1 位数 输入一个不超过109的正整数,输出它的位数.例如12735的位数是5.请不要使用任何数学函数,只用四则运算和循环语句实现. #include<stdio.h> int m ...

  2. C语言 第五章 循环结构练习

    一.计算15+16+17 …98+99的和 for实现 #include "stdio.h" void main() { //15+16+17 …98+99 ; ;i<=;i ...

  3. C语言 第五章 循环结构

    一.for 请在屏幕上输出1000个*号 printf("*************************...."); #include "stdio.h" ...

  4. 160809209_李梦鑫_C语言程序设计实验3 循环结构程序设计

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 ...

  5. 【C语言】第4章 选择结构程序设计

    第4章 选择结构程序设计 C语言有两种选择语句: if 语句,实现两个分支的选择结构 switch 语句,实现多分支的选择结构 输入3个数a,b,c,要求按由小到大的顺序输出. 可以先用伪代码写出算法 ...

  6. Python程序设计实验报告四:循环结构程序设计(设计型实验)

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2020.4.8     指导老师       修宇 [实验名称 ...

  7. 第5章 简单的C程序设计——循环结构程序设计

    5.1 为什么需要循环控制 前面介绍了程序中常用到的顺序结构和选择结构,但是只有这两种结构是不够的,还需要用到循环结构(或称重复结构).因为在程序所处理的问题中常常遇到需要重复处理的问题. 循环结构和 ...

  8. C 语言入门第五章--循环结构和选择结构

    C语言中有三大结构,分别是顺序结构.选择结构和循环结构: 逻辑运算: 与运算: && 或运算:|| 非运算:! ==== #include<stdio.h> int mai ...

  9. 【blockly教程】第五章 循环结构

    在这里,我们将介绍一个新游戏--Pond Tutor 在Pond Tutor(https://blockly-games.appspot.com/pond-tutor)这个游戏中,我们将扮演黄色的鸭子 ...

随机推荐

  1. Appium和Python实现蚂蚁森林自动化收取能量

    准备环境 Window10系统 Appium1.21.0 AndroidSDK r24.1.1 Python3.7.5 支付宝apk文件 查看支付宝apk包信息 使用android sdk aapt命 ...

  2. Cookie学习总结

    Cookie简述 1. 概念 一种客户端会话技术,可以将一些少量的数据保存在客户端. 2. 快速使用 步骤 创建cookie对象,并设定数据 new Cookie(String name, Strin ...

  3. 利用LRU策略实现Axios请求缓存

    业务场景 前一段时间刚做完一个项目,先说一下业务场景,有别于其他的前端项目,这次的项目是直接调用第三方服务的接口,而我们的服务端只做鉴权和透传,第三方为了灵活,把接口拆的很零散,所以这个项目就像扔给你 ...

  4. noip模拟测试16

    这次考试,难度还是不小的,先说一下考试过程,首先看一遍题,觉得开题顺序1 3 2, 然后我就先打了第一题,我当时可能是受到之前做题的限制了,觉得他只能每次走一 格,也就是一个单位长度,但是实际上,他甚 ...

  5. BSTestRunner增加历史执行记录展示和重试功能

    之前对于用例的失败重试,和用例的历史测试记录存储展示做了很多的描述呢,但是都是基于各个项目呢,不方便使用,为了更好的使用,我们对这里进行抽离,抽离出来一个单独的模块,集成到BSTestRunner中, ...

  6. Python中input()函数用法

    input()函数获取用户输入数据,实现用户交互 语法格式: 变量 = input("提示信息") input()返回的是字符串,无论输入的是数字还是字符串,默认的输入结束键是回车 ...

  7. linux笔记全(无图版)

    1.ls 查看当前目录下的所有内容 黑色的是文件,蓝色的是文件夹,也就是目录 2.rm -f anaconda-ks. cfg 彻底删除文件(如不确定,则需要先保存备份,也就是快照) 3.ifconf ...

  8. 【LeetCode】424. 替换后的最长重复字符

    424. 替换后的最长重复字符 知识点:字符串,滑动窗口: 题目描述 给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次.在执行上述操作后,找到包含 ...

  9. Quartz部署Linux的一个坑

    前言 最近做了一个项目,使用Quartz做定时任务,然后部署到了Linux服务器上,但是竟然很惊奇的跑不起来,已经在阿里云上的Linux上验证无数次了,后来经过不懈努力,终于发现了问题,我自己的Lin ...

  10. 从零开始的Java RASP实现(二)

    目录 2 RASP-demo 2.1 类加载机制 双亲委派 BootStrap ClassLoader 2.2 Instrumentation介绍 Instrumentation类中常用方法 Inst ...