C/C++循环与分支语句

  • 循环与分支语句的意义
  • 关系运算符、逻辑运算符
  • for循环和嵌套for循环(基于范围for循环)
  • while循环与do while循环
  • 分支if语句、if else语句、if else…if else 语句
  • switch case语句
  • break与continue语句

循环与分支语句的意义

循环与分支的存在是部分代码可以多次执行,直到达到某些条件后,退出循环提高了效率,使编程更加灵活、得心应手。

关系运算符与逻辑运算符


for循环和嵌套for循环(基于范围for循环)

  • for循环格式: for(声明赋值变量1,声明赋值变量2···;返回值为真或假的关系式;对变量进行操作)
//例子1:
for(int i=0,int k=10;i<k;i++,k--);
cout<<"xun huan zhong";
  • 注意:for循环有三个循环条件分别用‘;’号分隔,三个条件均是(根据需要)可以省略的,而每个条件又可以写多个语句(如在第一个条件中 写了两个句子分别为int i=0,int k=10)并以‘,’号分隔
例子2:循环打印数组元素
#include<stdio.h>
int main()
{
char ar[11]={"Hollowword"}; //注意:字符串中10个英文至少要放到数组元素为11到里面,因为最后一个数组元素(ar[10])要放字符串结束符:'\0'
for(int i=0;i<10;i++)
printf("%c\n",ar[i]); return 0;
}

  • 嵌套for循环格式(本质:for循环里面又有一个for循环,里边还可以再加for循环)
//格式:
for( ; ; )
{
for( ; ; )
{
for( ; ; )
{
····
}
}
}
举例:二维数组的初始化
#include<stdio.h>
int main()
{
int array[10][10];
for(int i=0;i<10;i++) //外层循环二维数组行数
for(int k=0;k<10;k++) //内层循环二维数组列数
{
array[i][k]=0; //赋值
}
return 0;
}
/*注意:第一个for循环后没有加一对{}号,而内层的for循环却加了。这是因为for后默认可以跟一条语句在循环内执行,
而加了{ }后,可以在其中写多条语句,作为一个代码块在循环内执行,在其它地方代码块这种格式也同样适用*/

while循环与do while循环

  • while循环格式
while (condition执行条件)
{
statements执行内容
}
  • do while循环的格式
do
{
statements } while (condition);
  • 注意for循环、while循环、do while循环的差别

首先for循环与while循环是可以相互替代的,for、while循环与do while循环的差别是

for、while循环在执行循环体的时候会先检测是否符合循环条件,而do while循环是 先执行一次循环体后,再检查是否要继续循环。


分支if语句、if else语句、if else…if else 语句

  • 分支if()语句
 if (condition) //如果条件为真就执行statements可以与for循环配合使用,注意condition可以有多个并通过逻辑运算符连接。
{
statements
}
举例:判断是否为闰年
#include<stdio.h>
int main()
{
int year;
printf("%d",year); if ((year%4==0&&year%100 !=0) || year%400==0) //判断闰年的标准是:1、能整除4且不能整除100 2、能整除400
{
printf("shi run nian!")
} }
  • if else与if else if else语句
if else格式:
if (condition)
{
statements
}
else
{
statements
}
if eles if else····格式:
if (condition)
{
statements
}
else if (condition)
{
statements
}
else if (condition)
{
statements
}
······

switch语句(与if else if else ···语句等效)

    格式:
switch (expression) //跳转表达式
{
case constant1: //情况1;
statements case constant2: //情况2;
statements
break;
····
default:
break;
}
/*注意switch使用的细节:默认在 switch跳转到某个case之后,会继续向下执行其他的case 直到把case执行完跳出switch语句,如果不想让程序继续执行下去可以在每种case的statements后加上break; 去直接跳出case*/
/*switch语句可以与if else 混合使用,switch也可以嵌套switch语句*/
//switch语句的应用
#include<stdio.h>
#include<stdlib.h> int main(){
printf("输入一个表示星期的数字(1-7):");
int num=0;
scanf("%d",&num);
switch(num){
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
default:
//如果前面所有的 case 都没有命中,于是就走到 default 分支中
//如果使用了 switch 语句,必须要写 default 分支
printf("非法输入\n");
break;
}
system("pause");
return 0;
}

break与continue语句

  • break语句

作用有两个:

  1. 如上例用法退出switch,不再执行下一个case情况。
  2. 用于退出循环(如果是多层嵌套循环,只能结束break;所在的一层循环)。
#include<stdio.h>
#include<stdlib.h> int main(){
//从1循环到10,如果一旦发现 数字5就结束循环
int i=1;
while(i<=10){
printf("%d\n",i);
if(i==5){
//跳出循环
break;
}
i+=1;
}
system("pause");
return 0;
}
  • continue

作用:只能在循环中使用,当执行到 continue; 语句时程序将不执行下面的语句此时直接回到该层循环起始处开始执行。

#include<stdio.h>
#include<stdlib.h>
int main(){
//for语句也是用来表示循环.
//while语句容易遗漏循环变量的更新操作
//for循环就是为了解决 while 循环的这个缺点 //从1循环到10,如果发现数字5,就跳过5,继续循环后面的数字
int i=1;
while(i<=10){
if(i==5){
i+=1;
continue;
}
printf("%d\n",i);
i+=1;
}
system("pause");
return 0;
}

