1、while循环

循环三要素:

1)、循环变量的初值

2)、循环变量的判断

3)、循环变量的更新

#include <stdio.h>
#include <stdlib.h> int main()
{
int i = ;
while(i<=)
{
printf("第%d遍\n",i);
i++;
}
return ;
}

小练习1:使用循环计算1-100的累加和

#include <stdio.h>
#include <stdlib.h> int main()
{
int i = ;
int sum = ;
while(i<=)
{
sum += i;
i++;
}
printf("%d\n",sum);
return ;
}

小练习2:使用循环实现三次密码输入错误退出系统

#include <stdio.h>
#include <stdlib.h> int main()
{
int i = ; //循环变量
int password; //密码
while(i<)
{
printf("请输入密码:");
scanf("%d",&password);
if(password!=)
{
printf("密码输入错误,当前输入第%d次密码!\n",i+);
}
else if(password==)
{
printf("密码输入成功!\n");
break;
}
if(i==)
{
printf("密码输错三次,系统强制退出!\n");
exit();
}
i++;
} return ;
}

这里有几个要注意的地方:

1)、加入了当密码输入正确就退出的判断机制;

2)、if...else if....else if...else...这种结构,一旦里面有一个符合条件,就不会继续下面的判断了,所以在

判断i是否到2这里,用的是if,而不是else if,因为第三次密码输入错误的时候,已经在第一个if里判断过了,就不会在下面的else if里

继续判断了

小练习3:某宝双十一2015年的交易额为800亿,每年递增25%,问按此速度哪年交易额达到2000亿?

#include <stdio.h>
#include <stdlib.h> int main()
{
double initSum = ; //2015年的交易额
double increase = 0.25; //递增率
int initYear = ; //初始年份
while()
{
initSum *= 1.25;
if(initSum>=)
{
printf("第%d年交易额达到2000亿,此年交易额为%lf\n",initYear+,initSum);
break;
}
initYear++;
} return ;
}

小练习4:使用循环模拟实现玩家对战

双方初始HP均为100;

每次攻击5-15;

HP最先到零或以下的被KO

#include <stdio.h>
#include <stdlib.h> //标准库
#include <time.h> //time方法
#include <windows.h> //Sleep
int main()
{
srand(time(NULL));
//rand()函数的取值范围是0-32767
printf("随机种子:%d\n",rand());
int hp1 = ,hp2=; //1p和2p的初始血量
int att1,att2;//1p和2p每次的攻击
int i = ;//对战的轮数
while(hp1>= && hp2>=)//当两个玩家都活着的时候,才能进行对战
{
//默认1p首先攻击
att1 = rand() % +;
att2 = rand() % +;
//玩家1攻击,玩家2掉血
hp2 -= att1;
//玩家2攻击,玩家1掉血
hp1 -= att2;
if(hp1<= && hp2>=)
{
printf("玩家2胜利\n");
break;
}
else if(hp1>= && hp2<=)
{
printf("玩家1胜利\n");
break;
}
printf("************************************\n");
printf("第%d轮:\n",i);
printf("玩家1攻击力:%d,玩家2剩余血量:%d\n",att1,hp2);
printf("玩家2攻击力:%d,玩家1剩余血量:%d\n",att2,hp1);
printf("************************************\n");
i++;
Sleep();//休眠500ms
}
printf("游戏结束,玩家1的血量:%d\t玩家2的血量:%d\n",hp1,hp2);
return ;
}

