c语言循环结构

为什么用循环?

C语言中的循环主要分为三种:while循环,do...while循环 for循环

while循环:先判断条件是否成立,如果条件成立将执行其下的循环体,如果条件不成立一次都不执行。

语法:

while(条件)

{

//循环体;

}

实例:

int a;

while(a<=100){

printf("while执行一百遍\n");

a++;

}

计算0~100的偶数和

int i=0,sum=0;

while(i<100){

if(i%2==0)//偶数

sum+=i;

}

i++;

}

printf("0~100之间的所有偶数和为:%d\n",num);

do...while结构:先执行循环体,再判断条件是否为真,如果为真继续执行,如果为假终止循环===>先执行,再判断(至少会执行一次)

语法: do{

循环体;

}while(条件);

实例:0~100的奇数

int i=0;num=0;

do{

if(i%2!=0){

num+=i;

}

i++;

}while(i<100);

printf("0~100之间的所有奇数和为:%d\n",sum);

猜价格高低:5次机会

int number,i=0,price=100;

do{

printf("请输入商品价格:\n");

scanf("%d",&number);

if(number<price){

printf("低了!\n");

}else if(number>price){

printf("高了!\n");

}else{

printf("猜中了!\n");

break;//跳出循环

}

i++;

}while(i<5);

计算0~100之间所有能被3整除和带3的数字之和

int i=0;//循环变量

int sum=0;

while(i<100){

if((i%3==0)||(i%10==3)||(i/10==3)){

sum+=i;

}

i++;

}

printf("0~100之间所有能被3整除和带3的数字之和为%d",sum);

打印100~1000之间所有水仙花数,并统计其个数

int i=100;//循环变量

int count=0,ge,shi,bai,he;//统计水仙花数

do{

ge=i%10;//获取个位

shi=i/10%10;//获取十位

bai=i/100; //获取百位

he=ge*ge*ge+shi*shi*shi+bai*bai*bai;

if(he==i){

printf("%d\t",i);

count++;

}

i++;

}while(i<1000);

printf("\n100~1000之间共有%d个水仙花数",count);

李白闲来无事街上走,提壶去买酒,遇店加一倍,遇花喝一斗,五遇花和店喝光壶中酒,李白壶中原有多少酒?

//分析:假设原有壶中有x斗酒;===>遇到花之前(x+1);遇到店之前(x+1)/2

float x=0;//壶中原有酒的斗数

int i=0;

while(i<5){

x=(x+1)/2;//遇到花和店之前的壶中酒的斗数

i++;

}

printf("李白壶中原有%7.3f斗酒",x);

环嵌套:一个循环中嵌套其他循环,只有在内层循环结束时,才能执行下一次外层循环(外层循环执行1次,内层循环执行N次)

while(条件){

while(条件){

//循环体;

}

}

do{

do{

//循环体;

}while(条件);

}while(条件)

使用循环打印矩形:外层循环控制打印的行数,内层循环控制每行打印*的个数

********

********

********

int i=0,j;

while(i<3){

j=0;

while(j<8){

printf("*");

j++;

}

printf("\n");

i++;

}

打印直角三角形:

*

**

***

****

int i=0,j;

while(i<4){//外层控制打印的行数

j=0;

while(j<=i){//内层循环控制每行打印星号的个数

printf("*");

j++;

}

printf("\n");

i++;

}

打印直角三角形

*

***

*****

*******

int i=1,j;

