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. .Net Core 为 x86 和 x64 程序集编写 AnyCPU 包装

    前言 这几天研究了一下 vJoy 这个虚拟游戏手柄驱动,感觉挺好玩的.但是使用时发现一个问题,C# SDK 中的程序集被分为 x86 和 x64 两个版本,如果直接在 AnyCPU 平台编译运行就有隐 ...

  2. Apache Tomcat 文件包含漏洞(CVE-2020-1938)

    2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938).该漏洞是由于Tomcat AJP协议存在缺陷 ...

  3. python 异步MySQL存库

    对于异步框架而言,这些延迟是无法接受的.因此, Twisted 提供了 twisted.enterprise.adbapi, 遵循DB-API 2.0协议的一个异步封装. adbapi 在单独的线程里 ...

  4. Vue2.0 【第三季】第1节 propsData Option 全局扩展的数据传递

    目录 Vue2.0 [第三季]第1节 propsData Option 全局扩展的数据传递 第1节 propsData Option 全局扩展的数据传递 Vue2.0 [第三季]第1节 propsDa ...

  5. 附013.Kubernetes永久存储Rook部署

    一 Rook概述 1.1 Ceph简介 Ceph是一种高度可扩展的分布式存储解决方案,提供对象.文件和块存储.在每个存储节点上,将找到Ceph存储对象的文件系统和Ceph OSD(对象存储守护程序)进 ...

  6. python3:input() 函数

    一.知识介绍: 1.input() 函数,接收任意输入,将所有输入默认为字符串处理,并返回字符串类型: 2.可以用作文本输入,如用户名,密码框的值输入: 3.语法:input("提示信息:& ...

  7. windows 下载~安装nginx

    nginx 中文文档 http://www.nginx.cn/doc/ 到nginx官网下载安装包http://nginx.org/en/download.html 解压安装包 进入windows的c ...

  8. MVC设计模式简介

    刚刚学习了MVC相关知识,在这里进行一下总结MVC设计模式提高了Java开发中的代码可读性,提高了开发效率,实乃开发利器 1在MVC中由客户端发送一个带参数的请求,经过servlet处理后做出相应的处 ...

  9. ERP系统定价模型及费用组成

    很多人选择ERP系统的时候最关心的就是费用问题,因为很多中小企业资金都是比较缺乏的,如果需要使用大量的金钱来购买ERP系统这是不现实的.你知道ERP系统的定价模型有哪些吗?你知道影响ERP系统价格的因 ...

  10. 暴力+辗转相除法——N个数求和

    题目来源 PTA 团体程序设计天梯赛-练习集 L1-009 N个数求和 (20分) https://pintia.cn/problem-sets/994805046380707840/problems ...