C语言复习4_while循环的更多相关文章

  1. C语言复习6_doWhile循环

    基本语法 do{ 循环操作 }while(循环条件); 特点:先执行,再判断 先执行一遍循环操作 符合条件,循环继续执行 否则循环退出 例题: #include <stdio.h> #in ...

  2. C语言复习-字符串与指针

    C语言复习-字符串与指针 例一: [字符串处理 去除C代码中的注释] C/C++代码中有两种注释,/* */和//.编译器编译预处理时会先移除注释.就是把/*和*/之间的部分去掉,把//以及之后的部分 ...

  3. C#5 复习总结循环 迭代和穷举

    一.章节复习: 循环.反复执行某段语句一种语法形式. 1.基本语法: for( 初始条件 ; 循环条件 ; 状态的改变 ) { 循环体 } 循环的四要素. 循环的执行过程.初始条件--循环条件--循环 ...

  4. C语言-for循环

    for循环是C语言中的循环语句之一,它的一般形式为for(初值,条件表达式,步长){语句};初值通常是一个赋值语句, 它用来给循环控制变量赋初值: 条件表达式是一个关系表达式, 它决定什么时候退出循环 ...

  5. C语言复习---零散补充

    一:double和float使用scanf获取数据 printf输出float和double都可以用%f,double还可以用%lf. 2 scanf输入float用%f,double输入用%lf,不 ...

  6. C语言复习20170728

    C语言复习20170728 键盘输入和屏幕输出 字符常量:把字符放在一对单引号内,适用于多数可打印字符. 转义字符: 以反斜线()开头,也是放在一对单引号内,适用于控制字符. .\t,是水平制表符,相 ...

  7. C语言复习20170716

    C语言复习20170716 C数据类型 图片来自:C语言基本数据类型简介 C语言程序处理的数据有常量和变量两种形式. 常量是在程序中不能改变其值的量.例如:整型常量.实型常量.字符常量.字符串常量和枚 ...

  8. C语言复习系列-转义字符

    C语言复习系列-转义字符 准备学习stm32单片机,感觉需要复习一下C语言,翻看了菜鸟教程,竟然有不少地方看不懂,真让人汗颜······ 转义字符大部分语言里面都有,至少我学过的里面都有,在这些语言中 ...

  9. 怎么绘制C语言选择和循环语句的思维导图

    C语言是一门非常基础的计算机语言,是大部分本科学生的公共专业,在C语言的学习中,选择和循环语句是至关重要的部分,利用思维导图可以有效节约时间并加深知识点记忆. 接下来就为大家介绍一下我用iMindMa ...

随机推荐

  1. 使用scrapy爬虫,爬取起点小说网的案例

    爬取的页面为https://book.qidian.com/info/1010734492#Catalog 爬取的小说为凡人修仙之仙界篇,这边小说很不错. 正文的章节如下图所示 其中下面的章节为加密部 ...

  2. mysql常用

    查询表占用大小 select sum(DATA_LENGTH)+sum(INDEX_LENGTH) from information_schema.tables where table_schema= ...

  3. HTTP请求(Request)和回应(Response)对象

    附录H HTTP请求(Request)和回应(Response)对象 57 http://djangobook.py3k.cn/ Django使用request和response对象在系统间传递状态. ...

  4. jquery +ajax 上传加预览

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. Django报错:OSError: raw write() returned invalid length 4 (should have been between 0 and 2)

    在使用Django时Django报错:Django报错:OSError: raw write() returned invalid length 4 (should have been between ...

  6. PHP使用urlencode对中文编码时空格、加号的问题

    使用urlencode这个函数进行格式化,urlencode函数会把空格编码为为:+ 当然,前端在接收时可以解码后进行替换 + 为空格的方式处理. 但是这样就多做了一步,很麻烦,有的时候我们的数据接口 ...

  7. python接口自动化1

    组织架构: 包括配置文件,反射.文件路径.Excel操作.测试报告生成 case.config [MODE] file_name=case_data.xlsx mode={"register ...

  8. linux查看空间情况----df与du命令

    1.查看整个磁盘空间使用情况,可以使用命令 :df   -h 2.获取当前的文件夹下的磁盘使用情况,可以使用如下命令:du --max-depth=1 -h 使用 du --max-depth=1 - ...

  9. python: 列表的方法

    操作 函数 使用方法 备注 索引 index in: example.index(‘creative’) --- 1 in:example[1,] --- [’creative’, [’京东’,996 ...

  10. hdu1201 java

    题意: 求某人从出生到18岁生日所经过的天数.如果这个人没有18岁生日,就输出-1. 思路: 通过毫秒值计算天数. 利用:来自https://www.cnblogs.com/xiohao/p/5294 ...