while(i<5){//外层控制打印的行数

j=0;

while(j<2*i-1){//内层循环控制每行打印星号的个数

printf("*");

j++;

}

printf("\n");

i++;

打印正的等腰三角形

*

***

*****

*******

int i=0,j,k;

while(i<4){//外层循环控制行数

j=0,k=0;

//打印空格

while(j<3-i){

printf(" ");

j++;

}

//打印星号

while(k<2*i+1){

printf("*");

k++;

}

//换行

printf("\n");

i++;

}

for循环:在for循环中;是不能或缺的,表达式1,表达式2,表达式3都可以省略。

for(表达式1;表达2;表达式3)

{

//循环体;

}

执行顺序: 初始化循环变量-->循环条件判断--->执行循环体--->更改循坏变量

示例:逢3过小游戏"

int number,fac=1;//接受用户输入的数字

int i;

printf("请输入数字");

scanf("%d",&number);

for(i=1;i<=number;i++){

fac=i*fac;

}

printf("%d",fac);

示例: 九九乘法表

int i,j;

for(i=1;i<=9;i++){

for(j=1;j<=i;j++){

printf("%d*%d=%d\t",i,j,i*j);

}

printf("\n");

}

break和contine关键字

break:跳出循环

continue: 跳过本次循环,继续下一次循环

C语言四的更多相关文章

  1. tn文本分析语言(四) 实现自然语言计算器

    tn是desert和tan共同开发的一种用于匹配,转写和抽取文本的语言.解释器使用Python实现,代码不超过1000行. github地址:https://github.com/ferventdes ...

  2. iOS开发-OC语言 (四)数组

    知识点 1.NSArray 2.NSMutableArray 1.数组的基本用法: 2.数组的遍历 3.数组排序 ===========   NSArray  不可变数组  ============= ...

  3. [PLC]ST语言四:INV_MEP_MEF_PLS_PLF_MC_MCR

    一:INV_MEP_MEF_PLS_PLF_MC_MCR 说明:简单的顺控指令不做其他说明. 控制要求:无 编程梯形图: 结构化编程ST语言: (*运算结果的反转INV(EN);*) M415:=in ...

  4. python语言(四)关键字参数、内置函数、导入第三方模块、OS模块、时间模块

    一.可变参数 定义函数时,有时候我们不确定调用的时候会传递多少个参数(不传参也可以).此时,可用包裹(packing)位置参数(*args),或者包裹关键字参数(**kwargs),来进行参数传递,会 ...

  5. Django之模板语言(四) ------>Tags

    案例1:单层for循环 # Django 模板语言测试代码 def template_test(request): name_list=["张三","李四",& ...

  6. 快速学习C语言四: 造轮子,ArrayList

    高级语言里的列表是最常用的数据结构,在C里造个轮子玩玩,C没有泛型,先用int练习. Collection的ADT一般有hasnext,next,add, remove操作,List一般还加了remo ...

  7. c语言 四种方法调用数组

      #include <stdio.h> /********************************* * 方法1: 第一维的长度可以不指定 * * 但必须指定第二维的长度 * * ...

  8. ASP.NET MVC下使用AngularJs语言(四):$window.alert

    判断文本框是否有填写,没有填写使用angularjs的$window.alert来提示用户. 创建一个ASP.NET MVC控制器: 接下来是准备一个angularjs的控制器: pilotApp.c ...

  9. [Python学习笔记1]Python语言基础 数学运算符 字符串 列表

    这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...

随机推荐

  1. CodeSign error: no provisioning profile at path '/Users/zhht-2015/Library/MobileDevice/Provisioning Profiles/79693141-f98b-4ac4-8bb4-476c9475f265.mobileprovision'

    解决方法: 1.关闭Xcode,找到项目中的**.xcodeproj文件,点击右键,show package contents(打开包内容). 2.打开后找到project.pbxproj文件,用文本 ...

  2. C# 自动批量搜索指定关键字,没有注册的域名

    做好网站了,部署上线.想注册域名,但是想了很多要注册的,都被别人注册了.例如已经做好了体育资讯的网站,想要包含关键字sport的域名,就可以用这个工具自动完成搜索. 效果如下图: 演示程序结构 在vs ...

  3. 3种基础的 REST 安全机制

    安全是 RESTful web service 的基石,我们主要讨论以下3种主要的方法: Basic authentication Oauth 2.0 Oauth 2.0 + JWT 1. Basic ...

  4. 基于javaSwing的贪食蛇游戏

    这个项目时,是我好几年前写的了.但对刚入门,或者想瞧瞧java的图形的界面swing的同学,还是有点用处的. 在这推荐给你. 涉及技术点 swing,多线程,文件读写,多媒体文件播放等 游戏简介 该游 ...

  5. robotframework,移动端(小程序)自动化,滚动屏幕的方法

    场景描述: 小程序端定位元素有无法定位弹出层内容的问题(自动化工具只能识别到背景主层,无法识别到弹出层) 解决思路: 1.弹出层元素与背景主层元素位置一致,当点击出弹出层时,在定位背景主层即可定位到弹 ...

  6. 关于SpringMVC未找到类[No qualifying bean of type [...]is defined]问题

    首先,不要慌,出现这个问题肯定是某一个配置注解没写上.. 无非就几个地方: 1.控制层是否添加@Controller or 需要pring管理的类是否添加@Component 2.DAO层是否添加@R ...

  7. GO异常 | runnerw.exe: CreateProcess failed with error 21

    背景 今天创建了一个GO项目,写了几行代码 package chapter1 import "fmt" func main() { fmt.Println("hello ...

  8. sass css样式:@for循环、样式变量与#{} 变量插值

    /* sass 可以用写JS的思想来写CSS代码         *   #{}                 用来插值,大括号中填写需要插入的变量         *   @for 变量 from ...

  9. CLion在项目里编译不同文件

    1. 在完整的项目下找到CMakeList.txt(项目配置文件) 2. Build 和 Run的目标在add_executable参数中 3. 将其修改为如下格式:add_executable(pr ...

  10. HDU_1222_GCD

    http://acm.hdu.edu.cn/showproblem.php?pid=1222 直接用GCD就可以了,gcd大于1表明每次一周后偏移量为0. #include<iostream&g ...