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. Python知识点 - 获取当前系统主机名、用户名、用户目录。

    代码示例: import socket, getpass, os # 获取当前系统主机名 host_name = socket.gethostname() # 获取当前系统用户名 user_name ...

  2. JavaScript面向对象class

    JavaScript面向对象class 本周逆战班学习的主题是“面向对象”,很多人觉得面向对象很难理解,但其实我们早就在面向对象的思想之中了,今天就让我们再重新认识一下他,主要介绍一下ES6中新增的c ...

  3. python自动化第二课 - python基础

    1.标识符(identitifier),识别身份 定义:在编程语言中,标识符就是用户编程时使用的名字,用于给变量.常量.函数.语句块等命名 标识符命令规范: 1)英文,数字以及下划线(_)但不能以数字 ...

  4. Drf(DjangoRestFramewok)

    第一部分 问题 1.前后端分离? vue.js 后端给前段返回json数据 2.移动端盛行. app 后端给app返回json数据 3.PC端应用? crm项目,前段后端一起写,运行在浏览器上. 一般 ...

  5. jvm 性能调优工具之 jstat 命令详解

    Jstat名称:Java Virtual Machine statistics monitoring tool 官方文档:https://docs.oracle.com/javase/1.5.0/do ...

  6. Untargeted lipidomics reveals specific lipid abnormality in nonfunctioning human pituitary adenomas 非靶向脂质组学揭示非功能人类脑垂体瘤中的特异性脂质 (解读人:胡丹丹)

    文献名:Untargeted lipidomics reveals specific lipid abnormality in nonfunctioning human pituitary adeno ...

  7. [Docker02]Docker_registry

    部署Docker仓库 Docker registry #检查端口5000是否被占用 netstat -tunlp | grep 5000 # the local host ip is 172.17.0 ...

  8. BFC是什么?BFC有什么用?看完全明白

    一.BFC是什么? 官方定义 BFC(Block Formatting Context,块格式化上下文) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交 ...

  9. 解决在linux下的eclipse syso Alt+/无法使用

    1.绑定快捷键 2.配置proposal

  10. 通过源码理解Spring中@Scheduled的实现原理并且实现调度任务动态装载

    前提 最近的新项目和数据同步相关,有定时调度的需求.之前一直有使用过Quartz.XXL-Job.Easy Scheduler等调度框架,后来越发觉得这些框架太重量级了,于是想到了Spring内置的S ...