总结:要想熟练掌握循环与分支语句需要耍一些关于循环的题!!!

C/C++知识总结 四 循环与分支语句的更多相关文章

  1. 循环 与 分支语句 和 字符函数库cctype 文件简单处理

    循环 for循环 while循环 do  while循环 通常,入口条件循环比出口条件循环好,因为循环开始前对条件进行检查 c++11基于范围的for循环    对数组(或容器类,如:vector和a ...

  2. 【java开发】分支语句、循环语句学习

    一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...

  3. T_SQL编程赋值、分支语句、循环

    咱们在C#中会常用到赋值.循环.分支语句什么的 今天咱们来看下当初在C#用到的一点东西放到SQL中是怎么使用的 创建变量 在C#中创建一个值类型变量很简单 int a:这就可以了 SQL: decla ...

  4. HTML基础--JS简介、基本语法、类型转换、变量、运算符、分支语句、循环语句、数组、函数、函数调用.avi

    JS简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司(已被Oracle收 ...

  5. 分支语句 if的嵌套 循环语句

    0930 今天学习内容做以下总结: 语句的分类:顺序语句,分支语句(选择,条件),循环语句 分支语句 格式1:if(表达式(要么是true 要么是false)){} 格式2:if(){}slse{}  ...

  6. js简介、基本语法、类型转换、变量、运算符、分支语句、循环语句、函数、函数调用

    javascript是个脚本语言,需要有宿主文件,他的宿主文件是html文件. 三个常用对话框 alert("")警告对话框,弹出一个警告对话框 <script> al ...

  7. js部分---运算符,if分支语句,for循环;switch case 的用法;

    ------------------------------------------运算符---------------------------------------------------- *数 ...

  8. 【2-23】分支语句(switch…case)及循环语句

    Switch-case分支语句与if语句作用相同,但需将情况都罗列出比较麻烦所以不常用. 其基本结构是: Switch(一个变量值) { Case 值1:要执行的代码段:break; Case 值2: ...

  9. SQL基本编程,分支语句,循环语句,存储过程,触发器

    基本编程: 定义变量 declare @变量名 数据类型 赋值 set @变量名 = 值 select @变量名 = 值 取值打印 select @变量名 print @变量名 映射到结果集 打印到消 ...

随机推荐

  1. SQLi-Labs之1~6关 - 常规注入与盲注

    年初五 财神入 第一关 联合注入 1.准备 2.加'截断 3.order by 判断查询列数 4.同上 5.联合查询判断字段位置 6.查数据库名 7.1 查表名 7.2 查列名 8.查数据 第二关 不 ...

  2. openwrt sdk 编译工具 及 hello world

    需要先在 make menuconfig 中打开 sdk make -j4在 bin\targets\ramips\mt7620生成一个openwrt-sdk-ramips-mt7620_gcc-7. ...

  3. JVM03——四种垃圾回收算法,你都了解了哪几种

    在之前的文章中,已经为各位带来了JVM的内存结构与堆内存的相关介绍,今天将为为各位详解JVM垃圾回收与算法.关注我的公众号「Java面典」了解更多 Java 相关知识点. 如何确定垃圾 想要回收垃圾, ...

  4. 如何配置 GitHub 为个人的手机图床

    PicPlus 是一个手机端的图床上传工具,支持七牛云.阿里云.又拍云等主流图床配置,同时还支持配置 GitHub.码云作为自己的图床,如下所示: 这篇文章主要介绍如何在 PicPlus 中配置 Gi ...

  5. angular 中嵌套 iframe 报错

    错误如下 Error: unsafe value used in a resource URL context at DomSanitizationServiceImpl.sanitize... 解决 ...

  6. 妈妈再也不担心我面试被Redis问得脸都绿了

    长文前排提醒,收藏向前排提醒,素质三连 (转发 + 在看 + 留言) 前排提醒! 前言 Redis 作为一个开源的,高级的键值存储和一个适用的解决方案,已经越来越在构建 「高性能」.「可扩展」 的 W ...

  7. MySQL 【进阶查询】

    数据类型介绍 整型 tinyint, # 占1字节,有符号:-128~127,无符号位:0~255 smallint, # 占2字节,有符号:-32768~32767,无符号位:0~65535 med ...

  8. 使用SpringBoot + JavaMailSender 发送邮件报错 Mail server connection failed;Could not connect to SMTP host

    说明: 出于安全考虑,阿里云默认封禁 TCP 25 端口出方向的访问流量,无法在阿里云上的云服务器通过 TCP 25 端口连接外部地址. [官方提示]:如果您需要使用阿里云上的云服务器对外部发送邮件, ...

  9. python之路---协程

    阅读目录 一 引子 二 协程介绍 三 Greenlet模块 四 Gevent模块 引子 之前我们学习了线程.进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位.按道理来 ...

  10. Java循环和数组练习题:打印素数升级版

    前两天一个小伙伴问了我一个数组的练习题,我一看思路很清晰,就是打印素数加了个数组.没想到写的时候啪啪打脸,终究还是没逃过眼高手低.本来不打算发出来了,因为发出来愈发显得我很菜,最后还是打算分享出来,一 ...